[Home] [Help]
PACKAGE BODY: APPS.XLA_00200_AAD_S_000006_BC_PKG
Source
1 PACKAGE BODY XLA_00200_AAD_S_000006_BC_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_BC_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:41 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_BC_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_BC_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_BC_PKG.ValidateLookupMeaning');
204 --
205 END ValidateLookupMeaning;
206 --
207 --
208
209 --
210 ---------------------------------------
211 --
212 -- PUBLIC FUNCTION
213 -- GetMeaning
214 --
215 ---------------------------------------
216 FUNCTION GetMeaning (
217 p_flex_value_set_id IN INTEGER
218 , p_flex_value IN VARCHAR2
219 , p_source_code IN VARCHAR2
220 , p_source_type_code IN VARCHAR2
221 , p_source_application_id IN INTEGER
222 )
223 RETURN VARCHAR2
224 IS
225 l_meaning_meaning VARCHAR2(4000);
226 l_array_meaning xla_ae_sources_pkg.t_array_meaning;
227 l_Idx INTEGER;
228 l_log_module VARCHAR2(240);
229 --
230 BEGIN
231 IF g_log_enabled THEN
232 l_log_module := C_DEFAULT_MODULE||'.GetMeaning';
233 END IF;
234 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
235 trace
236 (p_msg => 'BEGIN of GetMeaning'||
237 'p_flex_value_set_id = '||p_flex_value_set_id||
238 'p_flex_value = '||p_flex_value
239 ,p_level => C_LEVEL_PROCEDURE
240 ,p_module => l_log_module);
241 END IF;
242 --
243 l_array_meaning := xla_ae_sources_pkg.g_array_meaning;
244 --
245 IF p_flex_value IS NULL THEN
246
247 l_meaning_meaning := NULL;
248
249 ELSE
250
251 CASE p_flex_value_set_id
252
253 WHEN 1011404 THEN
254
255 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
256
257 trace
258 (p_msg => '-> CALL DBMS_UTILITY.get_hash_value'
259 ,p_level => C_LEVEL_PROCEDURE
260 ,p_module => l_log_module);
261
262 END IF;
263
264 l_Idx := DBMS_UTILITY.get_hash_value(TO_CHAR(p_flex_value),1,1073741824);
265
266 IF l_array_meaning.EXISTS(1011404) AND
267 l_array_meaning(1011404).array_flex_value.EXISTS(l_Idx) AND
268 l_array_meaning(1011404).array_flex_value(l_Idx) = p_flex_value THEN
269
270 l_meaning_meaning := l_array_meaning(1011404).array_meaning(l_Idx);
271
272 ELSE
273
274 SELECT NAME
275 INTO l_meaning_meaning
276 FROM HR_ALL_ORGANIZATION_UNITS_VL
277 WHERE ORGANIZATION_ID = p_flex_value
278 ;
279
280 l_array_meaning(1011404).array_flex_value(l_Idx) := p_flex_value;
281 l_array_meaning(1011404).array_meaning(l_Idx) := l_meaning_meaning;
282
283 END IF;
284
285 ELSE
286 l_meaning_meaning := NULL;
287 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
288 xla_accounting_err_pkg.build_message
289 (p_appli_s_name => 'XLA'
290 ,p_msg_name => 'XLA_AP_FLEX_VALUE_MEANING'
291 ,p_token_1 => 'VALUE_SET_NAME'
292 ,p_value_1 => xla_flex_pkg.get_value_set_name(p_flex_value_set_id)
293 ,p_token_2 => 'FLEX_VALUE'
294 ,p_value_2 => p_flex_value
295 ,p_token_3 => 'SOURCE_NAME'
296 ,p_value_3 => xla_ae_sources_pkg.GetSourceName(
297 p_source_code
298 , p_source_type_code
299 , p_source_application_id
300 )
301 ,p_token_4 => 'PRODUCT_NAME'
302 ,p_value_4 => xla_ae_journal_entry_pkg.g_cache_event.application_name
303 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
304 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
305 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
306 );
307 IF (C_LEVEL_ERROR >= g_log_level) THEN
308 trace
309 (p_msg => 'ERROR: XLA_AP_FLEX_VALUE_MEANING'
310 ,p_level => C_LEVEL_ERROR
311 ,p_module => l_log_module);
312 END IF;
313 END CASE;
314 --
315 END IF;
316 --
317 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
318
319 trace
320 (p_msg => 'return value. meaning = '||l_meaning_meaning
321 ,p_level => C_LEVEL_PROCEDURE
322 ,p_module => l_log_module);
323
324 trace
325 (p_msg => 'END of GetMeaning'
326 ,p_level => C_LEVEL_PROCEDURE
327 ,p_module => l_log_module);
328 END IF;
329 --
333 --
330 xla_ae_sources_pkg.g_array_meaning := l_array_meaning ;
331 --
332 RETURN l_meaning_meaning ;
334 EXCEPTION
335 WHEN NO_DATA_FOUND OR TOO_MANY_ROWS THEN
336 --
337 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
338 xla_accounting_err_pkg.build_message
339 (p_appli_s_name => 'XLA'
340 ,p_msg_name => 'XLA_AP_FLEX_VALUE_MEANING'
341 ,p_token_1 => 'VALUE_SET_NAME'
342 ,p_value_1 => xla_flex_pkg.get_value_set_name(p_flex_value_set_id)
343 ,p_token_2 => 'FLEX_VALUE'
344 ,p_value_2 => p_flex_value
345 ,p_token_3 => 'SOURCE_NAME'
346 ,p_value_3 => xla_ae_sources_pkg.GetSourceName(
347 p_source_code
348 , p_source_type_code
349 , p_source_application_id
350 )
351 ,p_token_4 => 'PRODUCT_NAME'
352 ,p_value_4 => xla_ae_journal_entry_pkg.g_cache_event.application_name
353 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
354 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
355 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
356 );
357
358 IF (C_LEVEL_ERROR >= g_log_level) THEN
359 trace
360 (p_msg => 'ERROR: XLA_AP_FLEX_VALUE_MEANING'
361 ,p_level => C_LEVEL_ERROR
362 ,p_module => l_log_module);
363 END IF;
364
365 RETURN NULL;
366 WHEN xla_exceptions_pkg.application_exception THEN
367 RAISE;
368 WHEN OTHERS THEN
369 xla_exceptions_pkg.raise_message
370 (p_location => 'XLA_00200_AAD_S_000006_BC_PKG.GetMeaning');
371 END GetMeaning;
372 --
373
374 ---------------------------------------
375 --
376 -- PRIVATE FUNCTION
377 -- Description_1
378 --
379 ---------------------------------------
380 FUNCTION Description_1 (
381 p_application_id IN NUMBER
382 , p_ae_header_id IN NUMBER DEFAULT NULL
383 )
384 RETURN VARCHAR2
385 IS
386 l_component_type VARCHAR2(80) ;
387 l_component_code VARCHAR2(30) ;
388 l_component_type_code VARCHAR2(1) ;
389 l_component_appl_id INTEGER ;
390 l_amb_context_code VARCHAR2(30) ;
391 l_ledger_language VARCHAR2(30) ;
392 l_source VARCHAR2(1996) ;
393 l_description VARCHAR2(2000) ;
394 l_log_module VARCHAR2(240) ;
395 BEGIN
396 IF g_log_enabled THEN
397 l_log_module := C_DEFAULT_MODULE||'.Description_1';
398 END IF;
399 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
400 trace
401 (p_msg => 'BEGIN of Description_1'
402 ,p_level => C_LEVEL_PROCEDURE
403 ,p_module => l_log_module);
404 END IF;
405
406 l_ledger_language := xla_ae_journal_entry_pkg.g_cache_ledgers_info.description_language;
407 l_component_type := 'AMB_DESCRIPTION';
408 l_component_code := 'JE_INVOICE_DESCRIPTION';
409 l_component_type_code := 'S';
410 l_component_appl_id := 200;
411 l_amb_context_code := 'DEFAULT';
412 l_source := NULL;
413 l_description := NULL;
414
415
416 l_description := null;
417 l_description := SUBSTR(l_description,1,1996);
418 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
419 trace
420 (p_msg => 'END of Description_1'
421 ,p_level => C_LEVEL_PROCEDURE
422 ,p_module => l_log_module);
423
424 END IF;
425 RETURN l_description;
426
427 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
428 trace
429 (p_msg => 'END of Description_1'
430 ,p_level => C_LEVEL_PROCEDURE
431 ,p_module => l_log_module);
432 END IF;
433 RETURN NULL;
434 EXCEPTION
435 WHEN VALUE_ERROR THEN
436 IF (C_LEVEL_EXCEPTION >= g_log_level) THEN
437 trace
438 (p_msg => 'ERROR: '||sqlerrm
439 ,p_level => C_LEVEL_EXCEPTION
440 ,p_module => l_log_module);
441 END IF;
442 RAISE;
443 WHEN xla_exceptions_pkg.application_exception THEN
444 IF (C_LEVEL_EXCEPTION >= g_log_level) THEN
445 trace
446 (p_msg => 'ERROR: '||sqlerrm
447 ,p_level => C_LEVEL_EXCEPTION
448 ,p_module => l_log_module);
449 END IF;
450 RAISE;
451 WHEN OTHERS THEN
452 xla_exceptions_pkg.raise_message
453 (p_location => 'XLA_00200_AAD_S_000006_BC_PKG.Description_1');
454 END Description_1;
455
456 ---------------------------------------
457 --
458 -- PRIVATE FUNCTION
459 -- Description_2
460 --
461 ---------------------------------------
465 --Invoice Distribution Description
462 FUNCTION Description_2 (
463 p_application_id IN NUMBER
464 , p_ae_header_id IN NUMBER DEFAULT NULL
466 , p_source_1 IN VARCHAR2
467 )
468 RETURN VARCHAR2
469 IS
470 l_component_type VARCHAR2(80) ;
471 l_component_code VARCHAR2(30) ;
472 l_component_type_code VARCHAR2(1) ;
473 l_component_appl_id INTEGER ;
474 l_amb_context_code VARCHAR2(30) ;
475 l_ledger_language VARCHAR2(30) ;
476 l_source VARCHAR2(1996) ;
477 l_description VARCHAR2(2000) ;
478 l_log_module VARCHAR2(240) ;
479 BEGIN
480 IF g_log_enabled THEN
481 l_log_module := C_DEFAULT_MODULE||'.Description_2';
482 END IF;
483 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
484 trace
485 (p_msg => 'BEGIN of Description_2'
486 ,p_level => C_LEVEL_PROCEDURE
487 ,p_module => l_log_module);
488 END IF;
489
490 l_ledger_language := xla_ae_journal_entry_pkg.g_cache_ledgers_info.description_language;
491 l_component_type := 'AMB_DESCRIPTION';
492 l_component_code := 'JE_INV_DIST_DESCRIPTION';
493 l_component_type_code := 'S';
494 l_component_appl_id := 200;
495 l_amb_context_code := 'DEFAULT';
496 l_source := NULL;
497 l_description := NULL;
498
499
500
501 l_source := SUBSTR(p_source_1,1,1996);
502 IF l_source IS NOT NULL THEN
503 l_description := SUBSTR(CONCAT(l_description,l_source),1,2000);
504 l_description := SUBSTR(CONCAT(l_description,' '),1,2000);
505 END IF;
506 l_description := SUBSTR(l_description,1,1996);
507 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
508 trace
509 (p_msg => 'END of Description_2'
510 ,p_level => C_LEVEL_PROCEDURE
511 ,p_module => l_log_module);
512
513 END IF;
514 RETURN l_description;
515
516 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
517 trace
518 (p_msg => 'END of Description_2'
519 ,p_level => C_LEVEL_PROCEDURE
520 ,p_module => l_log_module);
521 END IF;
522 RETURN NULL;
523 EXCEPTION
524 WHEN VALUE_ERROR THEN
525 IF (C_LEVEL_EXCEPTION >= g_log_level) THEN
526 trace
527 (p_msg => 'ERROR: '||sqlerrm
528 ,p_level => C_LEVEL_EXCEPTION
529 ,p_module => l_log_module);
530 END IF;
531 RAISE;
532 WHEN xla_exceptions_pkg.application_exception THEN
533 IF (C_LEVEL_EXCEPTION >= g_log_level) THEN
534 trace
535 (p_msg => 'ERROR: '||sqlerrm
536 ,p_level => C_LEVEL_EXCEPTION
537 ,p_module => l_log_module);
538 END IF;
539 RAISE;
540 WHEN OTHERS THEN
541 xla_exceptions_pkg.raise_message
542 (p_location => 'XLA_00200_AAD_S_000006_BC_PKG.Description_2');
543 END Description_2;
544
545 ---------------------------------------
546 --
547 -- PRIVATE FUNCTION
548 -- Description_3
549 --
550 ---------------------------------------
551 FUNCTION Description_3 (
552 p_application_id IN NUMBER
553 , p_ae_header_id IN NUMBER DEFAULT NULL
554 --Document Distribution Type
555 , p_source_2 IN VARCHAR2
556 --Project Name
557 , p_source_3 IN VARCHAR2
558 --Task Number
559 , p_source_4 IN VARCHAR2
560 --Expenditure Organization
561 , p_source_5 IN NUMBER
562 )
563 RETURN VARCHAR2
564 IS
565 l_component_type VARCHAR2(80) ;
566 l_component_code VARCHAR2(30) ;
567 l_component_type_code VARCHAR2(1) ;
568 l_component_appl_id INTEGER ;
569 l_amb_context_code VARCHAR2(30) ;
570 l_ledger_language VARCHAR2(30) ;
571 l_source VARCHAR2(1996) ;
572 l_description VARCHAR2(2000) ;
573 l_log_module VARCHAR2(240) ;
574 BEGIN
575 IF g_log_enabled THEN
576 l_log_module := C_DEFAULT_MODULE||'.Description_3';
577 END IF;
578 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
579 trace
580 (p_msg => 'BEGIN of Description_3'
581 ,p_level => C_LEVEL_PROCEDURE
582 ,p_module => l_log_module);
583 END IF;
584
585 l_ledger_language := xla_ae_journal_entry_pkg.g_cache_ledgers_info.description_language;
586 l_component_type := 'AMB_DESCRIPTION';
587 l_component_code := 'PROJ_REL_LINE_DESCRIPTION';
588 l_component_type_code := 'S';
589 l_component_appl_id := 200;
590 l_amb_context_code := 'DEFAULT';
591 l_source := NULL;
592 l_description := NULL;
593
594
595
596 IF
597 l_ledger_language = 'US' THEN
598 l_description := SUBSTR(CONCAT(l_description,'Invoice Distribution Type:'),1,2000);
599 l_description := SUBSTR(CONCAT(l_description,' '),1,2000);
600 END IF;
601 l_source := SUBSTR(p_source_2,1,1996);
602 IF l_source IS NOT NULL THEN
603 l_description := SUBSTR(CONCAT(l_description,l_source),1,2000);
604 l_description := SUBSTR(CONCAT(l_description,' '),1,2000);
605 END IF;
609 l_description := SUBSTR(CONCAT(l_description,' '),1,2000);
606 IF
607 l_ledger_language = 'US' THEN
608 l_description := SUBSTR(CONCAT(l_description,'- For Project -'),1,2000);
610 END IF;
611 l_source := SUBSTR(p_source_3,1,1996);
612 IF l_source IS NOT NULL THEN
613 l_description := SUBSTR(CONCAT(l_description,l_source),1,2000);
614 l_description := SUBSTR(CONCAT(l_description,' '),1,2000);
615 END IF;
616 IF
617 l_ledger_language = 'US' THEN
618 l_description := SUBSTR(CONCAT(l_description,' - and Task -'),1,2000);
619 l_description := SUBSTR(CONCAT(l_description,' '),1,2000);
620 END IF;
621 l_source := SUBSTR(p_source_4,1,1996);
622 IF l_source IS NOT NULL THEN
623 l_description := SUBSTR(CONCAT(l_description,l_source),1,2000);
624 l_description := SUBSTR(CONCAT(l_description,' '),1,2000);
625 END IF;
626 IF
627 l_ledger_language = 'US' THEN
628 l_description := SUBSTR(CONCAT(l_description,'- in Expenditure organization -'),1,2000);
629 l_description := SUBSTR(CONCAT(l_description,' '),1,2000);
630 END IF;
631 l_source := SUBSTR(TO_CHAR(
632 GetMeaning (
633 p_flex_value_set_id => 1011404
634 , p_flex_value => TO_CHAR(p_source_5)
635 , p_source_code => 'EXPENDITURE_ORGANIZATION_ID'
636 , p_source_type_code => 'S'
637 , p_source_application_id => 275
638 )
639 ),1,1996);
640 IF l_source IS NOT NULL THEN
641 l_description := SUBSTR(CONCAT(l_description,l_source),1,2000);
642 l_description := SUBSTR(CONCAT(l_description,' '),1,2000);
643 END IF;
644 l_description := SUBSTR(l_description,1,1996);
645 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
646 trace
647 (p_msg => 'END of Description_3'
648 ,p_level => C_LEVEL_PROCEDURE
649 ,p_module => l_log_module);
650
651 END IF;
652 RETURN l_description;
653
654 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
655 trace
656 (p_msg => 'END of Description_3'
657 ,p_level => C_LEVEL_PROCEDURE
658 ,p_module => l_log_module);
659 END IF;
660 RETURN NULL;
661 EXCEPTION
662 WHEN VALUE_ERROR THEN
663 IF (C_LEVEL_EXCEPTION >= g_log_level) THEN
664 trace
665 (p_msg => 'ERROR: '||sqlerrm
666 ,p_level => C_LEVEL_EXCEPTION
667 ,p_module => l_log_module);
668 END IF;
669 RAISE;
670 WHEN xla_exceptions_pkg.application_exception THEN
671 IF (C_LEVEL_EXCEPTION >= g_log_level) THEN
672 trace
673 (p_msg => 'ERROR: '||sqlerrm
674 ,p_level => C_LEVEL_EXCEPTION
675 ,p_module => l_log_module);
676 END IF;
677 RAISE;
678 WHEN OTHERS THEN
679 xla_exceptions_pkg.raise_message
680 (p_location => 'XLA_00200_AAD_S_000006_BC_PKG.Description_3');
681 END Description_3;
682
683 ---------------------------------------
684 --
685 -- PRIVATE FUNCTION
686 -- AcctDerRule_4
687 --
688 ---------------------------------------
689 FUNCTION AcctDerRule_4 (
690 p_application_id IN NUMBER
691 , p_ae_header_id IN NUMBER
692 , p_side IN VARCHAR2
693 , p_override_seg_flag IN VARCHAR2
694 --Purchase Order Rate Variance Gain Account
695 , p_source_6 IN NUMBER
696 --Automatic Offsets Value
697 , p_source_7 IN VARCHAR2
698 , p_source_7_meaning IN VARCHAR2
699 --Invoice Distribution Ledger Amount
700 , p_source_8 IN NUMBER
701 --Destination Type of the PO Distribution
702 , p_source_9 IN VARCHAR2
703 , p_source_9_meaning IN VARCHAR2
704 --Purchase Order Rate Variance Loss Account
705 , p_source_10 IN NUMBER
706 , x_transaction_coa_id OUT NOCOPY NUMBER
707 , x_accounting_coa_id OUT NOCOPY NUMBER
708 , x_flexfield_segment_code OUT NOCOPY VARCHAR2
709 , x_flex_value_set_id OUT NOCOPY NUMBER
710 , x_value_type_code OUT NOCOPY VARCHAR2
711 , x_value_combination_id OUT NOCOPY NUMBER
712 , x_value_segment_code OUT NOCOPY VARCHAR2
713 )
714 RETURN VARCHAR2
715 IS
716 l_component_type VARCHAR2(80) ;
717 l_component_code VARCHAR2(30) ;
718 l_component_type_code VARCHAR2(1) ;
719 l_component_appl_id INTEGER ;
720 l_amb_context_code VARCHAR2(30) ;
721 l_log_module VARCHAR2(240) ;
722 l_output_value VARCHAR2(30) ;
723 BEGIN
724 IF g_log_enabled THEN
725 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_4';
726 END IF;
727 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
728
729 trace
730 (p_msg => 'BEGIN of AcctDerRule_4'
731 ,p_level => C_LEVEL_PROCEDURE
732 ,p_module => l_log_module);
733
734 END IF;
735
736 l_component_type := 'AMB_ADR';
737 l_component_code := 'AP_ERV_GAIN_LOSS_NAT_ACCT_SEG';
738 l_component_type_code := 'S';
739 l_component_appl_id := 200;
740 l_amb_context_code := 'DEFAULT';
741 x_transaction_coa_id := null;
742 x_accounting_coa_id := null;
746
743 x_flexfield_segment_code := 'GL_ACCOUNT';
744 x_flex_value_set_id := null ;
745
747 IF NVL(p_source_7,'
748 ') = 'ACCOUNT_SEGMENT_VALUE' AND
749 p_source_8 < 0 AND
750 NVL(p_source_9,'
751 ') = 'INVENTORY'
752 THEN
753 --
754 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
755
756 trace
757 (p_msg => 'END of AcctDerRule_4'
758 ,p_level => C_LEVEL_PROCEDURE
759 ,p_module => l_log_module);
760
761 END IF;
762 x_value_combination_id := TO_NUMBER(p_source_6) ;
763 x_value_segment_code := 'GL_ACCOUNT' ;
764 x_value_type_code := 'S';
765 l_output_value := null;
766 RETURN l_output_value;
767
768 ELSIF NVL(p_source_7,'
769 ') = 'ACCOUNT_SEGMENT_VALUE' AND
770 p_source_8 > 0 AND
771 NVL(p_source_9,'
772 ') = 'INVENTORY'
773 THEN
774 --
775 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
776
777 trace
778 (p_msg => 'END of AcctDerRule_4'
779 ,p_level => C_LEVEL_PROCEDURE
780 ,p_module => l_log_module);
781
782 END IF;
783 x_value_combination_id := TO_NUMBER(p_source_10) ;
784 x_value_segment_code := 'GL_ACCOUNT' ;
785 x_value_type_code := 'S';
786 l_output_value := null;
787 RETURN l_output_value;
788
789 ELSE
790 IF p_override_seg_flag = 'Y' THEN
791 RETURN '#$NO_OVERRIDE#$';
792 END IF;
793 END IF;
794
795 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
796
797 trace
798 (p_msg => 'END of AcctDerRule_4(invalid)'
799 ,p_level => C_LEVEL_PROCEDURE
800 ,p_module => l_log_module);
801
802 END IF;
803
804 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
805 x_value_combination_id := null;
806 x_value_segment_code := null;
807 x_value_type_code := null;
808 l_output_value := null;
809 xla_accounting_err_pkg.build_message
810 (p_appli_s_name => 'XLA'
811 ,p_msg_name => 'XLA_AP_INVALID_ADR'
812 ,p_token_1 => 'COMPONENT_NAME'
813 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
814 l_component_type
815 , l_component_code
816 , l_component_type_code
817 , l_component_appl_id
818 , l_amb_context_code
819 )
820 ,p_token_2 => 'OWNER'
821 ,p_value_2 => xla_lookups_pkg.get_meaning(
822 'XLA_OWNER_TYPE'
823 ,l_component_type_code
824 )
825 ,p_token_3 => 'PAD_NAME'
826 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
827 ,p_token_4 => 'PAD_OWNER'
828 ,p_value_4 => xla_lookups_pkg.get_meaning(
829 'XLA_OWNER_TYPE'
830 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
831 )
832 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
833 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
834 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
835 ,p_ae_header_id => NULL
836 );
837 RETURN l_output_value;
838 EXCEPTION
839 WHEN xla_exceptions_pkg.application_exception THEN
840 RAISE;
841 WHEN OTHERS THEN
842 xla_exceptions_pkg.raise_message
843 (p_location => 'XLA_00200_AAD_S_000006_BC_PKG.AcctDerRule_4');
844 END AcctDerRule_4;
845 --
846
847 ---------------------------------------
848 --
849 -- PRIVATE FUNCTION
850 -- AcctDerRule_5
851 --
852 ---------------------------------------
853 FUNCTION AcctDerRule_5 (
854 p_application_id IN NUMBER
855 , p_ae_header_id IN NUMBER
856 , p_side IN VARCHAR2
857 , p_override_seg_flag IN VARCHAR2
858 --Automatic Offsets Value
859 , p_source_7 IN VARCHAR2
860 , p_source_7_meaning IN VARCHAR2
861 --Destination Type of the PO Distribution
862 , p_source_9 IN VARCHAR2
863 , p_source_9_meaning IN VARCHAR2
864 --Invoice Distribution Account
865 , p_source_11 IN NUMBER
866 , x_transaction_coa_id OUT NOCOPY NUMBER
867 , x_accounting_coa_id OUT NOCOPY NUMBER
868 , x_flexfield_segment_code OUT NOCOPY VARCHAR2
869 , x_flex_value_set_id OUT NOCOPY NUMBER
870 , x_value_type_code OUT NOCOPY VARCHAR2
871 , x_value_combination_id OUT NOCOPY NUMBER
872 , x_value_segment_code OUT NOCOPY VARCHAR2
873 )
874 RETURN VARCHAR2
875 IS
879 l_component_appl_id INTEGER ;
876 l_component_type VARCHAR2(80) ;
877 l_component_code VARCHAR2(30) ;
878 l_component_type_code VARCHAR2(1) ;
880 l_amb_context_code VARCHAR2(30) ;
881 l_log_module VARCHAR2(240) ;
882 l_output_value VARCHAR2(30) ;
883 BEGIN
884 IF g_log_enabled THEN
885 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_5';
886 END IF;
887 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
888
889 trace
890 (p_msg => 'BEGIN of AcctDerRule_5'
891 ,p_level => C_LEVEL_PROCEDURE
892 ,p_module => l_log_module);
893
894 END IF;
895
896 l_component_type := 'AMB_ADR';
897 l_component_code := 'AP_RELATED_DIST_BAL_SEG';
898 l_component_type_code := 'S';
899 l_component_appl_id := 200;
900 l_amb_context_code := 'DEFAULT';
901 x_transaction_coa_id := null;
902 x_accounting_coa_id := null;
903 x_flexfield_segment_code := 'GL_BALANCING';
904 x_flex_value_set_id := null ;
905
906
907 IF NVL(p_source_7,'
908 ') = 'BALANCING_SEGMENT' AND
909 NVL(p_source_9,'
910 ') = 'INVENTORY'
911 THEN
912 --
913 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
914
915 trace
916 (p_msg => 'END of AcctDerRule_5'
917 ,p_level => C_LEVEL_PROCEDURE
918 ,p_module => l_log_module);
919
920 END IF;
921 x_value_combination_id := TO_NUMBER(p_source_11) ;
922 x_value_segment_code := 'GL_BALANCING' ;
923 x_value_type_code := 'S';
924 l_output_value := null;
925 RETURN l_output_value;
926
927 ELSE
928 IF p_override_seg_flag = 'Y' THEN
929 RETURN '#$NO_OVERRIDE#$';
930 END IF;
931 END IF;
932
933 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
934
935 trace
936 (p_msg => 'END of AcctDerRule_5(invalid)'
937 ,p_level => C_LEVEL_PROCEDURE
938 ,p_module => l_log_module);
939
940 END IF;
941
942 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
943 x_value_combination_id := null;
944 x_value_segment_code := null;
945 x_value_type_code := null;
946 l_output_value := null;
947 xla_accounting_err_pkg.build_message
948 (p_appli_s_name => 'XLA'
949 ,p_msg_name => 'XLA_AP_INVALID_ADR'
950 ,p_token_1 => 'COMPONENT_NAME'
951 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
952 l_component_type
953 , l_component_code
954 , l_component_type_code
955 , l_component_appl_id
956 , l_amb_context_code
957 )
958 ,p_token_2 => 'OWNER'
959 ,p_value_2 => xla_lookups_pkg.get_meaning(
960 'XLA_OWNER_TYPE'
961 ,l_component_type_code
962 )
963 ,p_token_3 => 'PAD_NAME'
964 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
965 ,p_token_4 => 'PAD_OWNER'
966 ,p_value_4 => xla_lookups_pkg.get_meaning(
967 'XLA_OWNER_TYPE'
968 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
969 )
970 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
971 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
972 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
973 ,p_ae_header_id => NULL
974 );
975 RETURN l_output_value;
976 EXCEPTION
977 WHEN xla_exceptions_pkg.application_exception THEN
978 RAISE;
979 WHEN OTHERS THEN
980 xla_exceptions_pkg.raise_message
981 (p_location => 'XLA_00200_AAD_S_000006_BC_PKG.AcctDerRule_5');
982 END AcctDerRule_5;
983 --
984
985 ---------------------------------------
986 --
987 -- PRIVATE FUNCTION
988 -- AcctDerRule_6
989 --
990 ---------------------------------------
991 FUNCTION AcctDerRule_6 (
992 p_application_id IN NUMBER
993 , p_ae_header_id IN NUMBER
994 , p_side IN VARCHAR2
995 --Purchase Order Rate Variance Gain Account
996 , p_source_6 IN NUMBER
997 --Automatic Offsets Value
998 , p_source_7 IN VARCHAR2
999 , p_source_7_meaning IN VARCHAR2
1000 --Invoice Distribution Ledger Amount
1001 , p_source_8 IN NUMBER
1002 --Destination Type of the PO Distribution
1003 , p_source_9 IN VARCHAR2
1007 --Invoice Distribution Account
1004 , p_source_9_meaning IN VARCHAR2
1005 --Purchase Order Rate Variance Loss Account
1006 , p_source_10 IN NUMBER
1008 , p_source_11 IN NUMBER
1009 --Automatic Offsets Flag
1010 , p_source_12 IN VARCHAR2
1011 , p_source_12_meaning IN VARCHAR2
1012 , x_transaction_coa_id OUT NOCOPY NUMBER
1013 , x_accounting_coa_id OUT NOCOPY NUMBER
1014 , x_value_type_code OUT NOCOPY VARCHAR2
1015 )
1016 RETURN NUMBER
1017 IS
1018 l_component_type VARCHAR2(80) ;
1019 l_component_code VARCHAR2(30) ;
1020 l_component_type_code VARCHAR2(1) ;
1021 l_component_appl_id INTEGER ;
1022 l_amb_context_code VARCHAR2(30) ;
1023 l_log_module VARCHAR2(240) ;
1024 l_output_value NUMBER ;
1025 BEGIN
1026 IF g_log_enabled THEN
1027 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_6';
1028 END IF;
1029 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1030 trace
1031 (p_msg => 'BEGIN of AcctDerRule_6'
1032 ,p_level => C_LEVEL_PROCEDURE
1033 ,p_module => l_log_module);
1034 END IF;
1035 --
1036 l_component_type := 'AMB_ADR';
1037 l_component_code := 'AP_EXCHG_TAXEXCHG_RATE_VAR';
1038 l_component_type_code := 'S';
1039 l_component_appl_id := 200;
1040 l_amb_context_code := 'DEFAULT';
1041 x_transaction_coa_id := null;
1042 x_accounting_coa_id := null;
1043 --
1044
1045 IF NVL(p_source_9,'
1046 ') = 'EXPENSE' OR
1047 (NVL(p_source_9,'
1048 ') = 'INVENTORY' AND
1049 NVL(p_source_7,'
1050 ') = 'ACCOUNT_SEGMENT_VALUE')
1051 THEN
1052 --
1053 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1054 trace
1055 (p_msg => 'END of AcctDerRule_6'
1056 ,p_level => C_LEVEL_PROCEDURE
1057 ,p_module => l_log_module);
1058 END IF;
1059 x_value_type_code := 'S';
1060 l_output_value := TO_NUMBER(TO_NUMBER(p_source_11));
1061 RETURN l_output_value;
1062
1063 ELSIF NVL(p_source_9,'
1064 ') <> 'EXPENSE' AND
1065 p_source_8 <= 0 AND
1066 (NVL(p_source_12,'
1067 ') = 'N' OR
1068 NVL(p_source_7,'
1069 ') = 'BALANCING_SEGMENT')
1070 THEN
1071 --
1072 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1073 trace
1074 (p_msg => 'END of AcctDerRule_6'
1075 ,p_level => C_LEVEL_PROCEDURE
1076 ,p_module => l_log_module);
1077 END IF;
1078 x_value_type_code := 'S';
1079 l_output_value := TO_NUMBER(TO_NUMBER(p_source_6));
1080 RETURN l_output_value;
1081
1082 ELSIF NVL(p_source_9,'
1083 ') <> 'EXPENSE' AND
1084 p_source_8 > 0 AND
1085 (NVL(p_source_12,'
1086 ') = 'N' OR
1087 NVL(p_source_7,'
1088 ') = 'BALANCING_SEGMENT')
1089 THEN
1090 --
1091 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1092 trace
1093 (p_msg => 'END of AcctDerRule_6'
1094 ,p_level => C_LEVEL_PROCEDURE
1095 ,p_module => l_log_module);
1096 END IF;
1097 x_value_type_code := 'S';
1098 l_output_value := TO_NUMBER(TO_NUMBER(p_source_10));
1099 RETURN l_output_value;
1100
1101 END IF;
1102 --
1103 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1104 trace
1105 (p_msg => 'END of AcctDerRule_6(invalid)'
1106 ,p_level => C_LEVEL_PROCEDURE
1107 ,p_module => l_log_module);
1108 END IF;
1109 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
1110 x_value_type_code := null;
1111 l_output_value := null;
1112 xla_accounting_err_pkg.build_message
1113 (p_appli_s_name => 'XLA'
1114 ,p_msg_name => 'XLA_AP_INVALID_ADR'
1115 ,p_token_1 => 'COMPONENT_NAME'
1116 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
1117 l_component_type
1118 , l_component_code
1119 , l_component_type_code
1120 , l_component_appl_id
1121 , l_amb_context_code
1122 )
1123 ,p_token_2 => 'OWNER'
1124 ,p_value_2 => xla_lookups_pkg.get_meaning(
1125 'XLA_OWNER_TYPE'
1126 ,l_component_type_code
1127 )
1128 ,p_token_3 => 'PAD_NAME'
1129 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
1130 ,p_token_4 => 'PAD_OWNER'
1131 ,p_value_4 => xla_lookups_pkg.get_meaning(
1132 'XLA_OWNER_TYPE'
1133 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
1134 )
1138 ,p_ae_header_id => NULL
1135 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
1136 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
1137 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
1139 );
1140 RETURN l_output_value;
1141 EXCEPTION
1142 WHEN xla_exceptions_pkg.application_exception THEN
1143 RAISE;
1144 WHEN OTHERS THEN
1145 xla_exceptions_pkg.raise_message
1146 (p_location => 'XLA_00200_AAD_S_000006_BC_PKG.AcctDerRule_6');
1147 END AcctDerRule_6;
1148 --
1149
1150 ---------------------------------------
1151 --
1152 -- PRIVATE FUNCTION
1153 -- AcctDerRule_7
1154 --
1155 ---------------------------------------
1156 FUNCTION AcctDerRule_7 (
1157 p_application_id IN NUMBER
1158 , p_ae_header_id IN NUMBER
1159 , p_side IN VARCHAR2
1160 --Invoice Distribution Account
1161 , p_source_11 IN NUMBER
1162 , x_transaction_coa_id OUT NOCOPY NUMBER
1163 , x_accounting_coa_id OUT NOCOPY NUMBER
1164 , x_value_type_code OUT NOCOPY VARCHAR2
1165 )
1166 RETURN NUMBER
1167 IS
1168 l_component_type VARCHAR2(80) ;
1169 l_component_code VARCHAR2(30) ;
1170 l_component_type_code VARCHAR2(1) ;
1171 l_component_appl_id INTEGER ;
1172 l_amb_context_code VARCHAR2(30) ;
1173 l_log_module VARCHAR2(240) ;
1174 l_output_value NUMBER ;
1175 BEGIN
1176 IF g_log_enabled THEN
1177 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_7';
1178 END IF;
1179 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1180 trace
1181 (p_msg => 'BEGIN of AcctDerRule_7'
1182 ,p_level => C_LEVEL_PROCEDURE
1183 ,p_module => l_log_module);
1184 END IF;
1185 --
1186 l_component_type := 'AMB_ADR';
1187 l_component_code := 'AP_INVOICE_DIST';
1188 l_component_type_code := 'S';
1189 l_component_appl_id := 200;
1190 l_amb_context_code := 'DEFAULT';
1191 x_transaction_coa_id := null;
1192 x_accounting_coa_id := null;
1193 --
1194
1195 --
1196 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1197 trace
1198 (p_msg => 'END of AcctDerRule_7'
1199 ,p_level => C_LEVEL_PROCEDURE
1200 ,p_module => l_log_module);
1201 END IF;
1202 x_value_type_code := 'S';
1203 l_output_value := TO_NUMBER(TO_NUMBER(p_source_11));
1204 RETURN l_output_value;
1205
1206 --
1207 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1208 trace
1209 (p_msg => 'END of AcctDerRule_7(invalid)'
1210 ,p_level => C_LEVEL_PROCEDURE
1211 ,p_module => l_log_module);
1212 END IF;
1213 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
1214 x_value_type_code := null;
1215 l_output_value := null;
1216 xla_accounting_err_pkg.build_message
1217 (p_appli_s_name => 'XLA'
1218 ,p_msg_name => 'XLA_AP_INVALID_ADR'
1219 ,p_token_1 => 'COMPONENT_NAME'
1220 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
1221 l_component_type
1222 , l_component_code
1223 , l_component_type_code
1224 , l_component_appl_id
1225 , l_amb_context_code
1226 )
1227 ,p_token_2 => 'OWNER'
1228 ,p_value_2 => xla_lookups_pkg.get_meaning(
1229 'XLA_OWNER_TYPE'
1230 ,l_component_type_code
1231 )
1232 ,p_token_3 => 'PAD_NAME'
1233 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
1234 ,p_token_4 => 'PAD_OWNER'
1235 ,p_value_4 => xla_lookups_pkg.get_meaning(
1236 'XLA_OWNER_TYPE'
1237 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
1238 )
1239 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
1240 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
1241 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
1242 ,p_ae_header_id => NULL
1243 );
1244 RETURN l_output_value;
1245 EXCEPTION
1246 WHEN xla_exceptions_pkg.application_exception THEN
1247 RAISE;
1248 WHEN OTHERS THEN
1249 xla_exceptions_pkg.raise_message
1250 (p_location => 'XLA_00200_AAD_S_000006_BC_PKG.AcctDerRule_7');
1251 END AcctDerRule_7;
1252 --
1253
1254 ---------------------------------------
1255 --
1259 ---------------------------------------
1256 -- PRIVATE FUNCTION
1257 -- AcctDerRule_8
1258 --
1260 FUNCTION AcctDerRule_8 (
1261 p_application_id IN NUMBER
1262 , p_ae_header_id IN NUMBER
1263 , p_side IN VARCHAR2
1264 --Self-Assessed Tax Account
1265 , p_source_13 IN NUMBER
1266 , x_transaction_coa_id OUT NOCOPY NUMBER
1267 , x_accounting_coa_id OUT NOCOPY NUMBER
1268 , x_value_type_code OUT NOCOPY VARCHAR2
1269 )
1270 RETURN NUMBER
1271 IS
1272 l_component_type VARCHAR2(80) ;
1273 l_component_code VARCHAR2(30) ;
1274 l_component_type_code VARCHAR2(1) ;
1275 l_component_appl_id INTEGER ;
1276 l_amb_context_code VARCHAR2(30) ;
1277 l_log_module VARCHAR2(240) ;
1278 l_output_value NUMBER ;
1279 BEGIN
1280 IF g_log_enabled THEN
1281 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_8';
1282 END IF;
1283 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1284 trace
1285 (p_msg => 'BEGIN of AcctDerRule_8'
1286 ,p_level => C_LEVEL_PROCEDURE
1287 ,p_module => l_log_module);
1288 END IF;
1289 --
1290 l_component_type := 'AMB_ADR';
1291 l_component_code := 'AP_SELF_ASSESSED_TAX';
1292 l_component_type_code := 'S';
1293 l_component_appl_id := 200;
1294 l_amb_context_code := 'DEFAULT';
1295 x_transaction_coa_id := null;
1296 x_accounting_coa_id := null;
1297 --
1298
1299 --
1300 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1301 trace
1302 (p_msg => 'END of AcctDerRule_8'
1303 ,p_level => C_LEVEL_PROCEDURE
1304 ,p_module => l_log_module);
1305 END IF;
1306 x_value_type_code := 'S';
1307 l_output_value := TO_NUMBER(TO_NUMBER(p_source_13));
1308 RETURN l_output_value;
1309
1310 --
1311 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1312 trace
1313 (p_msg => 'END of AcctDerRule_8(invalid)'
1314 ,p_level => C_LEVEL_PROCEDURE
1315 ,p_module => l_log_module);
1316 END IF;
1317 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
1318 x_value_type_code := null;
1319 l_output_value := null;
1320 xla_accounting_err_pkg.build_message
1321 (p_appli_s_name => 'XLA'
1322 ,p_msg_name => 'XLA_AP_INVALID_ADR'
1323 ,p_token_1 => 'COMPONENT_NAME'
1324 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
1325 l_component_type
1326 , l_component_code
1327 , l_component_type_code
1328 , l_component_appl_id
1329 , l_amb_context_code
1330 )
1331 ,p_token_2 => 'OWNER'
1332 ,p_value_2 => xla_lookups_pkg.get_meaning(
1333 'XLA_OWNER_TYPE'
1334 ,l_component_type_code
1335 )
1336 ,p_token_3 => 'PAD_NAME'
1337 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
1338 ,p_token_4 => 'PAD_OWNER'
1339 ,p_value_4 => xla_lookups_pkg.get_meaning(
1340 'XLA_OWNER_TYPE'
1341 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
1342 )
1343 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
1344 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
1345 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
1346 ,p_ae_header_id => NULL
1347 );
1348 RETURN l_output_value;
1349 EXCEPTION
1350 WHEN xla_exceptions_pkg.application_exception THEN
1351 RAISE;
1352 WHEN OTHERS THEN
1353 xla_exceptions_pkg.raise_message
1354 (p_location => 'XLA_00200_AAD_S_000006_BC_PKG.AcctDerRule_8');
1355 END AcctDerRule_8;
1356 --
1357
1358 ---------------------------------------
1359 --
1360 -- PRIVATE FUNCTION
1361 -- AcctDerRule_9
1362 --
1363 ---------------------------------------
1364 FUNCTION AcctDerRule_9 (
1365 p_application_id IN NUMBER
1366 , p_ae_header_id IN NUMBER
1367 , p_side IN VARCHAR2
1368 --Budget Account
1369 , p_source_14 IN NUMBER
1370 , x_transaction_coa_id OUT NOCOPY NUMBER
1371 , x_accounting_coa_id OUT NOCOPY NUMBER
1372 , x_value_type_code OUT NOCOPY VARCHAR2
1373 )
1374 RETURN NUMBER
1375 IS
1376 l_component_type VARCHAR2(80) ;
1377 l_component_code VARCHAR2(30) ;
1378 l_component_type_code VARCHAR2(1) ;
1382 l_output_value NUMBER ;
1379 l_component_appl_id INTEGER ;
1380 l_amb_context_code VARCHAR2(30) ;
1381 l_log_module VARCHAR2(240) ;
1383 BEGIN
1384 IF g_log_enabled THEN
1385 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_9';
1386 END IF;
1387 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1388 trace
1389 (p_msg => 'BEGIN of AcctDerRule_9'
1390 ,p_level => C_LEVEL_PROCEDURE
1391 ,p_module => l_log_module);
1392 END IF;
1393 --
1394 l_component_type := 'AMB_ADR';
1395 l_component_code := 'PROJ_BURDENED_ENC_ACCT_RULE';
1396 l_component_type_code := 'S';
1397 l_component_appl_id := 200;
1398 l_amb_context_code := 'DEFAULT';
1399 x_transaction_coa_id := null;
1400 x_accounting_coa_id := null;
1401 --
1402
1403 --
1404 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1405 trace
1406 (p_msg => 'END of AcctDerRule_9'
1407 ,p_level => C_LEVEL_PROCEDURE
1408 ,p_module => l_log_module);
1409 END IF;
1410 x_value_type_code := 'S';
1411 l_output_value := TO_NUMBER(TO_NUMBER(p_source_14));
1412 RETURN l_output_value;
1413
1414 --
1415 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1416 trace
1417 (p_msg => 'END of AcctDerRule_9(invalid)'
1418 ,p_level => C_LEVEL_PROCEDURE
1419 ,p_module => l_log_module);
1420 END IF;
1421 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
1422 x_value_type_code := null;
1423 l_output_value := null;
1424 xla_accounting_err_pkg.build_message
1425 (p_appli_s_name => 'XLA'
1426 ,p_msg_name => 'XLA_AP_INVALID_ADR'
1427 ,p_token_1 => 'COMPONENT_NAME'
1428 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
1429 l_component_type
1430 , l_component_code
1431 , l_component_type_code
1432 , l_component_appl_id
1433 , l_amb_context_code
1434 )
1435 ,p_token_2 => 'OWNER'
1436 ,p_value_2 => xla_lookups_pkg.get_meaning(
1437 'XLA_OWNER_TYPE'
1438 ,l_component_type_code
1439 )
1440 ,p_token_3 => 'PAD_NAME'
1441 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
1442 ,p_token_4 => 'PAD_OWNER'
1443 ,p_value_4 => xla_lookups_pkg.get_meaning(
1444 'XLA_OWNER_TYPE'
1445 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
1446 )
1447 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
1448 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
1449 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
1450 ,p_ae_header_id => NULL
1451 );
1452 RETURN l_output_value;
1453 EXCEPTION
1454 WHEN xla_exceptions_pkg.application_exception THEN
1455 RAISE;
1456 WHEN OTHERS THEN
1457 xla_exceptions_pkg.raise_message
1458 (p_location => 'XLA_00200_AAD_S_000006_BC_PKG.AcctDerRule_9');
1459 END AcctDerRule_9;
1460 --
1461
1462 ---------------------------------------
1463 --
1464 -- PRIVATE FUNCTION
1465 -- AcctDerRule_10
1466 --
1467 ---------------------------------------
1468 FUNCTION AcctDerRule_10 (
1469 p_application_id IN NUMBER
1470 , p_ae_header_id IN NUMBER
1471 , p_side IN VARCHAR2
1472 --Budget Account
1473 , p_source_14 IN NUMBER
1474 , x_transaction_coa_id OUT NOCOPY NUMBER
1475 , x_accounting_coa_id OUT NOCOPY NUMBER
1476 , x_value_type_code OUT NOCOPY VARCHAR2
1477 )
1478 RETURN NUMBER
1479 IS
1480 l_component_type VARCHAR2(80) ;
1481 l_component_code VARCHAR2(30) ;
1482 l_component_type_code VARCHAR2(1) ;
1483 l_component_appl_id INTEGER ;
1484 l_amb_context_code VARCHAR2(30) ;
1485 l_log_module VARCHAR2(240) ;
1486 l_output_value NUMBER ;
1487 BEGIN
1488 IF g_log_enabled THEN
1489 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_10';
1490 END IF;
1491 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1492 trace
1493 (p_msg => 'BEGIN of AcctDerRule_10'
1494 ,p_level => C_LEVEL_PROCEDURE
1495 ,p_module => l_log_module);
1496 END IF;
1497 --
1498 l_component_type := 'AMB_ADR';
1499 l_component_code := 'PROJ_BURDEN_ENC_ACCT_RULE';
1500 l_component_type_code := 'S';
1501 l_component_appl_id := 200;
1502 l_amb_context_code := 'DEFAULT';
1503 x_transaction_coa_id := null;
1504 x_accounting_coa_id := null;
1505 --
1506
1507 --
1511 ,p_level => C_LEVEL_PROCEDURE
1508 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1509 trace
1510 (p_msg => 'END of AcctDerRule_10'
1512 ,p_module => l_log_module);
1513 END IF;
1514 x_value_type_code := 'S';
1515 l_output_value := TO_NUMBER(TO_NUMBER(p_source_14));
1516 RETURN l_output_value;
1517
1518 --
1519 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1520 trace
1521 (p_msg => 'END of AcctDerRule_10(invalid)'
1522 ,p_level => C_LEVEL_PROCEDURE
1523 ,p_module => l_log_module);
1524 END IF;
1525 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
1526 x_value_type_code := null;
1527 l_output_value := null;
1528 xla_accounting_err_pkg.build_message
1529 (p_appli_s_name => 'XLA'
1530 ,p_msg_name => 'XLA_AP_INVALID_ADR'
1531 ,p_token_1 => 'COMPONENT_NAME'
1532 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
1533 l_component_type
1534 , l_component_code
1535 , l_component_type_code
1536 , l_component_appl_id
1537 , l_amb_context_code
1538 )
1539 ,p_token_2 => 'OWNER'
1540 ,p_value_2 => xla_lookups_pkg.get_meaning(
1541 'XLA_OWNER_TYPE'
1542 ,l_component_type_code
1543 )
1544 ,p_token_3 => 'PAD_NAME'
1545 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
1546 ,p_token_4 => 'PAD_OWNER'
1547 ,p_value_4 => xla_lookups_pkg.get_meaning(
1548 'XLA_OWNER_TYPE'
1549 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
1550 )
1551 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
1552 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
1553 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
1554 ,p_ae_header_id => NULL
1555 );
1556 RETURN l_output_value;
1557 EXCEPTION
1558 WHEN xla_exceptions_pkg.application_exception THEN
1559 RAISE;
1560 WHEN OTHERS THEN
1561 xla_exceptions_pkg.raise_message
1562 (p_location => 'XLA_00200_AAD_S_000006_BC_PKG.AcctDerRule_10');
1563 END AcctDerRule_10;
1564 --
1565
1566 ---------------------------------------
1567 --
1568 -- PRIVATE FUNCTION
1569 -- AcctDerRule_11
1570 --
1571 ---------------------------------------
1572 FUNCTION AcctDerRule_11 (
1573 p_application_id IN NUMBER
1574 , p_ae_header_id IN NUMBER
1575 , p_side IN VARCHAR2
1576 --Budget Account
1577 , p_source_14 IN NUMBER
1578 , x_transaction_coa_id OUT NOCOPY NUMBER
1579 , x_accounting_coa_id OUT NOCOPY NUMBER
1580 , x_value_type_code OUT NOCOPY VARCHAR2
1581 )
1582 RETURN NUMBER
1583 IS
1584 l_component_type VARCHAR2(80) ;
1585 l_component_code VARCHAR2(30) ;
1586 l_component_type_code VARCHAR2(1) ;
1587 l_component_appl_id INTEGER ;
1588 l_amb_context_code VARCHAR2(30) ;
1589 l_log_module VARCHAR2(240) ;
1590 l_output_value NUMBER ;
1591 BEGIN
1592 IF g_log_enabled THEN
1593 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_11';
1594 END IF;
1595 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1596 trace
1597 (p_msg => 'BEGIN of AcctDerRule_11'
1598 ,p_level => C_LEVEL_PROCEDURE
1599 ,p_module => l_log_module);
1600 END IF;
1601 --
1602 l_component_type := 'AMB_ADR';
1603 l_component_code := 'PROJ_PREPAY_BURDENED_ENC_RULE';
1604 l_component_type_code := 'S';
1605 l_component_appl_id := 200;
1606 l_amb_context_code := 'DEFAULT';
1607 x_transaction_coa_id := null;
1608 x_accounting_coa_id := null;
1609 --
1610
1611 --
1612 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1613 trace
1614 (p_msg => 'END of AcctDerRule_11'
1615 ,p_level => C_LEVEL_PROCEDURE
1616 ,p_module => l_log_module);
1617 END IF;
1618 x_value_type_code := 'S';
1619 l_output_value := TO_NUMBER(TO_NUMBER(p_source_14));
1620 RETURN l_output_value;
1621
1622 --
1623 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1624 trace
1625 (p_msg => 'END of AcctDerRule_11(invalid)'
1626 ,p_level => C_LEVEL_PROCEDURE
1627 ,p_module => l_log_module);
1628 END IF;
1629 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
1630 x_value_type_code := null;
1631 l_output_value := null;
1632 xla_accounting_err_pkg.build_message
1636 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
1633 (p_appli_s_name => 'XLA'
1634 ,p_msg_name => 'XLA_AP_INVALID_ADR'
1635 ,p_token_1 => 'COMPONENT_NAME'
1637 l_component_type
1638 , l_component_code
1639 , l_component_type_code
1640 , l_component_appl_id
1641 , l_amb_context_code
1642 )
1643 ,p_token_2 => 'OWNER'
1644 ,p_value_2 => xla_lookups_pkg.get_meaning(
1645 'XLA_OWNER_TYPE'
1646 ,l_component_type_code
1647 )
1648 ,p_token_3 => 'PAD_NAME'
1649 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
1650 ,p_token_4 => 'PAD_OWNER'
1651 ,p_value_4 => xla_lookups_pkg.get_meaning(
1652 'XLA_OWNER_TYPE'
1653 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
1654 )
1655 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
1656 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
1657 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
1658 ,p_ae_header_id => NULL
1659 );
1660 RETURN l_output_value;
1661 EXCEPTION
1662 WHEN xla_exceptions_pkg.application_exception THEN
1663 RAISE;
1664 WHEN OTHERS THEN
1665 xla_exceptions_pkg.raise_message
1666 (p_location => 'XLA_00200_AAD_S_000006_BC_PKG.AcctDerRule_11');
1667 END AcctDerRule_11;
1668 --
1669
1670 ---------------------------------------
1671 --
1672 -- PRIVATE FUNCTION
1673 -- AcctDerRule_12
1674 --
1675 ---------------------------------------
1676 FUNCTION AcctDerRule_12 (
1677 p_application_id IN NUMBER
1678 , p_ae_header_id IN NUMBER
1679 , p_side IN VARCHAR2
1680 --Budget Account
1681 , p_source_14 IN NUMBER
1682 , x_transaction_coa_id OUT NOCOPY NUMBER
1683 , x_accounting_coa_id OUT NOCOPY NUMBER
1684 , x_value_type_code OUT NOCOPY VARCHAR2
1685 )
1686 RETURN NUMBER
1687 IS
1688 l_component_type VARCHAR2(80) ;
1689 l_component_code VARCHAR2(30) ;
1690 l_component_type_code VARCHAR2(1) ;
1691 l_component_appl_id INTEGER ;
1692 l_amb_context_code VARCHAR2(30) ;
1693 l_log_module VARCHAR2(240) ;
1694 l_output_value NUMBER ;
1695 BEGIN
1696 IF g_log_enabled THEN
1697 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_12';
1698 END IF;
1699 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1700 trace
1701 (p_msg => 'BEGIN of AcctDerRule_12'
1702 ,p_level => C_LEVEL_PROCEDURE
1703 ,p_module => l_log_module);
1704 END IF;
1705 --
1706 l_component_type := 'AMB_ADR';
1707 l_component_code := 'PROJ_PREPAY_ENC_ACCT_RULE';
1708 l_component_type_code := 'S';
1709 l_component_appl_id := 200;
1710 l_amb_context_code := 'DEFAULT';
1711 x_transaction_coa_id := null;
1712 x_accounting_coa_id := null;
1713 --
1714
1715 --
1716 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1717 trace
1718 (p_msg => 'END of AcctDerRule_12'
1719 ,p_level => C_LEVEL_PROCEDURE
1720 ,p_module => l_log_module);
1721 END IF;
1722 x_value_type_code := 'S';
1723 l_output_value := TO_NUMBER(TO_NUMBER(p_source_14));
1724 RETURN l_output_value;
1725
1726 --
1727 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1728 trace
1729 (p_msg => 'END of AcctDerRule_12(invalid)'
1730 ,p_level => C_LEVEL_PROCEDURE
1731 ,p_module => l_log_module);
1732 END IF;
1733 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
1734 x_value_type_code := null;
1735 l_output_value := null;
1736 xla_accounting_err_pkg.build_message
1737 (p_appli_s_name => 'XLA'
1738 ,p_msg_name => 'XLA_AP_INVALID_ADR'
1739 ,p_token_1 => 'COMPONENT_NAME'
1740 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
1741 l_component_type
1742 , l_component_code
1743 , l_component_type_code
1744 , l_component_appl_id
1745 , l_amb_context_code
1746 )
1747 ,p_token_2 => 'OWNER'
1751 )
1748 ,p_value_2 => xla_lookups_pkg.get_meaning(
1749 'XLA_OWNER_TYPE'
1750 ,l_component_type_code
1752 ,p_token_3 => 'PAD_NAME'
1753 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
1754 ,p_token_4 => 'PAD_OWNER'
1755 ,p_value_4 => xla_lookups_pkg.get_meaning(
1756 'XLA_OWNER_TYPE'
1757 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
1758 )
1759 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
1760 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
1761 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
1762 ,p_ae_header_id => NULL
1763 );
1764 RETURN l_output_value;
1765 EXCEPTION
1766 WHEN xla_exceptions_pkg.application_exception THEN
1767 RAISE;
1768 WHEN OTHERS THEN
1769 xla_exceptions_pkg.raise_message
1770 (p_location => 'XLA_00200_AAD_S_000006_BC_PKG.AcctDerRule_12');
1771 END AcctDerRule_12;
1772 --
1773
1774 ---------------------------------------
1775 --
1776 -- PRIVATE FUNCTION
1777 -- AcctDerRule_13
1778 --
1779 ---------------------------------------
1780 FUNCTION AcctDerRule_13 (
1781 p_application_id IN NUMBER
1782 , p_ae_header_id IN NUMBER
1783 , p_side IN VARCHAR2
1784 --Budget Account
1785 , p_source_14 IN NUMBER
1786 , x_transaction_coa_id OUT NOCOPY NUMBER
1787 , x_accounting_coa_id OUT NOCOPY NUMBER
1788 , x_value_type_code OUT NOCOPY VARCHAR2
1789 )
1790 RETURN NUMBER
1791 IS
1792 l_component_type VARCHAR2(80) ;
1793 l_component_code VARCHAR2(30) ;
1794 l_component_type_code VARCHAR2(1) ;
1795 l_component_appl_id INTEGER ;
1796 l_amb_context_code VARCHAR2(30) ;
1797 l_log_module VARCHAR2(240) ;
1798 l_output_value NUMBER ;
1799 BEGIN
1800 IF g_log_enabled THEN
1801 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_13';
1802 END IF;
1803 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1804 trace
1805 (p_msg => 'BEGIN of AcctDerRule_13'
1806 ,p_level => C_LEVEL_PROCEDURE
1807 ,p_module => l_log_module);
1808 END IF;
1809 --
1810 l_component_type := 'AMB_ADR';
1811 l_component_code := 'PROJ_PROJ_BURDEN_ENC_ACCT_RULE';
1812 l_component_type_code := 'S';
1813 l_component_appl_id := 200;
1814 l_amb_context_code := 'DEFAULT';
1815 x_transaction_coa_id := null;
1816 x_accounting_coa_id := null;
1817 --
1818
1819 --
1820 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1821 trace
1822 (p_msg => 'END of AcctDerRule_13'
1823 ,p_level => C_LEVEL_PROCEDURE
1824 ,p_module => l_log_module);
1825 END IF;
1826 x_value_type_code := 'S';
1827 l_output_value := TO_NUMBER(TO_NUMBER(p_source_14));
1828 RETURN l_output_value;
1829
1830 --
1831 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1832 trace
1833 (p_msg => 'END of AcctDerRule_13(invalid)'
1834 ,p_level => C_LEVEL_PROCEDURE
1835 ,p_module => l_log_module);
1836 END IF;
1837 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
1838 x_value_type_code := null;
1839 l_output_value := null;
1840 xla_accounting_err_pkg.build_message
1841 (p_appli_s_name => 'XLA'
1842 ,p_msg_name => 'XLA_AP_INVALID_ADR'
1843 ,p_token_1 => 'COMPONENT_NAME'
1844 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
1845 l_component_type
1846 , l_component_code
1847 , l_component_type_code
1848 , l_component_appl_id
1849 , l_amb_context_code
1850 )
1851 ,p_token_2 => 'OWNER'
1852 ,p_value_2 => xla_lookups_pkg.get_meaning(
1853 'XLA_OWNER_TYPE'
1854 ,l_component_type_code
1855 )
1856 ,p_token_3 => 'PAD_NAME'
1857 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
1858 ,p_token_4 => 'PAD_OWNER'
1859 ,p_value_4 => xla_lookups_pkg.get_meaning(
1860 'XLA_OWNER_TYPE'
1861 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
1865 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
1862 )
1863 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
1864 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
1866 ,p_ae_header_id => NULL
1867 );
1868 RETURN l_output_value;
1869 EXCEPTION
1870 WHEN xla_exceptions_pkg.application_exception THEN
1871 RAISE;
1872 WHEN OTHERS THEN
1873 xla_exceptions_pkg.raise_message
1874 (p_location => 'XLA_00200_AAD_S_000006_BC_PKG.AcctDerRule_13');
1875 END AcctDerRule_13;
1876 --
1877
1878 ---------------------------------------
1879 --
1880 -- PRIVATE FUNCTION
1881 -- AcctLineType_14
1882 --
1883 ---------------------------------------
1884 PROCEDURE AcctLineType_14 (
1885 p_application_id IN NUMBER
1886 ,p_event_id IN NUMBER
1887 ,p_calculate_acctd_flag IN VARCHAR2
1888 ,p_calculate_g_l_flag IN VARCHAR2
1889 ,p_actual_flag IN OUT VARCHAR2
1890 ,p_balance_type_code OUT VARCHAR2
1891 ,p_gain_or_loss_ref OUT VARCHAR2
1892
1893 --Invoice Distribution Description
1894 , p_source_1 IN VARCHAR2
1895 --Invoice Distribution Account
1896 , p_source_11 IN NUMBER
1897 --Invoice Distribution Type
1898 , p_source_15 IN VARCHAR2
1899 , p_source_15_meaning IN VARCHAR2
1900 --Amount for Variance Amount
1901 , p_source_16 IN NUMBER
1902 --Purchasing Encumbrance Option
1903 , p_source_17 IN VARCHAR2
1904 , p_source_17_meaning IN VARCHAR2
1905 --Accrue on Receipt Option
1906 , p_source_18 IN VARCHAR2
1907 , p_source_18_meaning IN VARCHAR2
1908 --Accounting Reversal Indicator
1909 , p_source_19 IN VARCHAR2
1910 --Distribution Link Type
1911 , p_source_21 IN VARCHAR2
1912 --Allocation to Main Distribution Identifier
1913 , p_source_23 IN NUMBER
1914 --Invoice Identifier
1915 , p_source_24 IN NUMBER
1916 --Business Flow Accounts Payable Application Identifier
1917 , p_source_25 IN NUMBER
1918 --Business Flow Invoice Distribution Type
1919 , p_source_26 IN VARCHAR2
1920 --Business Flow Invoice Entity Code
1921 , p_source_27 IN VARCHAR2
1922 --Business Flow Invoice Distribution Identifier
1923 , p_source_28 IN NUMBER
1924 --Business Flow Invoice Identifier
1925 , p_source_29 IN NUMBER
1926 --Invoice Distribution Identifier
1927 , p_source_30 IN NUMBER
1928 --Payables Encumbrance Upgrade Credit Account
1929 , p_source_31 IN NUMBER
1930 --Payables Encumbrance Upgrade Credit Amount
1931 , p_source_32 IN NUMBER
1932 --Invoice Currency Code
1933 , p_source_33 IN VARCHAR2
1934 --Payables Encumbrance Upgrade Credit Base Amount
1935 , p_source_34 IN NUMBER
1936 --Payables Encumbrance Upgrade Debit Account
1937 , p_source_35 IN NUMBER
1938 --Payables Encumbrance Upgrade Debit Amount
1939 , p_source_36 IN NUMBER
1940 --Payables Encumbrance Upgrade Debit Base Amount
1941 , p_source_37 IN NUMBER
1942 --Payables Encumbrance Upgrade Option
1943 , p_source_38 IN VARCHAR2
1944 --Invoice Exchange Date
1945 , p_source_39 IN DATE
1946 --Invoice Exchange Rate
1947 , p_source_40 IN NUMBER
1948 --Invoice Exchange Rate Type
1949 , p_source_41 IN VARCHAR2
1950 --Variance Amount in Ledger Currency
1951 , p_source_42 IN NUMBER
1952 --Deferred Accounting End Date
1953 , p_source_43 IN DATE
1954 --Deferred Accounting Option
1955 , p_source_44 IN VARCHAR2
1956 --Deferred Accounting Start Date
1957 , p_source_45 IN DATE
1958 --Override Accounted Amount Indicator
1959 , p_source_46 IN VARCHAR2
1960 , p_source_46_meaning IN VARCHAR2
1961 --Invoice Supplier Identifier
1962 , p_source_47 IN NUMBER
1963 --Invoice Supplier Site Identifier
1964 , p_source_48 IN NUMBER
1965 --Third Party Type
1966 , p_source_49 IN VARCHAR2
1967 --Parent Reversal Identifier
1968 , p_source_50 IN NUMBER
1969 --Invoice Distribution Statistical Amount
1970 , p_source_51 IN NUMBER
1971 --Invoice Distribution Tax Line Identifier
1972 , p_source_52 IN NUMBER
1973 --Invoice Distribution Tax Distribution Identifier from Tax
1974 , p_source_53 IN NUMBER
1975 --Invoice Distribution Summary Tax Line Identifier
1976 , p_source_54 IN NUMBER
1977 --Payables Upgrade Credit Encumbrance Type Identifier
1978 , p_source_55 IN NUMBER
1979 --Payables Upgrade Debit Encumbrance Type Identifier
1980 , p_source_56 IN NUMBER
1981 )
1982 IS
1983
1984 l_component_type VARCHAR2(80);
1985 l_component_code VARCHAR2(30);
1986 l_component_type_code VARCHAR2(1);
1987 l_component_appl_id INTEGER;
1988 l_amb_context_code VARCHAR2(30);
1989 l_entity_code VARCHAR2(30);
1990 l_event_class_code VARCHAR2(30);
1991 l_ae_header_id NUMBER;
1992 l_event_type_code VARCHAR2(30);
1996 -- adr variables
1993 l_line_definition_code VARCHAR2(30);
1994 l_line_definition_owner_code VARCHAR2(1);
1995 --
1997 l_segment VARCHAR2(30);
1998 l_ccid NUMBER;
1999 l_adr_transaction_coa_id NUMBER;
2000 l_adr_accounting_coa_id NUMBER;
2001 l_adr_flexfield_segment_code VARCHAR2(30);
2002 l_adr_flex_value_set_id NUMBER;
2003 l_adr_value_type_code VARCHAR2(30);
2004 l_adr_value_combination_id NUMBER;
2005 l_adr_value_segment_code VARCHAR2(30);
2006
2007 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
2008 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
2009 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
2010 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
2011
2012 -- 4262811 Variables ------------------------------------------------------------------------------------------
2013 l_entered_amt_idx NUMBER;
2014 l_accted_amt_idx NUMBER;
2015 l_acc_rev_flag VARCHAR2(1);
2016 l_accrual_line_num NUMBER;
2017 l_tmp_amt NUMBER;
2018 l_acc_rev_natural_side_code VARCHAR2(1);
2019
2020 l_num_entries NUMBER;
2021 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
2022 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
2023 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
2024 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
2025 l_recog_line_1 NUMBER;
2026 l_recog_line_2 NUMBER;
2027
2028 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
2029 l_bflow_applied_to_amt NUMBER; -- 5132302
2030 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
2031
2032 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
2033
2034 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
2035 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
2036
2037 ---------------------------------------------------------------------------------------------------------------
2038
2039
2040 --
2041 -- bulk performance
2042 --
2043 l_balance_type_code VARCHAR2(1);
2044 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
2045 l_log_module VARCHAR2(240);
2046
2047 --
2048 -- Upgrade strategy
2049 --
2050 l_actual_upg_option VARCHAR2(1);
2051 l_enc_upg_option VARCHAR2(1);
2052
2053 --
2054 BEGIN
2055 --
2056 IF g_log_enabled THEN
2057 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_14';
2058 END IF;
2059 --
2060 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
2061
2062 trace
2063 (p_msg => 'BEGIN of AcctLineType_14'
2064 ,p_level => C_LEVEL_PROCEDURE
2065 ,p_module => l_log_module);
2066
2067 END IF;
2068 --
2069 l_component_type := 'AMB_JLT';
2070 l_component_code := 'AP_AMOUNT_VARIANCE_CM_ENC_DR';
2071 l_component_type_code := 'S';
2072 l_component_appl_id := 200;
2073 l_amb_context_code := 'DEFAULT';
2074 l_entity_code := 'AP_INVOICES';
2075 l_event_class_code := 'CREDIT MEMOS';
2076 l_event_type_code := 'CREDIT MEMOS_ALL';
2077 l_line_definition_owner_code := 'S';
2078 l_line_definition_code := 'ENC_CM_ALL';
2079 --
2080 l_balance_type_code := 'E';
2081 l_segment := NULL;
2082 l_ccid := NULL;
2083 l_adr_transaction_coa_id := NULL;
2084 l_adr_accounting_coa_id := NULL;
2085 l_adr_flexfield_segment_code := NULL;
2086 l_adr_flex_value_set_id := NULL;
2087 l_adr_value_type_code := NULL;
2088 l_adr_value_combination_id := NULL;
2089 l_adr_value_segment_code := NULL;
2090
2091 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
2092 l_bflow_class_code := 'AP_INV_ENCUM'; -- 4219869 Business Flow
2093 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
2094 l_budgetary_control_flag := 'Y';
2095
2096 l_bflow_applied_to_amt_idx := NULL; -- 5132302
2097 l_bflow_applied_to_amt := NULL; -- 5132302
2098 l_entered_amt_idx := NULL; -- 4262811
2099 l_accted_amt_idx := NULL; -- 4262811
2100 l_acc_rev_flag := NULL; -- 4262811
2101 l_accrual_line_num := NULL; -- 4262811
2102 l_tmp_amt := NULL; -- 4262811
2103 --
2104 IF ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
2105 (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
2106 return;
2107 END IF;
2108
2109 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
2110 l_balance_type_code <> 'B' THEN
2111 IF NVL(p_source_15,'
2112 ') = 'ITEM' AND
2113 p_source_16 IS NOT NULL AND
2114 NVL(p_source_17,'
2115 ') = 'Y' AND
2116 NVL(p_source_18,'
2120 --
2117 ') <> 'Y'
2118 THEN
2119
2121 XLA_AE_LINES_PKG.SetNewLine;
2122
2123 p_balance_type_code := l_balance_type_code;
2124 -- set the flag so later we will know whether the gain loss line needs to be created
2125
2126 IF(l_balance_type_code = 'A' ) THEN
2127 p_actual_flag :='G';
2128 END IF;
2129
2130 --
2131 -- bulk performance
2132 --
2133 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
2134 p_header_num => 0); -- 4262811
2135 --
2136 -- set accounting line options
2137 --
2138 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
2139 p_natural_side_code => 'D'
2140 , p_gain_or_loss_flag => 'Y'
2141 , p_gl_transfer_mode_code => 'S'
2142 , p_acct_entry_type_code => 'E'
2143 , p_switch_side_flag => 'Y'
2144 , p_merge_duplicate_code => 'N'
2145 );
2146 --
2147 l_acc_rev_natural_side_code := 'C'; -- 4262811
2148 --
2149 --
2150 -- set accounting line type info
2151 --
2152 xla_ae_lines_pkg.SetAcctLineType
2153 (p_component_type => l_component_type
2154 ,p_event_type_code => l_event_type_code
2155 ,p_line_definition_owner_code => l_line_definition_owner_code
2156 ,p_line_definition_code => l_line_definition_code
2157 ,p_accounting_line_code => l_component_code
2158 ,p_accounting_line_type_code => l_component_type_code
2159 ,p_accounting_line_appl_id => l_component_appl_id
2160 ,p_amb_context_code => l_amb_context_code
2161 ,p_entity_code => l_entity_code
2162 ,p_event_class_code => l_event_class_code);
2163 --
2164 -- set accounting class
2165 --
2166 xla_ae_lines_pkg.SetAcctClass(
2167 p_accounting_class_code => 'AMT_VARIANCE'
2168 , p_ae_header_id => l_ae_header_id
2169 );
2170
2171 --
2172 -- set rounding class
2173 --
2174 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
2175 'AMT_VARIANCE';
2176
2177 --
2178 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
2179 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
2180 --
2181 -- bulk performance
2182 --
2183 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
2184
2185 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
2186 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
2187
2188 -- 4955764
2189 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
2190 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
2191
2192 -- 4458381 Public Sector Enh
2193 XLA_AE_LINES_PKG.g_rec_lines.array_encumbrance_type_id(XLA_AE_LINES_PKG.g_LineNumber) := 1060;
2194 --
2195 -- set accounting attributes for the line type
2196 --
2197 l_entered_amt_idx := 23;
2198 l_accted_amt_idx := 28;
2199 l_bflow_applied_to_amt_idx := NULL; -- 5132302
2200 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
2201 l_rec_acct_attrs.array_char_value(1) := p_source_19;
2202 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
2203 l_rec_acct_attrs.array_num_value(2) :=
2204 xla_ae_sources_pkg.GetSystemSourceNum(
2205 p_source_code => 'XLA_EVENT_APPL_ID'
2206 , p_source_type_code => 'Y'
2207 , p_source_application_id => 602
2208 );
2209 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
2210 l_rec_acct_attrs.array_char_value(3) := p_source_21;
2211 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
2212 l_rec_acct_attrs.array_char_value(4) :=
2213 xla_ae_sources_pkg.GetSystemSourceChar(
2214 p_source_code => 'XLA_ENTITY_CODE'
2215 , p_source_type_code => 'Y'
2216 , p_source_application_id => 602
2217 );
2218 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
2219 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_23);
2220 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
2221 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_24);
2222 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
2223 l_rec_acct_attrs.array_num_value(7) := p_source_25;
2224 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
2225 l_rec_acct_attrs.array_char_value(8) := p_source_26;
2226 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
2227 l_rec_acct_attrs.array_char_value(9) := p_source_27;
2228 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
2229 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_28);
2230 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
2231 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_29);
2232 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
2233 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_30);
2237 l_rec_acct_attrs.array_num_value(14) := p_source_31;
2234 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
2235 l_rec_acct_attrs.array_char_value(13) := p_source_21;
2236 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
2238 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
2239 l_rec_acct_attrs.array_num_value(15) := p_source_32;
2240 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
2241 l_rec_acct_attrs.array_char_value(16) := p_source_33;
2242 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
2243 l_rec_acct_attrs.array_num_value(17) := p_source_34;
2244 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
2245 l_rec_acct_attrs.array_num_value(18) := p_source_35;
2246 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
2247 l_rec_acct_attrs.array_num_value(19) := p_source_36;
2248 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
2249 l_rec_acct_attrs.array_char_value(20) := p_source_33;
2250 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
2251 l_rec_acct_attrs.array_num_value(21) := p_source_37;
2252 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
2253 l_rec_acct_attrs.array_char_value(22) := p_source_38;
2254 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
2255 l_rec_acct_attrs.array_num_value(23) := p_source_16;
2256 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
2257 l_rec_acct_attrs.array_char_value(24) := p_source_33;
2258 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
2259 l_rec_acct_attrs.array_date_value(25) := p_source_39;
2260 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
2261 l_rec_acct_attrs.array_num_value(26) := p_source_40;
2262 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
2263 l_rec_acct_attrs.array_char_value(27) := p_source_41;
2264 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
2265 l_rec_acct_attrs.array_num_value(28) := p_source_42;
2266 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
2267 l_rec_acct_attrs.array_date_value(29) := p_source_43;
2268 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
2269 l_rec_acct_attrs.array_char_value(30) := p_source_44;
2270 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
2271 l_rec_acct_attrs.array_date_value(31) := p_source_45;
2272 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
2273 l_rec_acct_attrs.array_char_value(32) := p_source_46;
2274 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
2275 l_rec_acct_attrs.array_num_value(33) := p_source_47;
2276 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
2277 l_rec_acct_attrs.array_num_value(34) := p_source_48;
2278 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
2279 l_rec_acct_attrs.array_char_value(35) := p_source_49;
2280 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
2281 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_50);
2282 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
2283 l_rec_acct_attrs.array_char_value(37) := p_source_21;
2284 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
2285 l_rec_acct_attrs.array_num_value(38) := p_source_51;
2286 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
2287 l_rec_acct_attrs.array_num_value(39) := p_source_52;
2288 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
2289 l_rec_acct_attrs.array_num_value(40) := p_source_53;
2290 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
2291 l_rec_acct_attrs.array_num_value(41) := p_source_54;
2292 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
2293 l_rec_acct_attrs.array_num_value(42) := p_source_55;
2294 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
2295 l_rec_acct_attrs.array_num_value(43) := p_source_56;
2296
2297 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
2298 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
2299
2300 ---------------------------------------------------------------------------------------------------------------
2301 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
2302 ---------------------------------------------------------------------------------------------------------------
2303 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
2304
2305 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
2306 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
2307
2308 IF xla_accounting_cache_pkg.GetValueChar
2309 (p_source_code => 'LEDGER_CATEGORY_CODE'
2310 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
2311 AND l_bflow_method_code = 'PRIOR_ENTRY'
2312 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
2313 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
2314 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
2315 )
2316 THEN
2317 xla_ae_lines_pkg.BflowUpgEntry
2318 (p_business_method_code => l_bflow_method_code
2319 ,p_business_class_code => l_bflow_class_code
2320 ,p_balance_type => l_balance_type_code);
2324 END IF;
2321 ELSE
2322 NULL;
2323 -- No business flow processing for business flow method of NONE.
2325
2326 --
2327 -- call analytical criteria
2328 --
2329
2330 --
2331 -- call description
2332 --
2333
2334 xla_ae_lines_pkg.SetLineDescription(
2335 p_ae_header_id => l_ae_header_id
2336 ,p_description => Description_2 (
2337 p_application_id => p_application_id
2338 , p_ae_header_id => l_ae_header_id
2339 , p_source_1 => p_source_1
2340 )
2341 );
2342
2343
2344 --
2345 -- call ADRs
2346 -- Bug 4922099
2347 --
2348 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
2349 (NVL(l_actual_upg_option, 'N') = 'O') OR
2350 (NVL(l_enc_upg_option, 'N') = 'O')
2351 )
2352 THEN
2353 NULL;
2354 --
2355 --
2356
2357 l_ccid := AcctDerRule_7(
2358 p_application_id => p_application_id
2359 , p_ae_header_id => l_ae_header_id
2360 , p_source_11 => p_source_11
2361 , x_transaction_coa_id => l_adr_transaction_coa_id
2362 , x_accounting_coa_id => l_adr_accounting_coa_id
2363 , x_value_type_code => l_adr_value_type_code
2364 , p_side => 'NA'
2365 );
2366
2367 xla_ae_lines_pkg.set_ccid(
2368 p_code_combination_id => l_ccid
2369 , p_value_type_code => l_adr_value_type_code
2370 , p_transaction_coa_id => l_adr_transaction_coa_id
2371 , p_accounting_coa_id => l_adr_accounting_coa_id
2372 , p_adr_code => 'AP_INVOICE_DIST'
2373 , p_adr_type_code => 'S'
2374 , p_component_type => l_component_type
2375 , p_component_code => l_component_code
2376 , p_component_type_code => l_component_type_code
2377 , p_component_appl_id => l_component_appl_id
2378 , p_amb_context_code => l_amb_context_code
2379 , p_side => 'NA'
2380 );
2381
2382
2383 --
2384 --
2385 END IF;
2386 --
2387 -- Bug 4922099
2388 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
2389 (NVL(l_enc_upg_option, 'N') = 'O')
2390 ) AND
2391 (l_bflow_method_code = 'PRIOR_ENTRY')
2392 )
2393 THEN
2394 IF
2395 --
2396 1 = 2
2397 --
2398 THEN
2399 xla_accounting_err_pkg.build_message
2400 (p_appli_s_name => 'XLA'
2401 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
2402 ,p_token_1 => 'LINE_NUMBER'
2403 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
2404 ,p_token_2 => 'LINE_TYPE_NAME'
2405 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
2406 l_component_type
2407 ,l_component_code
2408 ,l_component_type_code
2409 ,l_component_appl_id
2410 ,l_amb_context_code
2411 ,l_entity_code
2412 ,l_event_class_code
2413 )
2414 ,p_token_3 => 'OWNER'
2415 ,p_value_3 => xla_lookups_pkg.get_meaning(
2416 p_lookup_type => 'XLA_OWNER_TYPE'
2417 ,p_lookup_code => l_component_type_code
2418 )
2419 ,p_token_4 => 'PRODUCT_NAME'
2420 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
2421 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
2422 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
2423 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
2424 ,p_ae_header_id => NULL
2425 );
2426
2427 IF (C_LEVEL_ERROR>= g_log_level) THEN
2428 trace
2429 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
2430 ,p_level => C_LEVEL_ERROR
2431 ,p_module => l_log_module);
2432 END IF;
2433 END IF;
2434 END IF;
2435 --
2436 --
2437 ------------------------------------------------------------------------------------------------
2438 -- 4219869 Business Flow
2439 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
2443
2440 -- Prior Entry. Currently, the following code is always generated.
2441 ------------------------------------------------------------------------------------------------
2442 XLA_AE_LINES_PKG.ValidateCurrentLine;
2444 ------------------------------------------------------------------------------------
2445 -- 4219869 Business Flow
2446 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
2447 ------------------------------------------------------------------------------------
2448 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
2449
2450 ----------------------------------------------------------------------------------
2451 -- 4219869 Business Flow
2452 -- Update journal entry status -- Need to generate this within IF <condition>
2453 ----------------------------------------------------------------------------------
2454 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
2455 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
2456 ,p_balance_type_code => l_balance_type_code
2457 );
2458
2459 -------------------------------------------------------------------------------------------
2460 -- 4262811 - Generate the Accrual Reversal lines
2461 -------------------------------------------------------------------------------------------
2462 BEGIN
2463 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
2464 (g_array_event(p_event_id).array_value_num('header_index'));
2465 IF l_acc_rev_flag IS NULL THEN
2466 l_acc_rev_flag := 'N';
2467 END IF;
2468 EXCEPTION
2469 WHEN OTHERS THEN
2470 l_acc_rev_flag := 'N';
2471 END;
2472 --
2473 IF (l_acc_rev_flag = 'Y') THEN
2474
2475 -- 4645092 ------------------------------------------------------------------------------
2476 -- To allow MPA report to determine if it should generate report process
2477 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
2478 ------------------------------------------------------------------------------------------
2479
2480 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
2481 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
2482 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
2483 -- call ADRs
2484 -- Bug 4922099
2485 --
2486 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
2487 (NVL(l_actual_upg_option, 'N') = 'O') OR
2488 (NVL(l_enc_upg_option, 'N') = 'O')
2489 )
2490 THEN
2491 NULL;
2492 --
2493 --
2494
2495 l_ccid := AcctDerRule_7(
2496 p_application_id => p_application_id
2497 , p_ae_header_id => l_ae_header_id
2498 , p_source_11 => p_source_11
2499 , x_transaction_coa_id => l_adr_transaction_coa_id
2500 , x_accounting_coa_id => l_adr_accounting_coa_id
2501 , x_value_type_code => l_adr_value_type_code
2502 , p_side => 'NA'
2503 );
2504
2505 xla_ae_lines_pkg.set_ccid(
2506 p_code_combination_id => l_ccid
2507 , p_value_type_code => l_adr_value_type_code
2508 , p_transaction_coa_id => l_adr_transaction_coa_id
2509 , p_accounting_coa_id => l_adr_accounting_coa_id
2510 , p_adr_code => 'AP_INVOICE_DIST'
2511 , p_adr_type_code => 'S'
2512 , p_component_type => l_component_type
2513 , p_component_code => l_component_code
2514 , p_component_type_code => l_component_type_code
2515 , p_component_appl_id => l_component_appl_id
2516 , p_amb_context_code => l_amb_context_code
2517 , p_side => 'NA'
2518 );
2519
2520
2521 --
2522 --
2523 END IF;
2524
2525 --
2526 -- Update the line information that should be overwritten
2527 --
2528 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
2529 p_header_num => 1);
2530 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
2531
2532 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
2533
2534 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
2535 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
2536 END IF;
2537
2538 --
2539 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
2540 --
2541 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
2542 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
2543 ELSE
2544 ---------------------------------------------------------------------------------------------------
2545 -- 4262811a Switch Sign
2546 ---------------------------------------------------------------------------------------------------
2547 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
2551 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
2548 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
2549 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
2550 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
2552 -- 5132302
2553 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
2554 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
2555
2556 END IF;
2557
2558 -- 4955764
2559 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
2560 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
2561
2562
2563 XLA_AE_LINES_PKG.ValidateCurrentLine;
2564 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
2565
2566 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
2567 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
2568 ,p_balance_type_code => l_balance_type_code);
2569
2570 END IF;
2571
2572 -----------------------------------------------------------------------------------------
2573 -- 4262811 Multiperiod Accounting
2574 -----------------------------------------------------------------------------------------
2575 -- No MPA option is assigned.
2576
2577
2578 END IF;
2579 END IF;
2580 --
2581
2582 --
2583 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
2584 trace
2585 (p_msg => 'END of AcctLineType_14'
2586 ,p_level => C_LEVEL_PROCEDURE
2587 ,p_module => l_log_module);
2588 END IF;
2589 --
2590 EXCEPTION
2591 WHEN xla_exceptions_pkg.application_exception THEN
2592 RAISE;
2593 WHEN OTHERS THEN
2594 xla_exceptions_pkg.raise_message
2595 (p_location => 'XLA_00200_AAD_S_000006_BC_PKG.AcctLineType_14');
2596 END AcctLineType_14;
2597 --
2598
2599 ---------------------------------------
2600 --
2601 -- PRIVATE FUNCTION
2602 -- AcctLineType_15
2603 --
2604 ---------------------------------------
2605 PROCEDURE AcctLineType_15 (
2606 p_application_id IN NUMBER
2607 ,p_event_id IN NUMBER
2608 ,p_calculate_acctd_flag IN VARCHAR2
2609 ,p_calculate_g_l_flag IN VARCHAR2
2610 ,p_actual_flag IN OUT VARCHAR2
2611 ,p_balance_type_code OUT VARCHAR2
2612 ,p_gain_or_loss_ref OUT VARCHAR2
2613
2614 --Invoice Distribution Description
2615 , p_source_1 IN VARCHAR2
2616 --Invoice Distribution Account
2617 , p_source_11 IN NUMBER
2618 --Invoice Distribution Type
2619 , p_source_15 IN VARCHAR2
2620 , p_source_15_meaning IN VARCHAR2
2621 --Amount for Variance Amount
2622 , p_source_16 IN NUMBER
2623 --Purchasing Encumbrance Option
2624 , p_source_17 IN VARCHAR2
2625 , p_source_17_meaning IN VARCHAR2
2626 --Accrue on Receipt Option
2627 , p_source_18 IN VARCHAR2
2628 , p_source_18_meaning IN VARCHAR2
2629 --Accounting Reversal Indicator
2630 , p_source_19 IN VARCHAR2
2631 --Distribution Link Type
2632 , p_source_21 IN VARCHAR2
2633 --Allocation to Main Distribution Identifier
2634 , p_source_23 IN NUMBER
2635 --Invoice Identifier
2636 , p_source_24 IN NUMBER
2637 --Business Flow Accounts Payable Application Identifier
2638 , p_source_25 IN NUMBER
2639 --Business Flow Invoice Distribution Type
2640 , p_source_26 IN VARCHAR2
2641 --Business Flow Invoice Entity Code
2642 , p_source_27 IN VARCHAR2
2643 --Business Flow Invoice Distribution Identifier
2644 , p_source_28 IN NUMBER
2645 --Business Flow Invoice Identifier
2646 , p_source_29 IN NUMBER
2647 --Invoice Distribution Identifier
2648 , p_source_30 IN NUMBER
2649 --Payables Encumbrance Upgrade Credit Account
2650 , p_source_31 IN NUMBER
2651 --Payables Encumbrance Upgrade Credit Amount
2652 , p_source_32 IN NUMBER
2653 --Invoice Currency Code
2654 , p_source_33 IN VARCHAR2
2655 --Payables Encumbrance Upgrade Credit Base Amount
2656 , p_source_34 IN NUMBER
2657 --Payables Encumbrance Upgrade Debit Account
2658 , p_source_35 IN NUMBER
2659 --Payables Encumbrance Upgrade Debit Amount
2660 , p_source_36 IN NUMBER
2661 --Payables Encumbrance Upgrade Debit Base Amount
2662 , p_source_37 IN NUMBER
2663 --Payables Encumbrance Upgrade Option
2664 , p_source_38 IN VARCHAR2
2665 --Invoice Exchange Date
2666 , p_source_39 IN DATE
2667 --Invoice Exchange Rate
2668 , p_source_40 IN NUMBER
2669 --Invoice Exchange Rate Type
2670 , p_source_41 IN VARCHAR2
2671 --Variance Amount in Ledger Currency
2672 , p_source_42 IN NUMBER
2673 --Deferred Accounting End Date
2674 , p_source_43 IN DATE
2675 --Deferred Accounting Option
2676 , p_source_44 IN VARCHAR2
2677 --Deferred Accounting Start Date
2678 , p_source_45 IN DATE
2679 --Override Accounted Amount Indicator
2680 , p_source_46 IN VARCHAR2
2684 --Invoice Supplier Site Identifier
2681 , p_source_46_meaning IN VARCHAR2
2682 --Invoice Supplier Identifier
2683 , p_source_47 IN NUMBER
2685 , p_source_48 IN NUMBER
2686 --Third Party Type
2687 , p_source_49 IN VARCHAR2
2688 --Parent Reversal Identifier
2689 , p_source_50 IN NUMBER
2690 --Invoice Distribution Tax Line Identifier
2691 , p_source_52 IN NUMBER
2692 --Invoice Distribution Tax Distribution Identifier from Tax
2693 , p_source_53 IN NUMBER
2694 --Invoice Distribution Summary Tax Line Identifier
2695 , p_source_54 IN NUMBER
2696 --Payables Upgrade Credit Encumbrance Type Identifier
2697 , p_source_55 IN NUMBER
2698 --Payables Upgrade Debit Encumbrance Type Identifier
2699 , p_source_56 IN NUMBER
2700 )
2701 IS
2702
2703 l_component_type VARCHAR2(80);
2704 l_component_code VARCHAR2(30);
2705 l_component_type_code VARCHAR2(1);
2706 l_component_appl_id INTEGER;
2707 l_amb_context_code VARCHAR2(30);
2708 l_entity_code VARCHAR2(30);
2709 l_event_class_code VARCHAR2(30);
2710 l_ae_header_id NUMBER;
2711 l_event_type_code VARCHAR2(30);
2712 l_line_definition_code VARCHAR2(30);
2713 l_line_definition_owner_code VARCHAR2(1);
2714 --
2715 -- adr variables
2716 l_segment VARCHAR2(30);
2717 l_ccid NUMBER;
2718 l_adr_transaction_coa_id NUMBER;
2719 l_adr_accounting_coa_id NUMBER;
2720 l_adr_flexfield_segment_code VARCHAR2(30);
2721 l_adr_flex_value_set_id NUMBER;
2722 l_adr_value_type_code VARCHAR2(30);
2723 l_adr_value_combination_id NUMBER;
2724 l_adr_value_segment_code VARCHAR2(30);
2725
2726 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
2727 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
2728 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
2729 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
2730
2731 -- 4262811 Variables ------------------------------------------------------------------------------------------
2732 l_entered_amt_idx NUMBER;
2733 l_accted_amt_idx NUMBER;
2734 l_acc_rev_flag VARCHAR2(1);
2735 l_accrual_line_num NUMBER;
2736 l_tmp_amt NUMBER;
2737 l_acc_rev_natural_side_code VARCHAR2(1);
2738
2739 l_num_entries NUMBER;
2740 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
2741 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
2742 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
2743 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
2744 l_recog_line_1 NUMBER;
2745 l_recog_line_2 NUMBER;
2746
2747 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
2748 l_bflow_applied_to_amt NUMBER; -- 5132302
2749 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
2750
2751 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
2752
2753 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
2754 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
2755
2756 ---------------------------------------------------------------------------------------------------------------
2757
2758
2759 --
2760 -- bulk performance
2761 --
2762 l_balance_type_code VARCHAR2(1);
2763 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
2764 l_log_module VARCHAR2(240);
2765
2766 --
2767 -- Upgrade strategy
2768 --
2769 l_actual_upg_option VARCHAR2(1);
2770 l_enc_upg_option VARCHAR2(1);
2771
2772 --
2773 BEGIN
2774 --
2775 IF g_log_enabled THEN
2776 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_15';
2777 END IF;
2778 --
2779 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
2780
2781 trace
2782 (p_msg => 'BEGIN of AcctLineType_15'
2783 ,p_level => C_LEVEL_PROCEDURE
2784 ,p_module => l_log_module);
2785
2786 END IF;
2787 --
2788 l_component_type := 'AMB_JLT';
2789 l_component_code := 'AP_AMOUNT_VARIANCE_DM_ENC_DR';
2790 l_component_type_code := 'S';
2791 l_component_appl_id := 200;
2792 l_amb_context_code := 'DEFAULT';
2793 l_entity_code := 'AP_INVOICES';
2794 l_event_class_code := 'DEBIT MEMOS';
2795 l_event_type_code := 'DEBIT MEMOS_ALL';
2796 l_line_definition_owner_code := 'S';
2797 l_line_definition_code := 'ENC_DM_ALL';
2798 --
2799 l_balance_type_code := 'E';
2800 l_segment := NULL;
2801 l_ccid := NULL;
2802 l_adr_transaction_coa_id := NULL;
2803 l_adr_accounting_coa_id := NULL;
2804 l_adr_flexfield_segment_code := NULL;
2805 l_adr_flex_value_set_id := NULL;
2806 l_adr_value_type_code := NULL;
2807 l_adr_value_combination_id := NULL;
2808 l_adr_value_segment_code := NULL;
2809
2813 l_budgetary_control_flag := 'Y';
2810 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
2811 l_bflow_class_code := 'AP_INV_ENCUM'; -- 4219869 Business Flow
2812 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
2814
2815 l_bflow_applied_to_amt_idx := NULL; -- 5132302
2816 l_bflow_applied_to_amt := NULL; -- 5132302
2817 l_entered_amt_idx := NULL; -- 4262811
2818 l_accted_amt_idx := NULL; -- 4262811
2819 l_acc_rev_flag := NULL; -- 4262811
2820 l_accrual_line_num := NULL; -- 4262811
2821 l_tmp_amt := NULL; -- 4262811
2822 --
2823
2824 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
2825 l_balance_type_code <> 'B' THEN
2826 IF NVL(p_source_15,'
2827 ') = 'ITEM' AND
2828 p_source_16 IS NOT NULL AND
2829 NVL(p_source_17,'
2830 ') = 'Y' AND
2831 NVL(p_source_18,'
2832 ') <> 'Y'
2833 THEN
2834
2835 --
2836 XLA_AE_LINES_PKG.SetNewLine;
2837
2838 p_balance_type_code := l_balance_type_code;
2839 -- set the flag so later we will know whether the gain loss line needs to be created
2840
2841 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
2842 p_actual_flag :='A';
2843 END IF;
2844
2845 --
2846 -- bulk performance
2847 --
2848 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
2849 p_header_num => 0); -- 4262811
2850 --
2851 -- set accounting line options
2852 --
2853 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
2854 p_natural_side_code => 'D'
2855 , p_gain_or_loss_flag => 'N'
2856 , p_gl_transfer_mode_code => 'S'
2857 , p_acct_entry_type_code => 'E'
2858 , p_switch_side_flag => 'Y'
2859 , p_merge_duplicate_code => 'N'
2860 );
2861 --
2862 l_acc_rev_natural_side_code := 'C'; -- 4262811
2863 --
2864 --
2865 -- set accounting line type info
2866 --
2867 xla_ae_lines_pkg.SetAcctLineType
2868 (p_component_type => l_component_type
2869 ,p_event_type_code => l_event_type_code
2870 ,p_line_definition_owner_code => l_line_definition_owner_code
2871 ,p_line_definition_code => l_line_definition_code
2872 ,p_accounting_line_code => l_component_code
2873 ,p_accounting_line_type_code => l_component_type_code
2874 ,p_accounting_line_appl_id => l_component_appl_id
2875 ,p_amb_context_code => l_amb_context_code
2876 ,p_entity_code => l_entity_code
2877 ,p_event_class_code => l_event_class_code);
2878 --
2879 -- set accounting class
2880 --
2881 xla_ae_lines_pkg.SetAcctClass(
2882 p_accounting_class_code => 'AMT_VARIANCE'
2883 , p_ae_header_id => l_ae_header_id
2884 );
2885
2886 --
2887 -- set rounding class
2888 --
2889 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
2890 'AMT_VARIANCE';
2891
2892 --
2893 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
2894 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
2895 --
2896 -- bulk performance
2897 --
2898 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
2899
2900 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
2901 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
2902
2903 -- 4955764
2904 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
2905 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
2906
2907 -- 4458381 Public Sector Enh
2908 XLA_AE_LINES_PKG.g_rec_lines.array_encumbrance_type_id(XLA_AE_LINES_PKG.g_LineNumber) := 1060;
2909 --
2910 -- set accounting attributes for the line type
2911 --
2912 l_entered_amt_idx := 23;
2913 l_accted_amt_idx := 28;
2914 l_bflow_applied_to_amt_idx := NULL; -- 5132302
2915 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
2916 l_rec_acct_attrs.array_char_value(1) := p_source_19;
2917 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
2918 l_rec_acct_attrs.array_num_value(2) :=
2919 xla_ae_sources_pkg.GetSystemSourceNum(
2920 p_source_code => 'XLA_EVENT_APPL_ID'
2921 , p_source_type_code => 'Y'
2922 , p_source_application_id => 602
2923 );
2924 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
2925 l_rec_acct_attrs.array_char_value(3) := p_source_21;
2926 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
2927 l_rec_acct_attrs.array_char_value(4) :=
2928 xla_ae_sources_pkg.GetSystemSourceChar(
2929 p_source_code => 'XLA_ENTITY_CODE'
2930 , p_source_type_code => 'Y'
2931 , p_source_application_id => 602
2932 );
2933 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
2934 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_23);
2938 l_rec_acct_attrs.array_num_value(7) := p_source_25;
2935 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
2936 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_24);
2937 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
2939 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
2940 l_rec_acct_attrs.array_char_value(8) := p_source_26;
2941 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
2942 l_rec_acct_attrs.array_char_value(9) := p_source_27;
2943 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
2944 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_28);
2945 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
2946 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_29);
2947 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
2948 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_30);
2949 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
2950 l_rec_acct_attrs.array_char_value(13) := p_source_21;
2951 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
2952 l_rec_acct_attrs.array_num_value(14) := p_source_31;
2953 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
2954 l_rec_acct_attrs.array_num_value(15) := p_source_32;
2955 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
2956 l_rec_acct_attrs.array_char_value(16) := p_source_33;
2957 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
2958 l_rec_acct_attrs.array_num_value(17) := p_source_34;
2959 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
2960 l_rec_acct_attrs.array_num_value(18) := p_source_35;
2961 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
2962 l_rec_acct_attrs.array_num_value(19) := p_source_36;
2963 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
2964 l_rec_acct_attrs.array_char_value(20) := p_source_33;
2965 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
2966 l_rec_acct_attrs.array_num_value(21) := p_source_37;
2967 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
2968 l_rec_acct_attrs.array_char_value(22) := p_source_38;
2969 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
2970 l_rec_acct_attrs.array_num_value(23) := p_source_16;
2971 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
2972 l_rec_acct_attrs.array_char_value(24) := p_source_33;
2973 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
2974 l_rec_acct_attrs.array_date_value(25) := p_source_39;
2975 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
2976 l_rec_acct_attrs.array_num_value(26) := p_source_40;
2977 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
2978 l_rec_acct_attrs.array_char_value(27) := p_source_41;
2979 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
2980 l_rec_acct_attrs.array_num_value(28) := p_source_42;
2981 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
2982 l_rec_acct_attrs.array_date_value(29) := p_source_43;
2983 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
2984 l_rec_acct_attrs.array_char_value(30) := p_source_44;
2985 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
2986 l_rec_acct_attrs.array_date_value(31) := p_source_45;
2987 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
2988 l_rec_acct_attrs.array_char_value(32) := p_source_46;
2989 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
2990 l_rec_acct_attrs.array_num_value(33) := p_source_47;
2991 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
2992 l_rec_acct_attrs.array_num_value(34) := p_source_48;
2993 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
2994 l_rec_acct_attrs.array_char_value(35) := p_source_49;
2995 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
2996 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_50);
2997 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
2998 l_rec_acct_attrs.array_char_value(37) := p_source_21;
2999 l_rec_acct_attrs.array_acct_attr_code(38) := 'TAX_LINE_REF_ID';
3000 l_rec_acct_attrs.array_num_value(38) := p_source_52;
3001 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_REC_NREC_DIST_REF_ID';
3002 l_rec_acct_attrs.array_num_value(39) := p_source_53;
3003 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_SUMMARY_LINE_REF_ID';
3004 l_rec_acct_attrs.array_num_value(40) := p_source_54;
3005 l_rec_acct_attrs.array_acct_attr_code(41) := 'UPG_CR_ENC_TYPE_ID';
3006 l_rec_acct_attrs.array_num_value(41) := p_source_55;
3007 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_DR_ENC_TYPE_ID';
3008 l_rec_acct_attrs.array_num_value(42) := p_source_56;
3009
3010 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
3011 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
3012
3013 ---------------------------------------------------------------------------------------------------------------
3014 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
3015 ---------------------------------------------------------------------------------------------------------------
3016 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
3017
3018 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
3019 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
3020
3024 AND l_bflow_method_code = 'PRIOR_ENTRY'
3021 IF xla_accounting_cache_pkg.GetValueChar
3022 (p_source_code => 'LEDGER_CATEGORY_CODE'
3023 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
3025 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
3026 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
3027 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
3028 )
3029 THEN
3030 xla_ae_lines_pkg.BflowUpgEntry
3031 (p_business_method_code => l_bflow_method_code
3032 ,p_business_class_code => l_bflow_class_code
3033 ,p_balance_type => l_balance_type_code);
3034 ELSE
3035 NULL;
3036 -- No business flow processing for business flow method of NONE.
3037 END IF;
3038
3039 --
3040 -- call analytical criteria
3041 --
3042
3043 --
3044 -- call description
3045 --
3046
3047 xla_ae_lines_pkg.SetLineDescription(
3048 p_ae_header_id => l_ae_header_id
3049 ,p_description => Description_2 (
3050 p_application_id => p_application_id
3051 , p_ae_header_id => l_ae_header_id
3052 , p_source_1 => p_source_1
3053 )
3054 );
3055
3056
3057 --
3058 -- call ADRs
3059 -- Bug 4922099
3060 --
3061 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
3062 (NVL(l_actual_upg_option, 'N') = 'O') OR
3063 (NVL(l_enc_upg_option, 'N') = 'O')
3064 )
3065 THEN
3066 NULL;
3067 --
3068 --
3069
3070 l_ccid := AcctDerRule_7(
3071 p_application_id => p_application_id
3072 , p_ae_header_id => l_ae_header_id
3073 , p_source_11 => p_source_11
3074 , x_transaction_coa_id => l_adr_transaction_coa_id
3075 , x_accounting_coa_id => l_adr_accounting_coa_id
3076 , x_value_type_code => l_adr_value_type_code
3077 , p_side => 'NA'
3078 );
3079
3080 xla_ae_lines_pkg.set_ccid(
3081 p_code_combination_id => l_ccid
3082 , p_value_type_code => l_adr_value_type_code
3083 , p_transaction_coa_id => l_adr_transaction_coa_id
3084 , p_accounting_coa_id => l_adr_accounting_coa_id
3085 , p_adr_code => 'AP_INVOICE_DIST'
3086 , p_adr_type_code => 'S'
3087 , p_component_type => l_component_type
3088 , p_component_code => l_component_code
3089 , p_component_type_code => l_component_type_code
3090 , p_component_appl_id => l_component_appl_id
3091 , p_amb_context_code => l_amb_context_code
3092 , p_side => 'NA'
3093 );
3094
3095
3096 --
3097 --
3098 END IF;
3099 --
3100 -- Bug 4922099
3101 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
3102 (NVL(l_enc_upg_option, 'N') = 'O')
3103 ) AND
3104 (l_bflow_method_code = 'PRIOR_ENTRY')
3105 )
3106 THEN
3107 IF
3108 --
3109 1 = 2
3110 --
3111 THEN
3112 xla_accounting_err_pkg.build_message
3113 (p_appli_s_name => 'XLA'
3114 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
3115 ,p_token_1 => 'LINE_NUMBER'
3116 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
3117 ,p_token_2 => 'LINE_TYPE_NAME'
3118 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
3119 l_component_type
3120 ,l_component_code
3121 ,l_component_type_code
3122 ,l_component_appl_id
3123 ,l_amb_context_code
3124 ,l_entity_code
3125 ,l_event_class_code
3126 )
3127 ,p_token_3 => 'OWNER'
3128 ,p_value_3 => xla_lookups_pkg.get_meaning(
3129 p_lookup_type => 'XLA_OWNER_TYPE'
3130 ,p_lookup_code => l_component_type_code
3131 )
3132 ,p_token_4 => 'PRODUCT_NAME'
3133 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
3134 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
3135 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
3139
3136 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
3137 ,p_ae_header_id => NULL
3138 );
3140 IF (C_LEVEL_ERROR>= g_log_level) THEN
3141 trace
3142 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
3143 ,p_level => C_LEVEL_ERROR
3144 ,p_module => l_log_module);
3145 END IF;
3146 END IF;
3147 END IF;
3148 --
3149 --
3150 ------------------------------------------------------------------------------------------------
3151 -- 4219869 Business Flow
3152 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
3153 -- Prior Entry. Currently, the following code is always generated.
3154 ------------------------------------------------------------------------------------------------
3155 XLA_AE_LINES_PKG.ValidateCurrentLine;
3156
3157 ------------------------------------------------------------------------------------
3158 -- 4219869 Business Flow
3159 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
3160 ------------------------------------------------------------------------------------
3161 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
3162
3163 ----------------------------------------------------------------------------------
3164 -- 4219869 Business Flow
3165 -- Update journal entry status -- Need to generate this within IF <condition>
3166 ----------------------------------------------------------------------------------
3167 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
3168 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
3169 ,p_balance_type_code => l_balance_type_code
3170 );
3171
3172 -------------------------------------------------------------------------------------------
3173 -- 4262811 - Generate the Accrual Reversal lines
3174 -------------------------------------------------------------------------------------------
3175 BEGIN
3176 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
3177 (g_array_event(p_event_id).array_value_num('header_index'));
3178 IF l_acc_rev_flag IS NULL THEN
3179 l_acc_rev_flag := 'N';
3180 END IF;
3181 EXCEPTION
3182 WHEN OTHERS THEN
3183 l_acc_rev_flag := 'N';
3184 END;
3185 --
3186 IF (l_acc_rev_flag = 'Y') THEN
3187
3188 -- 4645092 ------------------------------------------------------------------------------
3189 -- To allow MPA report to determine if it should generate report process
3190 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
3191 ------------------------------------------------------------------------------------------
3192
3193 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
3194 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
3195 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
3196 -- call ADRs
3197 -- Bug 4922099
3198 --
3199 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
3200 (NVL(l_actual_upg_option, 'N') = 'O') OR
3201 (NVL(l_enc_upg_option, 'N') = 'O')
3202 )
3203 THEN
3204 NULL;
3205 --
3206 --
3207
3208 l_ccid := AcctDerRule_7(
3209 p_application_id => p_application_id
3210 , p_ae_header_id => l_ae_header_id
3211 , p_source_11 => p_source_11
3212 , x_transaction_coa_id => l_adr_transaction_coa_id
3213 , x_accounting_coa_id => l_adr_accounting_coa_id
3214 , x_value_type_code => l_adr_value_type_code
3215 , p_side => 'NA'
3216 );
3217
3218 xla_ae_lines_pkg.set_ccid(
3219 p_code_combination_id => l_ccid
3220 , p_value_type_code => l_adr_value_type_code
3221 , p_transaction_coa_id => l_adr_transaction_coa_id
3222 , p_accounting_coa_id => l_adr_accounting_coa_id
3223 , p_adr_code => 'AP_INVOICE_DIST'
3224 , p_adr_type_code => 'S'
3225 , p_component_type => l_component_type
3226 , p_component_code => l_component_code
3227 , p_component_type_code => l_component_type_code
3228 , p_component_appl_id => l_component_appl_id
3229 , p_amb_context_code => l_amb_context_code
3230 , p_side => 'NA'
3231 );
3232
3233
3234 --
3235 --
3236 END IF;
3237
3238 --
3239 -- Update the line information that should be overwritten
3240 --
3241 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
3242 p_header_num => 1);
3243 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
3244
3245 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
3246
3247 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
3248 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
3249 END IF;
3250
3251 --
3252 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
3256 ELSE
3253 --
3254 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
3255 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
3257 ---------------------------------------------------------------------------------------------------
3258 -- 4262811a Switch Sign
3259 ---------------------------------------------------------------------------------------------------
3260 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
3261 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
3262 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3263 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
3264 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3265 -- 5132302
3266 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
3267 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3268
3269 END IF;
3270
3271 -- 4955764
3272 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
3273 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
3274
3275
3276 XLA_AE_LINES_PKG.ValidateCurrentLine;
3277 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
3278
3279 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
3280 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
3281 ,p_balance_type_code => l_balance_type_code);
3282
3283 END IF;
3284
3285 -----------------------------------------------------------------------------------------
3286 -- 4262811 Multiperiod Accounting
3287 -----------------------------------------------------------------------------------------
3288 -- No MPA option is assigned.
3289
3290
3291 END IF;
3292 END IF;
3293 --
3294
3295 --
3296 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
3297 trace
3298 (p_msg => 'END of AcctLineType_15'
3299 ,p_level => C_LEVEL_PROCEDURE
3300 ,p_module => l_log_module);
3301 END IF;
3302 --
3303 EXCEPTION
3304 WHEN xla_exceptions_pkg.application_exception THEN
3305 RAISE;
3306 WHEN OTHERS THEN
3307 xla_exceptions_pkg.raise_message
3308 (p_location => 'XLA_00200_AAD_S_000006_BC_PKG.AcctLineType_15');
3309 END AcctLineType_15;
3310 --
3311
3312 ---------------------------------------
3313 --
3314 -- PRIVATE FUNCTION
3315 -- AcctLineType_16
3316 --
3317 ---------------------------------------
3318 PROCEDURE AcctLineType_16 (
3319 p_application_id IN NUMBER
3320 ,p_event_id IN NUMBER
3321 ,p_calculate_acctd_flag IN VARCHAR2
3322 ,p_calculate_g_l_flag IN VARCHAR2
3323 ,p_actual_flag IN OUT VARCHAR2
3324 ,p_balance_type_code OUT VARCHAR2
3325 ,p_gain_or_loss_ref OUT VARCHAR2
3326
3327 --Invoice Distribution Description
3328 , p_source_1 IN VARCHAR2
3329 --Invoice Distribution Account
3330 , p_source_11 IN NUMBER
3331 --Invoice Distribution Type
3332 , p_source_15 IN VARCHAR2
3333 , p_source_15_meaning IN VARCHAR2
3334 --Amount for Variance Amount
3335 , p_source_16 IN NUMBER
3336 --Purchasing Encumbrance Option
3337 , p_source_17 IN VARCHAR2
3338 , p_source_17_meaning IN VARCHAR2
3339 --Accrue on Receipt Option
3340 , p_source_18 IN VARCHAR2
3341 , p_source_18_meaning IN VARCHAR2
3342 --Accounting Reversal Indicator
3343 , p_source_19 IN VARCHAR2
3344 --Distribution Link Type
3345 , p_source_21 IN VARCHAR2
3346 --Allocation to Main Distribution Identifier
3347 , p_source_23 IN NUMBER
3348 --Invoice Identifier
3349 , p_source_24 IN NUMBER
3350 --Business Flow Accounts Payable Application Identifier
3351 , p_source_25 IN NUMBER
3352 --Business Flow Invoice Distribution Type
3353 , p_source_26 IN VARCHAR2
3354 --Business Flow Invoice Entity Code
3355 , p_source_27 IN VARCHAR2
3356 --Business Flow Invoice Distribution Identifier
3357 , p_source_28 IN NUMBER
3358 --Business Flow Invoice Identifier
3359 , p_source_29 IN NUMBER
3360 --Invoice Distribution Identifier
3361 , p_source_30 IN NUMBER
3362 --Payables Encumbrance Upgrade Credit Account
3363 , p_source_31 IN NUMBER
3364 --Payables Encumbrance Upgrade Credit Amount
3365 , p_source_32 IN NUMBER
3366 --Invoice Currency Code
3367 , p_source_33 IN VARCHAR2
3368 --Payables Encumbrance Upgrade Credit Base Amount
3369 , p_source_34 IN NUMBER
3370 --Payables Encumbrance Upgrade Debit Account
3371 , p_source_35 IN NUMBER
3372 --Payables Encumbrance Upgrade Debit Amount
3373 , p_source_36 IN NUMBER
3374 --Payables Encumbrance Upgrade Debit Base Amount
3375 , p_source_37 IN NUMBER
3376 --Payables Encumbrance Upgrade Option
3377 , p_source_38 IN VARCHAR2
3378 --Invoice Exchange Date
3382 --Invoice Exchange Rate Type
3379 , p_source_39 IN DATE
3380 --Invoice Exchange Rate
3381 , p_source_40 IN NUMBER
3383 , p_source_41 IN VARCHAR2
3384 --Variance Amount in Ledger Currency
3385 , p_source_42 IN NUMBER
3386 --Deferred Accounting End Date
3387 , p_source_43 IN DATE
3388 --Deferred Accounting Option
3389 , p_source_44 IN VARCHAR2
3390 --Deferred Accounting Start Date
3391 , p_source_45 IN DATE
3392 --Override Accounted Amount Indicator
3393 , p_source_46 IN VARCHAR2
3394 , p_source_46_meaning IN VARCHAR2
3395 --Invoice Supplier Identifier
3396 , p_source_47 IN NUMBER
3397 --Invoice Supplier Site Identifier
3398 , p_source_48 IN NUMBER
3399 --Third Party Type
3400 , p_source_49 IN VARCHAR2
3401 --Parent Reversal Identifier
3402 , p_source_50 IN NUMBER
3403 --Invoice Distribution Statistical Amount
3404 , p_source_51 IN NUMBER
3405 --Invoice Distribution Tax Line Identifier
3406 , p_source_52 IN NUMBER
3407 --Invoice Distribution Tax Distribution Identifier from Tax
3408 , p_source_53 IN NUMBER
3409 --Invoice Distribution Summary Tax Line Identifier
3410 , p_source_54 IN NUMBER
3411 --Payables Upgrade Credit Encumbrance Type Identifier
3412 , p_source_55 IN NUMBER
3413 --Payables Upgrade Debit Encumbrance Type Identifier
3414 , p_source_56 IN NUMBER
3415 --Invoice Distribution Amount
3416 , p_source_57 IN NUMBER
3417 )
3418 IS
3419
3420 l_component_type VARCHAR2(80);
3421 l_component_code VARCHAR2(30);
3422 l_component_type_code VARCHAR2(1);
3423 l_component_appl_id INTEGER;
3424 l_amb_context_code VARCHAR2(30);
3425 l_entity_code VARCHAR2(30);
3426 l_event_class_code VARCHAR2(30);
3427 l_ae_header_id NUMBER;
3428 l_event_type_code VARCHAR2(30);
3429 l_line_definition_code VARCHAR2(30);
3430 l_line_definition_owner_code VARCHAR2(1);
3431 --
3432 -- adr variables
3433 l_segment VARCHAR2(30);
3434 l_ccid NUMBER;
3435 l_adr_transaction_coa_id NUMBER;
3436 l_adr_accounting_coa_id NUMBER;
3437 l_adr_flexfield_segment_code VARCHAR2(30);
3438 l_adr_flex_value_set_id NUMBER;
3439 l_adr_value_type_code VARCHAR2(30);
3440 l_adr_value_combination_id NUMBER;
3441 l_adr_value_segment_code VARCHAR2(30);
3442
3443 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
3444 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
3445 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
3446 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
3447
3448 -- 4262811 Variables ------------------------------------------------------------------------------------------
3449 l_entered_amt_idx NUMBER;
3450 l_accted_amt_idx NUMBER;
3451 l_acc_rev_flag VARCHAR2(1);
3452 l_accrual_line_num NUMBER;
3453 l_tmp_amt NUMBER;
3454 l_acc_rev_natural_side_code VARCHAR2(1);
3455
3456 l_num_entries NUMBER;
3457 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
3458 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
3459 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
3460 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
3461 l_recog_line_1 NUMBER;
3462 l_recog_line_2 NUMBER;
3463
3464 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
3465 l_bflow_applied_to_amt NUMBER; -- 5132302
3466 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
3467
3468 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
3469
3470 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
3471 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
3472
3473 ---------------------------------------------------------------------------------------------------------------
3474
3475
3476 --
3477 -- bulk performance
3478 --
3479 l_balance_type_code VARCHAR2(1);
3480 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
3481 l_log_module VARCHAR2(240);
3482
3483 --
3484 -- Upgrade strategy
3485 --
3486 l_actual_upg_option VARCHAR2(1);
3487 l_enc_upg_option VARCHAR2(1);
3488
3489 --
3490 BEGIN
3491 --
3492 IF g_log_enabled THEN
3493 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_16';
3494 END IF;
3495 --
3496 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
3497
3498 trace
3499 (p_msg => 'BEGIN of AcctLineType_16'
3500 ,p_level => C_LEVEL_PROCEDURE
3501 ,p_module => l_log_module);
3502
3503 END IF;
3504 --
3505 l_component_type := 'AMB_JLT';
3506 l_component_code := 'AP_AMOUNT_VARIANCE_INV_ENC_DR';
3507 l_component_type_code := 'S';
3511 l_event_class_code := 'INVOICES';
3508 l_component_appl_id := 200;
3509 l_amb_context_code := 'DEFAULT';
3510 l_entity_code := 'AP_INVOICES';
3512 l_event_type_code := 'INVOICES_ALL';
3513 l_line_definition_owner_code := 'S';
3514 l_line_definition_code := 'ENC_INVOICES_ALL';
3515 --
3516 l_balance_type_code := 'E';
3517 l_segment := NULL;
3518 l_ccid := NULL;
3519 l_adr_transaction_coa_id := NULL;
3520 l_adr_accounting_coa_id := NULL;
3521 l_adr_flexfield_segment_code := NULL;
3522 l_adr_flex_value_set_id := NULL;
3523 l_adr_value_type_code := NULL;
3524 l_adr_value_combination_id := NULL;
3525 l_adr_value_segment_code := NULL;
3526
3527 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
3528 l_bflow_class_code := 'AP_INV_ENCUM'; -- 4219869 Business Flow
3529 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
3530 l_budgetary_control_flag := 'Y';
3531
3532 l_bflow_applied_to_amt_idx := NULL; -- 5132302
3533 l_bflow_applied_to_amt := NULL; -- 5132302
3534 l_entered_amt_idx := NULL; -- 4262811
3535 l_accted_amt_idx := NULL; -- 4262811
3536 l_acc_rev_flag := NULL; -- 4262811
3537 l_accrual_line_num := NULL; -- 4262811
3538 l_tmp_amt := NULL; -- 4262811
3539 --
3540
3541 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
3542 l_balance_type_code <> 'B' THEN
3543 IF NVL(p_source_15,'
3544 ') <> 'ACCRUAL' AND
3545 p_source_16 IS NOT NULL AND
3546 NVL(p_source_17,'
3547 ') = 'Y' AND
3548 NVL(p_source_18,'
3549 ') <> 'Y'
3550 THEN
3551
3552 --
3553 XLA_AE_LINES_PKG.SetNewLine;
3554
3555 p_balance_type_code := l_balance_type_code;
3556 -- set the flag so later we will know whether the gain loss line needs to be created
3557
3558 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
3559 p_actual_flag :='A';
3560 END IF;
3561
3562 --
3563 -- bulk performance
3564 --
3565 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
3566 p_header_num => 0); -- 4262811
3567 --
3568 -- set accounting line options
3569 --
3570 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
3571 p_natural_side_code => 'D'
3572 , p_gain_or_loss_flag => 'N'
3573 , p_gl_transfer_mode_code => 'S'
3574 , p_acct_entry_type_code => 'E'
3575 , p_switch_side_flag => 'Y'
3576 , p_merge_duplicate_code => 'N'
3577 );
3578 --
3579 l_acc_rev_natural_side_code := 'C'; -- 4262811
3580 --
3581 --
3582 -- set accounting line type info
3583 --
3584 xla_ae_lines_pkg.SetAcctLineType
3585 (p_component_type => l_component_type
3586 ,p_event_type_code => l_event_type_code
3587 ,p_line_definition_owner_code => l_line_definition_owner_code
3588 ,p_line_definition_code => l_line_definition_code
3589 ,p_accounting_line_code => l_component_code
3590 ,p_accounting_line_type_code => l_component_type_code
3591 ,p_accounting_line_appl_id => l_component_appl_id
3592 ,p_amb_context_code => l_amb_context_code
3593 ,p_entity_code => l_entity_code
3594 ,p_event_class_code => l_event_class_code);
3595 --
3596 -- set accounting class
3597 --
3598 xla_ae_lines_pkg.SetAcctClass(
3599 p_accounting_class_code => 'AMT_VARIANCE'
3600 , p_ae_header_id => l_ae_header_id
3601 );
3602
3603 --
3604 -- set rounding class
3605 --
3606 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
3607 'AMT_VARIANCE';
3608
3609 --
3610 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
3611 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
3612 --
3613 -- bulk performance
3614 --
3615 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
3616
3617 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
3618 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
3619
3620 -- 4955764
3621 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
3622 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
3623
3624 -- 4458381 Public Sector Enh
3625 XLA_AE_LINES_PKG.g_rec_lines.array_encumbrance_type_id(XLA_AE_LINES_PKG.g_LineNumber) := 1060;
3626 --
3627 -- set accounting attributes for the line type
3628 --
3629 l_entered_amt_idx := 24;
3630 l_accted_amt_idx := 29;
3631 l_bflow_applied_to_amt_idx := 7; -- 5132302
3632 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
3633 l_rec_acct_attrs.array_char_value(1) := p_source_19;
3634 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
3635 l_rec_acct_attrs.array_num_value(2) :=
3639 , p_source_application_id => 602
3636 xla_ae_sources_pkg.GetSystemSourceNum(
3637 p_source_code => 'XLA_EVENT_APPL_ID'
3638 , p_source_type_code => 'Y'
3640 );
3641 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
3642 l_rec_acct_attrs.array_char_value(3) := p_source_21;
3643 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
3644 l_rec_acct_attrs.array_char_value(4) :=
3645 xla_ae_sources_pkg.GetSystemSourceChar(
3646 p_source_code => 'XLA_ENTITY_CODE'
3647 , p_source_type_code => 'Y'
3648 , p_source_application_id => 602
3649 );
3650 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
3651 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_23);
3652 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
3653 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_24);
3654 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_AMOUNT';
3655 l_rec_acct_attrs.array_num_value(7) := p_source_57;
3656 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_APPLICATION_ID';
3657 l_rec_acct_attrs.array_num_value(8) := p_source_25;
3658 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_DISTRIBUTION_TYPE';
3659 l_rec_acct_attrs.array_char_value(9) := p_source_26;
3660 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_ENTITY_CODE';
3661 l_rec_acct_attrs.array_char_value(10) := p_source_27;
3662 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_DIST_ID';
3663 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_28);
3664 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
3665 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_29);
3666 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
3667 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_30);
3668 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_TYPE';
3669 l_rec_acct_attrs.array_char_value(14) := p_source_21;
3670 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
3671 l_rec_acct_attrs.array_num_value(15) := p_source_31;
3672 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
3673 l_rec_acct_attrs.array_num_value(16) := p_source_32;
3674 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
3675 l_rec_acct_attrs.array_char_value(17) := p_source_33;
3676 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
3677 l_rec_acct_attrs.array_num_value(18) := p_source_34;
3678 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_CCID';
3679 l_rec_acct_attrs.array_num_value(19) := p_source_35;
3680 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_AMT';
3681 l_rec_acct_attrs.array_num_value(20) := p_source_36;
3682 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_CURR';
3683 l_rec_acct_attrs.array_char_value(21) := p_source_33;
3684 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_LEDGER_AMT';
3685 l_rec_acct_attrs.array_num_value(22) := p_source_37;
3686 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_OPTION';
3687 l_rec_acct_attrs.array_char_value(23) := p_source_38;
3688 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_AMOUNT';
3689 l_rec_acct_attrs.array_num_value(24) := p_source_16;
3690 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_CODE';
3691 l_rec_acct_attrs.array_char_value(25) := p_source_33;
3692 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_DATE';
3693 l_rec_acct_attrs.array_date_value(26) := p_source_39;
3694 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE';
3695 l_rec_acct_attrs.array_num_value(27) := p_source_40;
3696 l_rec_acct_attrs.array_acct_attr_code(28) := 'EXCHANGE_RATE_TYPE';
3697 l_rec_acct_attrs.array_char_value(28) := p_source_41;
3698 l_rec_acct_attrs.array_acct_attr_code(29) := 'LEDGER_AMOUNT';
3699 l_rec_acct_attrs.array_num_value(29) := p_source_42;
3700 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_END_DATE';
3701 l_rec_acct_attrs.array_date_value(30) := p_source_43;
3702 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_OPTION';
3703 l_rec_acct_attrs.array_char_value(31) := p_source_44;
3704 l_rec_acct_attrs.array_acct_attr_code(32) := 'MULTIPERIOD_START_DATE';
3705 l_rec_acct_attrs.array_date_value(32) := p_source_45;
3706 l_rec_acct_attrs.array_acct_attr_code(33) := 'OVERRIDE_ACCTD_AMT_FLAG';
3707 l_rec_acct_attrs.array_char_value(33) := p_source_46;
3708 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_ID';
3709 l_rec_acct_attrs.array_num_value(34) := p_source_47;
3710 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_SITE_ID';
3711 l_rec_acct_attrs.array_num_value(35) := p_source_48;
3712 l_rec_acct_attrs.array_acct_attr_code(36) := 'PARTY_TYPE';
3713 l_rec_acct_attrs.array_char_value(36) := p_source_49;
3714 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_ID1';
3715 l_rec_acct_attrs.array_num_value(37) := to_char(p_source_50);
3716 l_rec_acct_attrs.array_acct_attr_code(38) := 'REVERSED_DISTRIBUTION_TYPE';
3717 l_rec_acct_attrs.array_char_value(38) := p_source_21;
3718 l_rec_acct_attrs.array_acct_attr_code(39) := 'STATISTICAL_AMOUNT';
3719 l_rec_acct_attrs.array_num_value(39) := p_source_51;
3720 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_LINE_REF_ID';
3721 l_rec_acct_attrs.array_num_value(40) := p_source_52;
3722 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_REC_NREC_DIST_REF_ID';
3723 l_rec_acct_attrs.array_num_value(41) := p_source_53;
3727 l_rec_acct_attrs.array_num_value(43) := p_source_55;
3724 l_rec_acct_attrs.array_acct_attr_code(42) := 'TAX_SUMMARY_LINE_REF_ID';
3725 l_rec_acct_attrs.array_num_value(42) := p_source_54;
3726 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_CR_ENC_TYPE_ID';
3728 l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
3729 l_rec_acct_attrs.array_num_value(44) := p_source_56;
3730
3731 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
3732 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
3733
3734 ---------------------------------------------------------------------------------------------------------------
3735 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
3736 ---------------------------------------------------------------------------------------------------------------
3737 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
3738
3739 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
3740 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
3741
3742 IF xla_accounting_cache_pkg.GetValueChar
3743 (p_source_code => 'LEDGER_CATEGORY_CODE'
3744 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
3745 AND l_bflow_method_code = 'PRIOR_ENTRY'
3746 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
3747 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
3748 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
3749 )
3750 THEN
3751 xla_ae_lines_pkg.BflowUpgEntry
3752 (p_business_method_code => l_bflow_method_code
3753 ,p_business_class_code => l_bflow_class_code
3754 ,p_balance_type => l_balance_type_code);
3755 ELSE
3756 NULL;
3757 -- No business flow processing for business flow method of NONE.
3758 END IF;
3759
3760 --
3761 -- call analytical criteria
3762 --
3763
3764 --
3765 -- call description
3766 --
3767
3768 xla_ae_lines_pkg.SetLineDescription(
3769 p_ae_header_id => l_ae_header_id
3770 ,p_description => Description_2 (
3771 p_application_id => p_application_id
3772 , p_ae_header_id => l_ae_header_id
3773 , p_source_1 => p_source_1
3774 )
3775 );
3776
3777
3778 --
3779 -- call ADRs
3780 -- Bug 4922099
3781 --
3782 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
3783 (NVL(l_actual_upg_option, 'N') = 'O') OR
3784 (NVL(l_enc_upg_option, 'N') = 'O')
3785 )
3786 THEN
3787 NULL;
3788 --
3789 --
3790
3791 l_ccid := AcctDerRule_7(
3792 p_application_id => p_application_id
3793 , p_ae_header_id => l_ae_header_id
3794 , p_source_11 => p_source_11
3795 , x_transaction_coa_id => l_adr_transaction_coa_id
3796 , x_accounting_coa_id => l_adr_accounting_coa_id
3797 , x_value_type_code => l_adr_value_type_code
3798 , p_side => 'NA'
3799 );
3800
3801 xla_ae_lines_pkg.set_ccid(
3802 p_code_combination_id => l_ccid
3803 , p_value_type_code => l_adr_value_type_code
3804 , p_transaction_coa_id => l_adr_transaction_coa_id
3805 , p_accounting_coa_id => l_adr_accounting_coa_id
3806 , p_adr_code => 'AP_INVOICE_DIST'
3807 , p_adr_type_code => 'S'
3808 , p_component_type => l_component_type
3809 , p_component_code => l_component_code
3810 , p_component_type_code => l_component_type_code
3811 , p_component_appl_id => l_component_appl_id
3812 , p_amb_context_code => l_amb_context_code
3813 , p_side => 'NA'
3814 );
3815
3816
3817 --
3818 --
3819 END IF;
3820 --
3821 -- Bug 4922099
3822 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
3823 (NVL(l_enc_upg_option, 'N') = 'O')
3824 ) AND
3825 (l_bflow_method_code = 'PRIOR_ENTRY')
3826 )
3827 THEN
3828 IF
3829 --
3830 1 = 2
3831 --
3832 THEN
3833 xla_accounting_err_pkg.build_message
3834 (p_appli_s_name => 'XLA'
3835 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
3836 ,p_token_1 => 'LINE_NUMBER'
3837 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
3838 ,p_token_2 => 'LINE_TYPE_NAME'
3839 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
3840 l_component_type
3841 ,l_component_code
3842 ,l_component_type_code
3843 ,l_component_appl_id
3847 )
3844 ,l_amb_context_code
3845 ,l_entity_code
3846 ,l_event_class_code
3848 ,p_token_3 => 'OWNER'
3849 ,p_value_3 => xla_lookups_pkg.get_meaning(
3850 p_lookup_type => 'XLA_OWNER_TYPE'
3851 ,p_lookup_code => l_component_type_code
3852 )
3853 ,p_token_4 => 'PRODUCT_NAME'
3854 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
3855 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
3856 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
3857 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
3858 ,p_ae_header_id => NULL
3859 );
3860
3861 IF (C_LEVEL_ERROR>= g_log_level) THEN
3862 trace
3863 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
3864 ,p_level => C_LEVEL_ERROR
3865 ,p_module => l_log_module);
3866 END IF;
3867 END IF;
3868 END IF;
3869 --
3870 --
3871 ------------------------------------------------------------------------------------------------
3872 -- 4219869 Business Flow
3873 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
3874 -- Prior Entry. Currently, the following code is always generated.
3875 ------------------------------------------------------------------------------------------------
3876 XLA_AE_LINES_PKG.ValidateCurrentLine;
3877
3878 ------------------------------------------------------------------------------------
3879 -- 4219869 Business Flow
3880 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
3881 ------------------------------------------------------------------------------------
3882 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
3883
3884 ----------------------------------------------------------------------------------
3885 -- 4219869 Business Flow
3886 -- Update journal entry status -- Need to generate this within IF <condition>
3887 ----------------------------------------------------------------------------------
3888 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
3889 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
3890 ,p_balance_type_code => l_balance_type_code
3891 );
3892
3893 -------------------------------------------------------------------------------------------
3894 -- 4262811 - Generate the Accrual Reversal lines
3895 -------------------------------------------------------------------------------------------
3896 BEGIN
3897 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
3898 (g_array_event(p_event_id).array_value_num('header_index'));
3899 IF l_acc_rev_flag IS NULL THEN
3900 l_acc_rev_flag := 'N';
3901 END IF;
3902 EXCEPTION
3903 WHEN OTHERS THEN
3904 l_acc_rev_flag := 'N';
3905 END;
3906 --
3907 IF (l_acc_rev_flag = 'Y') THEN
3908
3909 -- 4645092 ------------------------------------------------------------------------------
3910 -- To allow MPA report to determine if it should generate report process
3911 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
3912 ------------------------------------------------------------------------------------------
3913
3914 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
3915 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
3916 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
3917 -- call ADRs
3918 -- Bug 4922099
3919 --
3920 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
3921 (NVL(l_actual_upg_option, 'N') = 'O') OR
3922 (NVL(l_enc_upg_option, 'N') = 'O')
3923 )
3924 THEN
3925 NULL;
3926 --
3927 --
3928
3929 l_ccid := AcctDerRule_7(
3930 p_application_id => p_application_id
3931 , p_ae_header_id => l_ae_header_id
3932 , p_source_11 => p_source_11
3933 , x_transaction_coa_id => l_adr_transaction_coa_id
3934 , x_accounting_coa_id => l_adr_accounting_coa_id
3935 , x_value_type_code => l_adr_value_type_code
3936 , p_side => 'NA'
3937 );
3938
3939 xla_ae_lines_pkg.set_ccid(
3940 p_code_combination_id => l_ccid
3941 , p_value_type_code => l_adr_value_type_code
3942 , p_transaction_coa_id => l_adr_transaction_coa_id
3943 , p_accounting_coa_id => l_adr_accounting_coa_id
3944 , p_adr_code => 'AP_INVOICE_DIST'
3945 , p_adr_type_code => 'S'
3949 , p_component_appl_id => l_component_appl_id
3946 , p_component_type => l_component_type
3947 , p_component_code => l_component_code
3948 , p_component_type_code => l_component_type_code
3950 , p_amb_context_code => l_amb_context_code
3951 , p_side => 'NA'
3952 );
3953
3954
3955 --
3956 --
3957 END IF;
3958
3959 --
3960 -- Update the line information that should be overwritten
3961 --
3962 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
3963 p_header_num => 1);
3964 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
3965
3966 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
3967
3968 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
3969 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
3970 END IF;
3971
3972 --
3973 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
3974 --
3975 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
3976 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
3977 ELSE
3978 ---------------------------------------------------------------------------------------------------
3979 -- 4262811a Switch Sign
3980 ---------------------------------------------------------------------------------------------------
3981 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
3982 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
3983 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3984 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
3985 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3986 -- 5132302
3987 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
3988 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
3989
3990 END IF;
3991
3992 -- 4955764
3993 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
3994 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
3995
3996
3997 XLA_AE_LINES_PKG.ValidateCurrentLine;
3998 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
3999
4000 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
4001 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
4002 ,p_balance_type_code => l_balance_type_code);
4003
4004 END IF;
4005
4006 -----------------------------------------------------------------------------------------
4007 -- 4262811 Multiperiod Accounting
4008 -----------------------------------------------------------------------------------------
4009 -- No MPA option is assigned.
4010
4011
4012 END IF;
4013 END IF;
4014 --
4015
4016 --
4017 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
4018 trace
4019 (p_msg => 'END of AcctLineType_16'
4020 ,p_level => C_LEVEL_PROCEDURE
4021 ,p_module => l_log_module);
4022 END IF;
4023 --
4024 EXCEPTION
4025 WHEN xla_exceptions_pkg.application_exception THEN
4026 RAISE;
4027 WHEN OTHERS THEN
4028 xla_exceptions_pkg.raise_message
4029 (p_location => 'XLA_00200_AAD_S_000006_BC_PKG.AcctLineType_16');
4030 END AcctLineType_16;
4031 --
4032
4033 ---------------------------------------
4034 --
4035 -- PRIVATE FUNCTION
4036 -- AcctLineType_17
4037 --
4038 ---------------------------------------
4039 PROCEDURE AcctLineType_17 (
4040 p_application_id IN NUMBER
4041 ,p_event_id IN NUMBER
4042 ,p_calculate_acctd_flag IN VARCHAR2
4043 ,p_calculate_g_l_flag IN VARCHAR2
4044 ,p_actual_flag IN OUT VARCHAR2
4045 ,p_balance_type_code OUT VARCHAR2
4046 ,p_gain_or_loss_ref OUT VARCHAR2
4047
4048 --Invoice Distribution Description
4049 , p_source_1 IN VARCHAR2
4050 --Invoice Distribution Account
4051 , p_source_11 IN NUMBER
4052 --Invoice Distribution Type
4053 , p_source_15 IN VARCHAR2
4054 , p_source_15_meaning IN VARCHAR2
4055 --Amount for Variance Amount
4056 , p_source_16 IN NUMBER
4057 --Purchasing Encumbrance Option
4058 , p_source_17 IN VARCHAR2
4059 , p_source_17_meaning IN VARCHAR2
4060 --Accrue on Receipt Option
4061 , p_source_18 IN VARCHAR2
4062 , p_source_18_meaning IN VARCHAR2
4063 --Accounting Reversal Indicator
4064 , p_source_19 IN VARCHAR2
4065 --Distribution Link Type
4066 , p_source_21 IN VARCHAR2
4067 --Allocation to Main Distribution Identifier
4068 , p_source_23 IN NUMBER
4069 --Invoice Identifier
4070 , p_source_24 IN NUMBER
4074 , p_source_26 IN VARCHAR2
4071 --Business Flow Accounts Payable Application Identifier
4072 , p_source_25 IN NUMBER
4073 --Business Flow Invoice Distribution Type
4075 --Business Flow Invoice Entity Code
4076 , p_source_27 IN VARCHAR2
4077 --Business Flow Invoice Distribution Identifier
4078 , p_source_28 IN NUMBER
4079 --Business Flow Invoice Identifier
4080 , p_source_29 IN NUMBER
4081 --Invoice Distribution Identifier
4082 , p_source_30 IN NUMBER
4083 --Payables Encumbrance Upgrade Credit Account
4084 , p_source_31 IN NUMBER
4085 --Payables Encumbrance Upgrade Credit Amount
4086 , p_source_32 IN NUMBER
4087 --Invoice Currency Code
4088 , p_source_33 IN VARCHAR2
4089 --Payables Encumbrance Upgrade Credit Base Amount
4090 , p_source_34 IN NUMBER
4091 --Payables Encumbrance Upgrade Debit Account
4092 , p_source_35 IN NUMBER
4093 --Payables Encumbrance Upgrade Debit Amount
4094 , p_source_36 IN NUMBER
4095 --Payables Encumbrance Upgrade Debit Base Amount
4096 , p_source_37 IN NUMBER
4097 --Payables Encumbrance Upgrade Option
4098 , p_source_38 IN VARCHAR2
4099 --Invoice Exchange Date
4100 , p_source_39 IN DATE
4101 --Invoice Exchange Rate
4102 , p_source_40 IN NUMBER
4103 --Invoice Exchange Rate Type
4104 , p_source_41 IN VARCHAR2
4105 --Variance Amount in Ledger Currency
4106 , p_source_42 IN NUMBER
4107 --Deferred Accounting End Date
4108 , p_source_43 IN DATE
4109 --Deferred Accounting Option
4110 , p_source_44 IN VARCHAR2
4111 --Deferred Accounting Start Date
4112 , p_source_45 IN DATE
4113 --Override Accounted Amount Indicator
4114 , p_source_46 IN VARCHAR2
4115 , p_source_46_meaning IN VARCHAR2
4116 --Invoice Supplier Identifier
4117 , p_source_47 IN NUMBER
4118 --Invoice Supplier Site Identifier
4119 , p_source_48 IN NUMBER
4120 --Third Party Type
4121 , p_source_49 IN VARCHAR2
4122 --Parent Reversal Identifier
4123 , p_source_50 IN NUMBER
4124 --Invoice Distribution Statistical Amount
4125 , p_source_51 IN NUMBER
4126 --Invoice Distribution Tax Line Identifier
4127 , p_source_52 IN NUMBER
4128 --Invoice Distribution Tax Distribution Identifier from Tax
4129 , p_source_53 IN NUMBER
4130 --Invoice Distribution Summary Tax Line Identifier
4131 , p_source_54 IN NUMBER
4132 --Payables Upgrade Credit Encumbrance Type Identifier
4133 , p_source_55 IN NUMBER
4134 --Payables Upgrade Debit Encumbrance Type Identifier
4135 , p_source_56 IN NUMBER
4136 )
4137 IS
4138
4139 l_component_type VARCHAR2(80);
4140 l_component_code VARCHAR2(30);
4141 l_component_type_code VARCHAR2(1);
4142 l_component_appl_id INTEGER;
4143 l_amb_context_code VARCHAR2(30);
4144 l_entity_code VARCHAR2(30);
4145 l_event_class_code VARCHAR2(30);
4146 l_ae_header_id NUMBER;
4147 l_event_type_code VARCHAR2(30);
4148 l_line_definition_code VARCHAR2(30);
4149 l_line_definition_owner_code VARCHAR2(1);
4150 --
4151 -- adr variables
4152 l_segment VARCHAR2(30);
4153 l_ccid NUMBER;
4154 l_adr_transaction_coa_id NUMBER;
4155 l_adr_accounting_coa_id NUMBER;
4156 l_adr_flexfield_segment_code VARCHAR2(30);
4157 l_adr_flex_value_set_id NUMBER;
4158 l_adr_value_type_code VARCHAR2(30);
4159 l_adr_value_combination_id NUMBER;
4160 l_adr_value_segment_code VARCHAR2(30);
4161
4162 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
4163 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
4164 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
4165 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
4166
4167 -- 4262811 Variables ------------------------------------------------------------------------------------------
4168 l_entered_amt_idx NUMBER;
4169 l_accted_amt_idx NUMBER;
4170 l_acc_rev_flag VARCHAR2(1);
4171 l_accrual_line_num NUMBER;
4172 l_tmp_amt NUMBER;
4173 l_acc_rev_natural_side_code VARCHAR2(1);
4174
4175 l_num_entries NUMBER;
4176 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
4177 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
4178 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
4179 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
4180 l_recog_line_1 NUMBER;
4181 l_recog_line_2 NUMBER;
4182
4183 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
4184 l_bflow_applied_to_amt NUMBER; -- 5132302
4185 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
4186
4187 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
4188
4189 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
4190 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
4191
4195 --
4192 ---------------------------------------------------------------------------------------------------------------
4193
4194
4196 -- bulk performance
4197 --
4198 l_balance_type_code VARCHAR2(1);
4199 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
4200 l_log_module VARCHAR2(240);
4201
4202 --
4203 -- Upgrade strategy
4204 --
4205 l_actual_upg_option VARCHAR2(1);
4206 l_enc_upg_option VARCHAR2(1);
4207
4208 --
4209 BEGIN
4210 --
4211 IF g_log_enabled THEN
4212 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_17';
4213 END IF;
4214 --
4215 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
4216
4217 trace
4218 (p_msg => 'BEGIN of AcctLineType_17'
4219 ,p_level => C_LEVEL_PROCEDURE
4220 ,p_module => l_log_module);
4221
4222 END IF;
4223 --
4224 l_component_type := 'AMB_JLT';
4225 l_component_code := 'AP_AMOUNT_VARIANCE_PP_ENC_DR';
4226 l_component_type_code := 'S';
4227 l_component_appl_id := 200;
4228 l_amb_context_code := 'DEFAULT';
4229 l_entity_code := 'AP_INVOICES';
4230 l_event_class_code := 'PREPAYMENTS';
4231 l_event_type_code := 'PREPAYMENTS_ALL';
4232 l_line_definition_owner_code := 'S';
4233 l_line_definition_code := 'ENC_PREPAY_ALL';
4234 --
4235 l_balance_type_code := 'E';
4236 l_segment := NULL;
4237 l_ccid := NULL;
4238 l_adr_transaction_coa_id := NULL;
4239 l_adr_accounting_coa_id := NULL;
4240 l_adr_flexfield_segment_code := NULL;
4241 l_adr_flex_value_set_id := NULL;
4242 l_adr_value_type_code := NULL;
4243 l_adr_value_combination_id := NULL;
4244 l_adr_value_segment_code := NULL;
4245
4246 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
4247 l_bflow_class_code := 'AP_INV_ENCUM'; -- 4219869 Business Flow
4248 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
4249 l_budgetary_control_flag := 'Y';
4250
4251 l_bflow_applied_to_amt_idx := NULL; -- 5132302
4252 l_bflow_applied_to_amt := NULL; -- 5132302
4253 l_entered_amt_idx := NULL; -- 4262811
4254 l_accted_amt_idx := NULL; -- 4262811
4255 l_acc_rev_flag := NULL; -- 4262811
4256 l_accrual_line_num := NULL; -- 4262811
4257 l_tmp_amt := NULL; -- 4262811
4258 --
4259
4260 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
4261 l_balance_type_code <> 'B' THEN
4262 IF NVL(p_source_15,'
4263 ') = 'ITEM' AND
4264 p_source_16 IS NOT NULL AND
4265 NVL(p_source_17,'
4266 ') = 'Y' AND
4267 NVL(p_source_18,'
4268 ') <> 'Y'
4269 THEN
4270
4271 --
4272 XLA_AE_LINES_PKG.SetNewLine;
4273
4274 p_balance_type_code := l_balance_type_code;
4275 -- set the flag so later we will know whether the gain loss line needs to be created
4276
4277 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
4278 p_actual_flag :='A';
4279 END IF;
4280
4281 --
4282 -- bulk performance
4283 --
4284 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
4285 p_header_num => 0); -- 4262811
4286 --
4287 -- set accounting line options
4288 --
4289 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
4290 p_natural_side_code => 'D'
4291 , p_gain_or_loss_flag => 'N'
4292 , p_gl_transfer_mode_code => 'S'
4293 , p_acct_entry_type_code => 'E'
4294 , p_switch_side_flag => 'Y'
4295 , p_merge_duplicate_code => 'N'
4296 );
4297 --
4298 l_acc_rev_natural_side_code := 'C'; -- 4262811
4299 --
4300 --
4301 -- set accounting line type info
4302 --
4303 xla_ae_lines_pkg.SetAcctLineType
4304 (p_component_type => l_component_type
4305 ,p_event_type_code => l_event_type_code
4306 ,p_line_definition_owner_code => l_line_definition_owner_code
4307 ,p_line_definition_code => l_line_definition_code
4308 ,p_accounting_line_code => l_component_code
4309 ,p_accounting_line_type_code => l_component_type_code
4310 ,p_accounting_line_appl_id => l_component_appl_id
4311 ,p_amb_context_code => l_amb_context_code
4312 ,p_entity_code => l_entity_code
4313 ,p_event_class_code => l_event_class_code);
4314 --
4315 -- set accounting class
4316 --
4317 xla_ae_lines_pkg.SetAcctClass(
4318 p_accounting_class_code => 'AMT_VARIANCE'
4319 , p_ae_header_id => l_ae_header_id
4320 );
4321
4322 --
4323 -- set rounding class
4324 --
4325 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
4326 'AMT_VARIANCE';
4327
4328 --
4329 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
4330 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
4334 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
4331 --
4332 -- bulk performance
4333 --
4335
4336 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
4337 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
4338
4339 -- 4955764
4340 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
4341 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
4342
4343 -- 4458381 Public Sector Enh
4344 XLA_AE_LINES_PKG.g_rec_lines.array_encumbrance_type_id(XLA_AE_LINES_PKG.g_LineNumber) := 1060;
4345 --
4346 -- set accounting attributes for the line type
4347 --
4348 l_entered_amt_idx := 23;
4349 l_accted_amt_idx := 28;
4350 l_bflow_applied_to_amt_idx := NULL; -- 5132302
4351 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
4352 l_rec_acct_attrs.array_char_value(1) := p_source_19;
4353 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
4354 l_rec_acct_attrs.array_num_value(2) :=
4355 xla_ae_sources_pkg.GetSystemSourceNum(
4356 p_source_code => 'XLA_EVENT_APPL_ID'
4357 , p_source_type_code => 'Y'
4358 , p_source_application_id => 602
4359 );
4360 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
4361 l_rec_acct_attrs.array_char_value(3) := p_source_21;
4362 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
4363 l_rec_acct_attrs.array_char_value(4) :=
4364 xla_ae_sources_pkg.GetSystemSourceChar(
4365 p_source_code => 'XLA_ENTITY_CODE'
4366 , p_source_type_code => 'Y'
4367 , p_source_application_id => 602
4368 );
4369 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
4370 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_23);
4371 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
4372 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_24);
4373 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
4374 l_rec_acct_attrs.array_num_value(7) := p_source_25;
4375 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
4376 l_rec_acct_attrs.array_char_value(8) := p_source_26;
4377 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
4378 l_rec_acct_attrs.array_char_value(9) := p_source_27;
4379 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
4380 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_28);
4381 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
4382 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_29);
4383 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
4384 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_30);
4385 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
4386 l_rec_acct_attrs.array_char_value(13) := p_source_21;
4387 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
4388 l_rec_acct_attrs.array_num_value(14) := p_source_31;
4389 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
4390 l_rec_acct_attrs.array_num_value(15) := p_source_32;
4391 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
4392 l_rec_acct_attrs.array_char_value(16) := p_source_33;
4393 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
4394 l_rec_acct_attrs.array_num_value(17) := p_source_34;
4395 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
4396 l_rec_acct_attrs.array_num_value(18) := p_source_35;
4397 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
4398 l_rec_acct_attrs.array_num_value(19) := p_source_36;
4399 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
4400 l_rec_acct_attrs.array_char_value(20) := p_source_33;
4401 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
4402 l_rec_acct_attrs.array_num_value(21) := p_source_37;
4403 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
4404 l_rec_acct_attrs.array_char_value(22) := p_source_38;
4405 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
4406 l_rec_acct_attrs.array_num_value(23) := p_source_16;
4407 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
4408 l_rec_acct_attrs.array_char_value(24) := p_source_33;
4409 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
4410 l_rec_acct_attrs.array_date_value(25) := p_source_39;
4411 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
4412 l_rec_acct_attrs.array_num_value(26) := p_source_40;
4413 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
4414 l_rec_acct_attrs.array_char_value(27) := p_source_41;
4415 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
4416 l_rec_acct_attrs.array_num_value(28) := p_source_42;
4417 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
4418 l_rec_acct_attrs.array_date_value(29) := p_source_43;
4419 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
4420 l_rec_acct_attrs.array_char_value(30) := p_source_44;
4421 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
4422 l_rec_acct_attrs.array_date_value(31) := p_source_45;
4423 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
4424 l_rec_acct_attrs.array_char_value(32) := p_source_46;
4425 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
4429 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
4426 l_rec_acct_attrs.array_num_value(33) := p_source_47;
4427 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
4428 l_rec_acct_attrs.array_num_value(34) := p_source_48;
4430 l_rec_acct_attrs.array_char_value(35) := p_source_49;
4431 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
4432 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_50);
4433 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
4434 l_rec_acct_attrs.array_char_value(37) := p_source_21;
4435 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
4436 l_rec_acct_attrs.array_num_value(38) := p_source_51;
4437 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
4438 l_rec_acct_attrs.array_num_value(39) := p_source_52;
4439 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
4440 l_rec_acct_attrs.array_num_value(40) := p_source_53;
4441 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
4442 l_rec_acct_attrs.array_num_value(41) := p_source_54;
4443 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
4444 l_rec_acct_attrs.array_num_value(42) := p_source_55;
4445 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
4446 l_rec_acct_attrs.array_num_value(43) := p_source_56;
4447
4448 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
4449 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
4450
4451 ---------------------------------------------------------------------------------------------------------------
4452 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
4453 ---------------------------------------------------------------------------------------------------------------
4454 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
4455
4456 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
4457 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
4458
4459 IF xla_accounting_cache_pkg.GetValueChar
4460 (p_source_code => 'LEDGER_CATEGORY_CODE'
4461 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
4462 AND l_bflow_method_code = 'PRIOR_ENTRY'
4463 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
4464 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
4465 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
4466 )
4467 THEN
4468 xla_ae_lines_pkg.BflowUpgEntry
4469 (p_business_method_code => l_bflow_method_code
4470 ,p_business_class_code => l_bflow_class_code
4471 ,p_balance_type => l_balance_type_code);
4472 ELSE
4473 NULL;
4474 -- No business flow processing for business flow method of NONE.
4475 END IF;
4476
4477 --
4478 -- call analytical criteria
4479 --
4480
4481 --
4482 -- call description
4483 --
4484
4485 xla_ae_lines_pkg.SetLineDescription(
4486 p_ae_header_id => l_ae_header_id
4487 ,p_description => Description_2 (
4488 p_application_id => p_application_id
4489 , p_ae_header_id => l_ae_header_id
4490 , p_source_1 => p_source_1
4491 )
4492 );
4493
4494
4495 --
4496 -- call ADRs
4497 -- Bug 4922099
4498 --
4499 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
4500 (NVL(l_actual_upg_option, 'N') = 'O') OR
4501 (NVL(l_enc_upg_option, 'N') = 'O')
4502 )
4503 THEN
4504 NULL;
4505 --
4506 --
4507
4508 l_ccid := AcctDerRule_7(
4509 p_application_id => p_application_id
4510 , p_ae_header_id => l_ae_header_id
4511 , p_source_11 => p_source_11
4512 , x_transaction_coa_id => l_adr_transaction_coa_id
4513 , x_accounting_coa_id => l_adr_accounting_coa_id
4514 , x_value_type_code => l_adr_value_type_code
4515 , p_side => 'NA'
4516 );
4517
4518 xla_ae_lines_pkg.set_ccid(
4519 p_code_combination_id => l_ccid
4520 , p_value_type_code => l_adr_value_type_code
4521 , p_transaction_coa_id => l_adr_transaction_coa_id
4522 , p_accounting_coa_id => l_adr_accounting_coa_id
4523 , p_adr_code => 'AP_INVOICE_DIST'
4524 , p_adr_type_code => 'S'
4525 , p_component_type => l_component_type
4526 , p_component_code => l_component_code
4527 , p_component_type_code => l_component_type_code
4528 , p_component_appl_id => l_component_appl_id
4529 , p_amb_context_code => l_amb_context_code
4530 , p_side => 'NA'
4531 );
4532
4533
4534 --
4535 --
4536 END IF;
4537 --
4538 -- Bug 4922099
4539 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
4540 (NVL(l_enc_upg_option, 'N') = 'O')
4541 ) AND
4542 (l_bflow_method_code = 'PRIOR_ENTRY')
4543 )
4544 THEN
4545 IF
4546 --
4547 1 = 2
4548 --
4549 THEN
4550 xla_accounting_err_pkg.build_message
4554 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
4551 (p_appli_s_name => 'XLA'
4552 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
4553 ,p_token_1 => 'LINE_NUMBER'
4555 ,p_token_2 => 'LINE_TYPE_NAME'
4556 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
4557 l_component_type
4558 ,l_component_code
4559 ,l_component_type_code
4560 ,l_component_appl_id
4561 ,l_amb_context_code
4562 ,l_entity_code
4563 ,l_event_class_code
4564 )
4565 ,p_token_3 => 'OWNER'
4566 ,p_value_3 => xla_lookups_pkg.get_meaning(
4567 p_lookup_type => 'XLA_OWNER_TYPE'
4568 ,p_lookup_code => l_component_type_code
4569 )
4570 ,p_token_4 => 'PRODUCT_NAME'
4571 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
4572 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
4573 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
4574 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
4575 ,p_ae_header_id => NULL
4576 );
4577
4578 IF (C_LEVEL_ERROR>= g_log_level) THEN
4579 trace
4580 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
4581 ,p_level => C_LEVEL_ERROR
4582 ,p_module => l_log_module);
4583 END IF;
4584 END IF;
4585 END IF;
4586 --
4587 --
4588 ------------------------------------------------------------------------------------------------
4589 -- 4219869 Business Flow
4590 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
4591 -- Prior Entry. Currently, the following code is always generated.
4592 ------------------------------------------------------------------------------------------------
4593 XLA_AE_LINES_PKG.ValidateCurrentLine;
4594
4595 ------------------------------------------------------------------------------------
4596 -- 4219869 Business Flow
4597 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
4598 ------------------------------------------------------------------------------------
4599 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
4600
4601 ----------------------------------------------------------------------------------
4602 -- 4219869 Business Flow
4603 -- Update journal entry status -- Need to generate this within IF <condition>
4604 ----------------------------------------------------------------------------------
4605 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
4606 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
4607 ,p_balance_type_code => l_balance_type_code
4608 );
4609
4610 -------------------------------------------------------------------------------------------
4611 -- 4262811 - Generate the Accrual Reversal lines
4612 -------------------------------------------------------------------------------------------
4613 BEGIN
4614 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
4615 (g_array_event(p_event_id).array_value_num('header_index'));
4616 IF l_acc_rev_flag IS NULL THEN
4617 l_acc_rev_flag := 'N';
4618 END IF;
4619 EXCEPTION
4620 WHEN OTHERS THEN
4621 l_acc_rev_flag := 'N';
4622 END;
4623 --
4624 IF (l_acc_rev_flag = 'Y') THEN
4625
4626 -- 4645092 ------------------------------------------------------------------------------
4627 -- To allow MPA report to determine if it should generate report process
4628 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
4629 ------------------------------------------------------------------------------------------
4630
4631 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
4632 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
4633 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
4634 -- call ADRs
4635 -- Bug 4922099
4636 --
4637 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
4638 (NVL(l_actual_upg_option, 'N') = 'O') OR
4639 (NVL(l_enc_upg_option, 'N') = 'O')
4640 )
4641 THEN
4642 NULL;
4643 --
4644 --
4645
4649 , p_source_11 => p_source_11
4646 l_ccid := AcctDerRule_7(
4647 p_application_id => p_application_id
4648 , p_ae_header_id => l_ae_header_id
4650 , x_transaction_coa_id => l_adr_transaction_coa_id
4651 , x_accounting_coa_id => l_adr_accounting_coa_id
4652 , x_value_type_code => l_adr_value_type_code
4653 , p_side => 'NA'
4654 );
4655
4656 xla_ae_lines_pkg.set_ccid(
4657 p_code_combination_id => l_ccid
4658 , p_value_type_code => l_adr_value_type_code
4659 , p_transaction_coa_id => l_adr_transaction_coa_id
4660 , p_accounting_coa_id => l_adr_accounting_coa_id
4661 , p_adr_code => 'AP_INVOICE_DIST'
4662 , p_adr_type_code => 'S'
4663 , p_component_type => l_component_type
4664 , p_component_code => l_component_code
4665 , p_component_type_code => l_component_type_code
4666 , p_component_appl_id => l_component_appl_id
4667 , p_amb_context_code => l_amb_context_code
4668 , p_side => 'NA'
4669 );
4670
4671
4672 --
4673 --
4674 END IF;
4675
4676 --
4677 -- Update the line information that should be overwritten
4678 --
4679 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
4680 p_header_num => 1);
4681 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
4682
4683 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
4684
4685 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
4686 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
4687 END IF;
4688
4689 --
4690 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
4691 --
4692 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
4693 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
4694 ELSE
4695 ---------------------------------------------------------------------------------------------------
4696 -- 4262811a Switch Sign
4697 ---------------------------------------------------------------------------------------------------
4698 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
4699 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
4700 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
4701 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
4702 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
4703 -- 5132302
4704 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
4705 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
4706
4707 END IF;
4708
4709 -- 4955764
4710 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
4711 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
4712
4713
4714 XLA_AE_LINES_PKG.ValidateCurrentLine;
4715 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
4716
4717 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
4718 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
4719 ,p_balance_type_code => l_balance_type_code);
4720
4721 END IF;
4722
4723 -----------------------------------------------------------------------------------------
4724 -- 4262811 Multiperiod Accounting
4725 -----------------------------------------------------------------------------------------
4726 -- No MPA option is assigned.
4727
4728
4729 END IF;
4730 END IF;
4731 --
4732
4733 --
4734 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
4735 trace
4736 (p_msg => 'END of AcctLineType_17'
4737 ,p_level => C_LEVEL_PROCEDURE
4738 ,p_module => l_log_module);
4739 END IF;
4740 --
4741 EXCEPTION
4742 WHEN xla_exceptions_pkg.application_exception THEN
4743 RAISE;
4744 WHEN OTHERS THEN
4745 xla_exceptions_pkg.raise_message
4746 (p_location => 'XLA_00200_AAD_S_000006_BC_PKG.AcctLineType_17');
4747 END AcctLineType_17;
4748 --
4749
4750 ---------------------------------------
4751 --
4752 -- PRIVATE FUNCTION
4753 -- AcctLineType_18
4754 --
4755 ---------------------------------------
4756 PROCEDURE AcctLineType_18 (
4757 p_application_id IN NUMBER
4758 ,p_event_id IN NUMBER
4759 ,p_calculate_acctd_flag IN VARCHAR2
4760 ,p_calculate_g_l_flag IN VARCHAR2
4761 ,p_actual_flag IN OUT VARCHAR2
4762 ,p_balance_type_code OUT VARCHAR2
4763 ,p_gain_or_loss_ref OUT VARCHAR2
4764
4765 --Invoice Distribution Type
4769 , p_source_18 IN VARCHAR2
4766 , p_source_15 IN VARCHAR2
4767 , p_source_15_meaning IN VARCHAR2
4768 --Accrue on Receipt Option
4770 , p_source_18_meaning IN VARCHAR2
4771 --Accounting Reversal Indicator
4772 , p_source_19 IN VARCHAR2
4773 --Distribution Link Type
4774 , p_source_21 IN VARCHAR2
4775 --Allocation to Main Distribution Identifier
4776 , p_source_23 IN NUMBER
4777 --Invoice Identifier
4778 , p_source_24 IN NUMBER
4779 --Invoice Distribution Identifier
4780 , p_source_30 IN NUMBER
4781 --Payables Encumbrance Upgrade Credit Account
4782 , p_source_31 IN NUMBER
4783 --Payables Encumbrance Upgrade Credit Amount
4784 , p_source_32 IN NUMBER
4785 --Invoice Currency Code
4786 , p_source_33 IN VARCHAR2
4787 --Payables Encumbrance Upgrade Credit Base Amount
4788 , p_source_34 IN NUMBER
4789 --Payables Encumbrance Upgrade Debit Account
4790 , p_source_35 IN NUMBER
4791 --Payables Encumbrance Upgrade Debit Amount
4792 , p_source_36 IN NUMBER
4793 --Payables Encumbrance Upgrade Debit Base Amount
4794 , p_source_37 IN NUMBER
4795 --Payables Encumbrance Upgrade Option
4796 , p_source_38 IN VARCHAR2
4797 --Deferred Accounting End Date
4798 , p_source_43 IN DATE
4799 --Deferred Accounting Option
4800 , p_source_44 IN VARCHAR2
4801 --Deferred Accounting Start Date
4802 , p_source_45 IN DATE
4803 --Override Accounted Amount Indicator
4804 , p_source_46 IN VARCHAR2
4805 , p_source_46_meaning IN VARCHAR2
4806 --Third Party Type
4807 , p_source_49 IN VARCHAR2
4808 --Parent Reversal Identifier
4809 , p_source_50 IN NUMBER
4810 --Invoice Distribution Statistical Amount
4811 , p_source_51 IN NUMBER
4812 --Invoice Distribution Tax Line Identifier
4813 , p_source_52 IN NUMBER
4814 --Invoice Distribution Tax Distribution Identifier from Tax
4815 , p_source_53 IN NUMBER
4816 --Invoice Distribution Summary Tax Line Identifier
4817 , p_source_54 IN NUMBER
4818 --Payables Upgrade Credit Encumbrance Type Identifier
4819 , p_source_55 IN NUMBER
4820 --Payables Upgrade Debit Encumbrance Type Identifier
4821 , p_source_56 IN NUMBER
4822 --Purchase Order Distribution Identifier
4823 , p_source_58 IN NUMBER
4824 --Self-Assessed Tax Flag
4825 , p_source_59 IN VARCHAR2
4826 , p_source_59_meaning IN VARCHAR2
4827 --Business Flow Purchasing Application Identifier
4828 , p_source_60 IN NUMBER
4829 --Business Flow Purchase Order Distribution Type
4830 , p_source_61 IN VARCHAR2
4831 --Business Flow Purchase Order Entity Code
4832 , p_source_62 IN VARCHAR2
4833 --Business Flow Purchase Order Distribution Identifier
4834 , p_source_63 IN NUMBER
4835 --Business Flow Purchasing Document Identifier
4836 , p_source_64 IN NUMBER
4837 --Invoice Distribution Encumbrance Amount
4838 , p_source_65 IN NUMBER
4839 --Invoice Distribution Encumbrance Ledger Amount
4840 , p_source_66 IN NUMBER
4841 )
4842 IS
4843
4844 l_component_type VARCHAR2(80);
4845 l_component_code VARCHAR2(30);
4846 l_component_type_code VARCHAR2(1);
4847 l_component_appl_id INTEGER;
4848 l_amb_context_code VARCHAR2(30);
4849 l_entity_code VARCHAR2(30);
4850 l_event_class_code VARCHAR2(30);
4851 l_ae_header_id NUMBER;
4852 l_event_type_code VARCHAR2(30);
4853 l_line_definition_code VARCHAR2(30);
4854 l_line_definition_owner_code VARCHAR2(1);
4855 --
4856 -- adr variables
4857 l_segment VARCHAR2(30);
4858 l_ccid NUMBER;
4859 l_adr_transaction_coa_id NUMBER;
4860 l_adr_accounting_coa_id NUMBER;
4861 l_adr_flexfield_segment_code VARCHAR2(30);
4862 l_adr_flex_value_set_id NUMBER;
4863 l_adr_value_type_code VARCHAR2(30);
4864 l_adr_value_combination_id NUMBER;
4865 l_adr_value_segment_code VARCHAR2(30);
4866
4867 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
4868 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
4869 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
4870 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
4871
4872 -- 4262811 Variables ------------------------------------------------------------------------------------------
4873 l_entered_amt_idx NUMBER;
4874 l_accted_amt_idx NUMBER;
4875 l_acc_rev_flag VARCHAR2(1);
4876 l_accrual_line_num NUMBER;
4877 l_tmp_amt NUMBER;
4878 l_acc_rev_natural_side_code VARCHAR2(1);
4879
4880 l_num_entries NUMBER;
4881 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
4882 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
4883 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
4884 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
4885 l_recog_line_1 NUMBER;
4886 l_recog_line_2 NUMBER;
4887
4888 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
4889 l_bflow_applied_to_amt NUMBER; -- 5132302
4893
4890 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
4891
4892 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
4894 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
4895 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
4896
4897 ---------------------------------------------------------------------------------------------------------------
4898
4899
4900 --
4901 -- bulk performance
4902 --
4903 l_balance_type_code VARCHAR2(1);
4904 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
4905 l_log_module VARCHAR2(240);
4906
4907 --
4908 -- Upgrade strategy
4909 --
4910 l_actual_upg_option VARCHAR2(1);
4911 l_enc_upg_option VARCHAR2(1);
4912
4913 --
4914 BEGIN
4915 --
4916 IF g_log_enabled THEN
4917 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_18';
4918 END IF;
4919 --
4920 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
4921
4922 trace
4923 (p_msg => 'BEGIN of AcctLineType_18'
4924 ,p_level => C_LEVEL_PROCEDURE
4925 ,p_module => l_log_module);
4926
4927 END IF;
4928 --
4929 l_component_type := 'AMB_JLT';
4930 l_component_code := 'AP_CM_NON_REC_TAX_PO_ENC';
4931 l_component_type_code := 'S';
4932 l_component_appl_id := 200;
4933 l_amb_context_code := 'DEFAULT';
4934 l_entity_code := 'AP_INVOICES';
4935 l_event_class_code := 'CREDIT MEMOS';
4936 l_event_type_code := 'CREDIT MEMOS_ALL';
4937 l_line_definition_owner_code := 'S';
4938 l_line_definition_code := 'ENC_CM_ALL';
4939 --
4940 l_balance_type_code := 'E';
4941 l_segment := NULL;
4942 l_ccid := NULL;
4943 l_adr_transaction_coa_id := NULL;
4944 l_adr_accounting_coa_id := NULL;
4945 l_adr_flexfield_segment_code := NULL;
4946 l_adr_flex_value_set_id := NULL;
4947 l_adr_value_type_code := NULL;
4948 l_adr_value_combination_id := NULL;
4949 l_adr_value_segment_code := NULL;
4950
4951 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
4952 l_bflow_class_code := 'PO_ENCUMBRANCE'; -- 4219869 Business Flow
4953 l_inherit_desc_flag := 'Y'; -- 4219869 Business Flow
4954 l_budgetary_control_flag := 'Y';
4955
4956 l_bflow_applied_to_amt_idx := NULL; -- 5132302
4957 l_bflow_applied_to_amt := NULL; -- 5132302
4958 l_entered_amt_idx := NULL; -- 4262811
4959 l_accted_amt_idx := NULL; -- 4262811
4960 l_acc_rev_flag := NULL; -- 4262811
4961 l_accrual_line_num := NULL; -- 4262811
4962 l_tmp_amt := NULL; -- 4262811
4963 --
4964
4965 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
4966 l_balance_type_code <> 'B' THEN
4967 IF p_source_58 IS NOT NULL AND
4968 NVL(p_source_15,'
4969 ') = 'NONREC_TAX' AND
4970 NVL(p_source_59,'
4971 ') <> 'Y' AND
4972 NVL(p_source_18,'
4973 ') <> 'Y'
4974 THEN
4975
4976 --
4977 XLA_AE_LINES_PKG.SetNewLine;
4978
4979 p_balance_type_code := l_balance_type_code;
4980 -- set the flag so later we will know whether the gain loss line needs to be created
4981
4982 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
4983 p_actual_flag :='A';
4984 END IF;
4985
4986 --
4987 -- bulk performance
4988 --
4989 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
4990 p_header_num => 0); -- 4262811
4991 --
4992 -- set accounting line options
4993 --
4994 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
4995 p_natural_side_code => 'C'
4996 , p_gain_or_loss_flag => 'N'
4997 , p_gl_transfer_mode_code => 'S'
4998 , p_acct_entry_type_code => 'E'
4999 , p_switch_side_flag => 'Y'
5000 , p_merge_duplicate_code => 'N'
5001 );
5002 --
5003 l_acc_rev_natural_side_code := 'D'; -- 4262811
5004 --
5005 --
5006 -- set accounting line type info
5007 --
5008 xla_ae_lines_pkg.SetAcctLineType
5009 (p_component_type => l_component_type
5010 ,p_event_type_code => l_event_type_code
5011 ,p_line_definition_owner_code => l_line_definition_owner_code
5012 ,p_line_definition_code => l_line_definition_code
5013 ,p_accounting_line_code => l_component_code
5014 ,p_accounting_line_type_code => l_component_type_code
5015 ,p_accounting_line_appl_id => l_component_appl_id
5016 ,p_amb_context_code => l_amb_context_code
5017 ,p_entity_code => l_entity_code
5018 ,p_event_class_code => l_event_class_code);
5019 --
5020 -- set accounting class
5021 --
5022 xla_ae_lines_pkg.SetAcctClass(
5023 p_accounting_class_code => 'PURCHASE_ORDER'
5024 , p_ae_header_id => l_ae_header_id
5025 );
5026
5030 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
5027 --
5028 -- set rounding class
5029 --
5031 'PURCHASE_ORDER';
5032
5033 --
5034 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
5035 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
5036 --
5037 -- bulk performance
5038 --
5039 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
5040
5041 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
5042 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
5043
5044 -- 4955764
5045 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
5046 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
5047
5048 -- 4458381 Public Sector Enh
5049
5050 --
5051 -- set accounting attributes for the line type
5052 --
5053 l_entered_amt_idx := 23;
5054 l_accted_amt_idx := 25;
5055 l_bflow_applied_to_amt_idx := NULL; -- 5132302
5056 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
5057 l_rec_acct_attrs.array_char_value(1) := p_source_19;
5058 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
5059 l_rec_acct_attrs.array_num_value(2) :=
5060 xla_ae_sources_pkg.GetSystemSourceNum(
5061 p_source_code => 'XLA_EVENT_APPL_ID'
5062 , p_source_type_code => 'Y'
5063 , p_source_application_id => 602
5064 );
5065 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
5066 l_rec_acct_attrs.array_char_value(3) := p_source_21;
5067 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
5068 l_rec_acct_attrs.array_char_value(4) :=
5069 xla_ae_sources_pkg.GetSystemSourceChar(
5070 p_source_code => 'XLA_ENTITY_CODE'
5071 , p_source_type_code => 'Y'
5072 , p_source_application_id => 602
5073 );
5074 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
5075 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_23);
5076 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
5077 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_24);
5078 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
5079 l_rec_acct_attrs.array_num_value(7) := p_source_60;
5080 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
5081 l_rec_acct_attrs.array_char_value(8) := p_source_61;
5082 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
5083 l_rec_acct_attrs.array_char_value(9) := p_source_62;
5084 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
5085 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_63);
5086 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
5087 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_64);
5088 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
5089 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_30);
5090 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
5091 l_rec_acct_attrs.array_char_value(13) := p_source_21;
5092 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
5093 l_rec_acct_attrs.array_num_value(14) := p_source_31;
5094 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
5095 l_rec_acct_attrs.array_num_value(15) := p_source_32;
5096 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
5097 l_rec_acct_attrs.array_char_value(16) := p_source_33;
5098 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
5099 l_rec_acct_attrs.array_num_value(17) := p_source_34;
5100 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
5101 l_rec_acct_attrs.array_num_value(18) := p_source_35;
5102 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
5103 l_rec_acct_attrs.array_num_value(19) := p_source_36;
5104 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
5105 l_rec_acct_attrs.array_char_value(20) := p_source_33;
5106 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
5107 l_rec_acct_attrs.array_num_value(21) := p_source_37;
5108 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
5109 l_rec_acct_attrs.array_char_value(22) := p_source_38;
5110 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
5111 l_rec_acct_attrs.array_num_value(23) := p_source_65;
5112 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
5113 l_rec_acct_attrs.array_char_value(24) := p_source_33;
5114 l_rec_acct_attrs.array_acct_attr_code(25) := 'LEDGER_AMOUNT';
5115 l_rec_acct_attrs.array_num_value(25) := p_source_66;
5116 l_rec_acct_attrs.array_acct_attr_code(26) := 'MULTIPERIOD_END_DATE';
5117 l_rec_acct_attrs.array_date_value(26) := p_source_43;
5118 l_rec_acct_attrs.array_acct_attr_code(27) := 'MULTIPERIOD_OPTION';
5119 l_rec_acct_attrs.array_char_value(27) := p_source_44;
5120 l_rec_acct_attrs.array_acct_attr_code(28) := 'MULTIPERIOD_START_DATE';
5121 l_rec_acct_attrs.array_date_value(28) := p_source_45;
5122 l_rec_acct_attrs.array_acct_attr_code(29) := 'OVERRIDE_ACCTD_AMT_FLAG';
5123 l_rec_acct_attrs.array_char_value(29) := p_source_46;
5127 l_rec_acct_attrs.array_num_value(31) := to_char(p_source_50);
5124 l_rec_acct_attrs.array_acct_attr_code(30) := 'PARTY_TYPE';
5125 l_rec_acct_attrs.array_char_value(30) := p_source_49;
5126 l_rec_acct_attrs.array_acct_attr_code(31) := 'REVERSED_DISTRIBUTION_ID1';
5128 l_rec_acct_attrs.array_acct_attr_code(32) := 'REVERSED_DISTRIBUTION_TYPE';
5129 l_rec_acct_attrs.array_char_value(32) := p_source_21;
5130 l_rec_acct_attrs.array_acct_attr_code(33) := 'STATISTICAL_AMOUNT';
5131 l_rec_acct_attrs.array_num_value(33) := p_source_51;
5132 l_rec_acct_attrs.array_acct_attr_code(34) := 'TAX_LINE_REF_ID';
5133 l_rec_acct_attrs.array_num_value(34) := p_source_52;
5134 l_rec_acct_attrs.array_acct_attr_code(35) := 'TAX_REC_NREC_DIST_REF_ID';
5135 l_rec_acct_attrs.array_num_value(35) := p_source_53;
5136 l_rec_acct_attrs.array_acct_attr_code(36) := 'TAX_SUMMARY_LINE_REF_ID';
5137 l_rec_acct_attrs.array_num_value(36) := p_source_54;
5138 l_rec_acct_attrs.array_acct_attr_code(37) := 'UPG_CR_ENC_TYPE_ID';
5139 l_rec_acct_attrs.array_num_value(37) := p_source_55;
5140 l_rec_acct_attrs.array_acct_attr_code(38) := 'UPG_DR_ENC_TYPE_ID';
5141 l_rec_acct_attrs.array_num_value(38) := p_source_56;
5142
5143 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
5144 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
5145
5146 ---------------------------------------------------------------------------------------------------------------
5147 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
5148 ---------------------------------------------------------------------------------------------------------------
5149 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
5150
5151 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
5152 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
5153
5154 IF xla_accounting_cache_pkg.GetValueChar
5155 (p_source_code => 'LEDGER_CATEGORY_CODE'
5156 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
5157 AND l_bflow_method_code = 'PRIOR_ENTRY'
5158 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
5159 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
5160 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
5161 )
5162 THEN
5163 xla_ae_lines_pkg.BflowUpgEntry
5164 (p_business_method_code => l_bflow_method_code
5165 ,p_business_class_code => l_bflow_class_code
5166 ,p_balance_type => l_balance_type_code);
5167 ELSE
5168 NULL;
5169 XLA_AE_LINES_PKG.business_flow_validation(
5170 p_business_method_code => l_bflow_method_code
5171 ,p_business_class_code => l_bflow_class_code
5172 ,p_inherit_description_flag => l_inherit_desc_flag);
5173 END IF;
5174
5175 --
5176 -- call analytical criteria
5177 --
5178 -- Inherited Analytical Criteria for business flow method of Prior Entry.
5179 --
5180 -- call description
5181 --
5182 -- No description or it is inherited.
5183 --
5184 -- call ADRs
5185 -- Bug 4922099
5186 --
5187 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
5188 (NVL(l_actual_upg_option, 'N') = 'O') OR
5189 (NVL(l_enc_upg_option, 'N') = 'O')
5190 )
5191 THEN
5192 NULL;
5193 --
5194 --
5195
5196 --
5197 --
5198 END IF;
5199 --
5200 -- Bug 4922099
5201 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
5202 (NVL(l_enc_upg_option, 'N') = 'O')
5203 ) AND
5204 (l_bflow_method_code = 'PRIOR_ENTRY')
5205 )
5206 THEN
5207 IF
5208 --
5209 1 = 1
5210 --
5211 THEN
5212 xla_accounting_err_pkg.build_message
5213 (p_appli_s_name => 'XLA'
5214 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
5215 ,p_token_1 => 'LINE_NUMBER'
5216 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
5217 ,p_token_2 => 'LINE_TYPE_NAME'
5218 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
5219 l_component_type
5220 ,l_component_code
5221 ,l_component_type_code
5222 ,l_component_appl_id
5223 ,l_amb_context_code
5224 ,l_entity_code
5225 ,l_event_class_code
5226 )
5227 ,p_token_3 => 'OWNER'
5228 ,p_value_3 => xla_lookups_pkg.get_meaning(
5232 ,p_token_4 => 'PRODUCT_NAME'
5229 p_lookup_type => 'XLA_OWNER_TYPE'
5230 ,p_lookup_code => l_component_type_code
5231 )
5233 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
5234 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
5235 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
5236 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
5237 ,p_ae_header_id => NULL
5238 );
5239
5240 IF (C_LEVEL_ERROR>= g_log_level) THEN
5241 trace
5242 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
5243 ,p_level => C_LEVEL_ERROR
5244 ,p_module => l_log_module);
5245 END IF;
5246 END IF;
5247 END IF;
5248 --
5249 --
5250 ------------------------------------------------------------------------------------------------
5251 -- 4219869 Business Flow
5252 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
5253 -- Prior Entry. Currently, the following code is always generated.
5254 ------------------------------------------------------------------------------------------------
5255 -- No ValidateCurrentLine for business flow method of Prior Entry
5256
5257 ------------------------------------------------------------------------------------
5258 -- 4219869 Business Flow
5259 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
5260 ------------------------------------------------------------------------------------
5261 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
5262
5263 ----------------------------------------------------------------------------------
5264 -- 4219869 Business Flow
5265 -- Update journal entry status -- Need to generate this within IF <condition>
5266 ----------------------------------------------------------------------------------
5267 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
5268 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
5269 ,p_balance_type_code => l_balance_type_code
5270 );
5271
5272 -------------------------------------------------------------------------------------------
5273 -- 4262811 - Generate the Accrual Reversal lines
5274 -------------------------------------------------------------------------------------------
5275 BEGIN
5276 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
5277 (g_array_event(p_event_id).array_value_num('header_index'));
5278 IF l_acc_rev_flag IS NULL THEN
5279 l_acc_rev_flag := 'N';
5280 END IF;
5281 EXCEPTION
5282 WHEN OTHERS THEN
5283 l_acc_rev_flag := 'N';
5284 END;
5285 --
5286 IF (l_acc_rev_flag = 'Y') THEN
5287
5288 -- 4645092 ------------------------------------------------------------------------------
5289 -- To allow MPA report to determine if it should generate report process
5290 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
5291 ------------------------------------------------------------------------------------------
5292
5293 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
5294 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
5295 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
5296 -- call ADRs
5297 -- Bug 4922099
5298 --
5299 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
5300 (NVL(l_actual_upg_option, 'N') = 'O') OR
5301 (NVL(l_enc_upg_option, 'N') = 'O')
5302 )
5303 THEN
5304 NULL;
5305 --
5306 --
5307
5308 --
5309 --
5310 END IF;
5311
5312 --
5313 -- Update the line information that should be overwritten
5314 --
5315 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
5316 p_header_num => 1);
5317 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
5318
5319 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
5320
5321 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
5322 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
5323 END IF;
5324
5325 --
5326 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
5327 --
5328 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
5329 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
5330 ELSE
5331 ---------------------------------------------------------------------------------------------------
5332 -- 4262811a Switch Sign
5333 ---------------------------------------------------------------------------------------------------
5334 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
5335 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
5339 -- 5132302
5336 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
5337 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
5338 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
5340 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
5341 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
5342
5343 END IF;
5344
5345 -- 4955764
5346 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
5347 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
5348
5349
5350 XLA_AE_LINES_PKG.ValidateCurrentLine;
5351 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
5352
5353 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
5354 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
5355 ,p_balance_type_code => l_balance_type_code);
5356
5357 END IF;
5358
5359 -----------------------------------------------------------------------------------------
5360 -- 4262811 Multiperiod Accounting
5361 -----------------------------------------------------------------------------------------
5362 -- No MPA option is assigned.
5363
5364
5365 END IF;
5366 END IF;
5367 --
5368
5369 --
5370 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
5371 trace
5372 (p_msg => 'END of AcctLineType_18'
5373 ,p_level => C_LEVEL_PROCEDURE
5374 ,p_module => l_log_module);
5375 END IF;
5376 --
5377 EXCEPTION
5378 WHEN xla_exceptions_pkg.application_exception THEN
5379 RAISE;
5380 WHEN OTHERS THEN
5381 xla_exceptions_pkg.raise_message
5382 (p_location => 'XLA_00200_AAD_S_000006_BC_PKG.AcctLineType_18');
5383 END AcctLineType_18;
5384 --
5385
5386 ---------------------------------------
5387 --
5388 -- PRIVATE FUNCTION
5389 -- AcctLineType_19
5390 --
5391 ---------------------------------------
5392 PROCEDURE AcctLineType_19 (
5393 p_application_id IN NUMBER
5394 ,p_event_id IN NUMBER
5395 ,p_calculate_acctd_flag IN VARCHAR2
5396 ,p_calculate_g_l_flag IN VARCHAR2
5397 ,p_actual_flag IN OUT VARCHAR2
5398 ,p_balance_type_code OUT VARCHAR2
5399 ,p_gain_or_loss_ref OUT VARCHAR2
5400
5401 --Invoice Distribution Type
5402 , p_source_15 IN VARCHAR2
5403 , p_source_15_meaning IN VARCHAR2
5404 --Accrue on Receipt Option
5405 , p_source_18 IN VARCHAR2
5406 , p_source_18_meaning IN VARCHAR2
5407 --Accounting Reversal Indicator
5408 , p_source_19 IN VARCHAR2
5409 --Distribution Link Type
5410 , p_source_21 IN VARCHAR2
5411 --Allocation to Main Distribution Identifier
5412 , p_source_23 IN NUMBER
5413 --Invoice Identifier
5414 , p_source_24 IN NUMBER
5415 --Invoice Distribution Identifier
5416 , p_source_30 IN NUMBER
5417 --Payables Encumbrance Upgrade Credit Account
5418 , p_source_31 IN NUMBER
5419 --Payables Encumbrance Upgrade Credit Amount
5420 , p_source_32 IN NUMBER
5421 --Invoice Currency Code
5422 , p_source_33 IN VARCHAR2
5423 --Payables Encumbrance Upgrade Credit Base Amount
5424 , p_source_34 IN NUMBER
5425 --Payables Encumbrance Upgrade Debit Account
5426 , p_source_35 IN NUMBER
5427 --Payables Encumbrance Upgrade Debit Amount
5428 , p_source_36 IN NUMBER
5429 --Payables Encumbrance Upgrade Debit Base Amount
5430 , p_source_37 IN NUMBER
5431 --Payables Encumbrance Upgrade Option
5432 , p_source_38 IN VARCHAR2
5433 --Deferred Accounting End Date
5434 , p_source_43 IN DATE
5435 --Deferred Accounting Option
5436 , p_source_44 IN VARCHAR2
5437 --Deferred Accounting Start Date
5438 , p_source_45 IN DATE
5439 --Override Accounted Amount Indicator
5440 , p_source_46 IN VARCHAR2
5441 , p_source_46_meaning IN VARCHAR2
5442 --Third Party Type
5443 , p_source_49 IN VARCHAR2
5444 --Parent Reversal Identifier
5445 , p_source_50 IN NUMBER
5446 --Invoice Distribution Statistical Amount
5447 , p_source_51 IN NUMBER
5448 --Invoice Distribution Tax Line Identifier
5449 , p_source_52 IN NUMBER
5450 --Invoice Distribution Tax Distribution Identifier from Tax
5451 , p_source_53 IN NUMBER
5452 --Invoice Distribution Summary Tax Line Identifier
5453 , p_source_54 IN NUMBER
5454 --Payables Upgrade Credit Encumbrance Type Identifier
5455 , p_source_55 IN NUMBER
5456 --Payables Upgrade Debit Encumbrance Type Identifier
5457 , p_source_56 IN NUMBER
5458 --Purchase Order Distribution Identifier
5459 , p_source_58 IN NUMBER
5460 --Business Flow Purchasing Application Identifier
5461 , p_source_60 IN NUMBER
5462 --Business Flow Purchase Order Distribution Type
5463 , p_source_61 IN VARCHAR2
5464 --Business Flow Purchase Order Entity Code
5465 , p_source_62 IN VARCHAR2
5466 --Business Flow Purchase Order Distribution Identifier
5467 , p_source_63 IN NUMBER
5471 , p_source_65 IN NUMBER
5468 --Business Flow Purchasing Document Identifier
5469 , p_source_64 IN NUMBER
5470 --Invoice Distribution Encumbrance Amount
5472 --Invoice Distribution Encumbrance Ledger Amount
5473 , p_source_66 IN NUMBER
5474 )
5475 IS
5476
5477 l_component_type VARCHAR2(80);
5478 l_component_code VARCHAR2(30);
5479 l_component_type_code VARCHAR2(1);
5480 l_component_appl_id INTEGER;
5481 l_amb_context_code VARCHAR2(30);
5482 l_entity_code VARCHAR2(30);
5483 l_event_class_code VARCHAR2(30);
5484 l_ae_header_id NUMBER;
5485 l_event_type_code VARCHAR2(30);
5486 l_line_definition_code VARCHAR2(30);
5487 l_line_definition_owner_code VARCHAR2(1);
5488 --
5489 -- adr variables
5490 l_segment VARCHAR2(30);
5491 l_ccid NUMBER;
5492 l_adr_transaction_coa_id NUMBER;
5493 l_adr_accounting_coa_id NUMBER;
5494 l_adr_flexfield_segment_code VARCHAR2(30);
5495 l_adr_flex_value_set_id NUMBER;
5496 l_adr_value_type_code VARCHAR2(30);
5497 l_adr_value_combination_id NUMBER;
5498 l_adr_value_segment_code VARCHAR2(30);
5499
5500 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
5501 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
5502 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
5503 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
5504
5505 -- 4262811 Variables ------------------------------------------------------------------------------------------
5506 l_entered_amt_idx NUMBER;
5507 l_accted_amt_idx NUMBER;
5508 l_acc_rev_flag VARCHAR2(1);
5509 l_accrual_line_num NUMBER;
5510 l_tmp_amt NUMBER;
5511 l_acc_rev_natural_side_code VARCHAR2(1);
5512
5513 l_num_entries NUMBER;
5514 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
5515 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
5516 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
5517 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
5518 l_recog_line_1 NUMBER;
5519 l_recog_line_2 NUMBER;
5520
5521 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
5522 l_bflow_applied_to_amt NUMBER; -- 5132302
5523 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
5524
5525 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
5526
5527 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
5528 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
5529
5530 ---------------------------------------------------------------------------------------------------------------
5531
5532
5533 --
5534 -- bulk performance
5535 --
5536 l_balance_type_code VARCHAR2(1);
5537 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
5538 l_log_module VARCHAR2(240);
5539
5540 --
5541 -- Upgrade strategy
5542 --
5543 l_actual_upg_option VARCHAR2(1);
5544 l_enc_upg_option VARCHAR2(1);
5545
5546 --
5547 BEGIN
5548 --
5549 IF g_log_enabled THEN
5550 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_19';
5551 END IF;
5552 --
5553 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
5554
5555 trace
5556 (p_msg => 'BEGIN of AcctLineType_19'
5557 ,p_level => C_LEVEL_PROCEDURE
5558 ,p_module => l_log_module);
5559
5560 END IF;
5561 --
5562 l_component_type := 'AMB_JLT';
5563 l_component_code := 'AP_CM_PO_ENCUMBRANCE';
5564 l_component_type_code := 'S';
5565 l_component_appl_id := 200;
5566 l_amb_context_code := 'DEFAULT';
5567 l_entity_code := 'AP_INVOICES';
5568 l_event_class_code := 'CREDIT MEMOS';
5569 l_event_type_code := 'CREDIT MEMOS_ALL';
5570 l_line_definition_owner_code := 'S';
5571 l_line_definition_code := 'ENC_CM_ALL';
5572 --
5573 l_balance_type_code := 'E';
5574 l_segment := NULL;
5575 l_ccid := NULL;
5576 l_adr_transaction_coa_id := NULL;
5577 l_adr_accounting_coa_id := NULL;
5578 l_adr_flexfield_segment_code := NULL;
5579 l_adr_flex_value_set_id := NULL;
5580 l_adr_value_type_code := NULL;
5581 l_adr_value_combination_id := NULL;
5582 l_adr_value_segment_code := NULL;
5583
5584 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
5585 l_bflow_class_code := 'PO_ENCUMBRANCE'; -- 4219869 Business Flow
5586 l_inherit_desc_flag := 'Y'; -- 4219869 Business Flow
5587 l_budgetary_control_flag := 'Y';
5588
5589 l_bflow_applied_to_amt_idx := NULL; -- 5132302
5590 l_bflow_applied_to_amt := NULL; -- 5132302
5591 l_entered_amt_idx := NULL; -- 4262811
5592 l_accted_amt_idx := NULL; -- 4262811
5593 l_acc_rev_flag := NULL; -- 4262811
5594 l_accrual_line_num := NULL; -- 4262811
5595 l_tmp_amt := NULL; -- 4262811
5596 --
5597
5601 (NVL(p_source_15,'
5598 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
5599 l_balance_type_code <> 'B' THEN
5600 IF p_source_58 IS NOT NULL AND
5602 ') = 'ACCRUAL' OR
5603 NVL(p_source_15,'
5604 ') = 'ITEM') AND
5605 NVL(p_source_18,'
5606 ') <> 'Y'
5607 THEN
5608
5609 --
5610 XLA_AE_LINES_PKG.SetNewLine;
5611
5612 p_balance_type_code := l_balance_type_code;
5613 -- set the flag so later we will know whether the gain loss line needs to be created
5614
5615 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
5616 p_actual_flag :='A';
5617 END IF;
5618
5619 --
5620 -- bulk performance
5621 --
5622 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
5623 p_header_num => 0); -- 4262811
5624 --
5625 -- set accounting line options
5626 --
5627 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
5628 p_natural_side_code => 'C'
5629 , p_gain_or_loss_flag => 'N'
5630 , p_gl_transfer_mode_code => 'S'
5631 , p_acct_entry_type_code => 'E'
5632 , p_switch_side_flag => 'Y'
5633 , p_merge_duplicate_code => 'N'
5634 );
5635 --
5636 l_acc_rev_natural_side_code := 'D'; -- 4262811
5637 --
5638 --
5639 -- set accounting line type info
5640 --
5641 xla_ae_lines_pkg.SetAcctLineType
5642 (p_component_type => l_component_type
5643 ,p_event_type_code => l_event_type_code
5644 ,p_line_definition_owner_code => l_line_definition_owner_code
5645 ,p_line_definition_code => l_line_definition_code
5646 ,p_accounting_line_code => l_component_code
5647 ,p_accounting_line_type_code => l_component_type_code
5648 ,p_accounting_line_appl_id => l_component_appl_id
5649 ,p_amb_context_code => l_amb_context_code
5650 ,p_entity_code => l_entity_code
5651 ,p_event_class_code => l_event_class_code);
5652 --
5653 -- set accounting class
5654 --
5655 xla_ae_lines_pkg.SetAcctClass(
5656 p_accounting_class_code => 'PURCHASE_ORDER'
5657 , p_ae_header_id => l_ae_header_id
5658 );
5659
5660 --
5661 -- set rounding class
5662 --
5663 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
5664 'PURCHASE_ORDER';
5665
5666 --
5667 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
5668 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
5669 --
5670 -- bulk performance
5671 --
5672 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
5673
5674 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
5675 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
5676
5677 -- 4955764
5678 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
5679 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
5680
5681 -- 4458381 Public Sector Enh
5682
5683 --
5684 -- set accounting attributes for the line type
5685 --
5686 l_entered_amt_idx := 23;
5687 l_accted_amt_idx := 25;
5688 l_bflow_applied_to_amt_idx := NULL; -- 5132302
5689 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
5690 l_rec_acct_attrs.array_char_value(1) := p_source_19;
5691 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
5692 l_rec_acct_attrs.array_num_value(2) :=
5693 xla_ae_sources_pkg.GetSystemSourceNum(
5694 p_source_code => 'XLA_EVENT_APPL_ID'
5695 , p_source_type_code => 'Y'
5696 , p_source_application_id => 602
5697 );
5698 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
5699 l_rec_acct_attrs.array_char_value(3) := p_source_21;
5700 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
5701 l_rec_acct_attrs.array_char_value(4) :=
5702 xla_ae_sources_pkg.GetSystemSourceChar(
5703 p_source_code => 'XLA_ENTITY_CODE'
5704 , p_source_type_code => 'Y'
5705 , p_source_application_id => 602
5706 );
5707 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
5708 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_23);
5709 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
5710 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_24);
5711 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
5712 l_rec_acct_attrs.array_num_value(7) := p_source_60;
5713 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
5714 l_rec_acct_attrs.array_char_value(8) := p_source_61;
5715 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
5716 l_rec_acct_attrs.array_char_value(9) := p_source_62;
5717 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
5718 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_63);
5719 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
5723 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
5720 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_64);
5721 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
5722 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_30);
5724 l_rec_acct_attrs.array_char_value(13) := p_source_21;
5725 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
5726 l_rec_acct_attrs.array_num_value(14) := p_source_31;
5727 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
5728 l_rec_acct_attrs.array_num_value(15) := p_source_32;
5729 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
5730 l_rec_acct_attrs.array_char_value(16) := p_source_33;
5731 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
5732 l_rec_acct_attrs.array_num_value(17) := p_source_34;
5733 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
5734 l_rec_acct_attrs.array_num_value(18) := p_source_35;
5735 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
5736 l_rec_acct_attrs.array_num_value(19) := p_source_36;
5737 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
5738 l_rec_acct_attrs.array_char_value(20) := p_source_33;
5739 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
5740 l_rec_acct_attrs.array_num_value(21) := p_source_37;
5741 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
5742 l_rec_acct_attrs.array_char_value(22) := p_source_38;
5743 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
5744 l_rec_acct_attrs.array_num_value(23) := p_source_65;
5745 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
5746 l_rec_acct_attrs.array_char_value(24) := p_source_33;
5747 l_rec_acct_attrs.array_acct_attr_code(25) := 'LEDGER_AMOUNT';
5748 l_rec_acct_attrs.array_num_value(25) := p_source_66;
5749 l_rec_acct_attrs.array_acct_attr_code(26) := 'MULTIPERIOD_END_DATE';
5750 l_rec_acct_attrs.array_date_value(26) := p_source_43;
5751 l_rec_acct_attrs.array_acct_attr_code(27) := 'MULTIPERIOD_OPTION';
5752 l_rec_acct_attrs.array_char_value(27) := p_source_44;
5753 l_rec_acct_attrs.array_acct_attr_code(28) := 'MULTIPERIOD_START_DATE';
5754 l_rec_acct_attrs.array_date_value(28) := p_source_45;
5755 l_rec_acct_attrs.array_acct_attr_code(29) := 'OVERRIDE_ACCTD_AMT_FLAG';
5756 l_rec_acct_attrs.array_char_value(29) := p_source_46;
5757 l_rec_acct_attrs.array_acct_attr_code(30) := 'PARTY_TYPE';
5758 l_rec_acct_attrs.array_char_value(30) := p_source_49;
5759 l_rec_acct_attrs.array_acct_attr_code(31) := 'REVERSED_DISTRIBUTION_ID1';
5760 l_rec_acct_attrs.array_num_value(31) := to_char(p_source_50);
5761 l_rec_acct_attrs.array_acct_attr_code(32) := 'REVERSED_DISTRIBUTION_TYPE';
5762 l_rec_acct_attrs.array_char_value(32) := p_source_21;
5763 l_rec_acct_attrs.array_acct_attr_code(33) := 'STATISTICAL_AMOUNT';
5764 l_rec_acct_attrs.array_num_value(33) := p_source_51;
5765 l_rec_acct_attrs.array_acct_attr_code(34) := 'TAX_LINE_REF_ID';
5766 l_rec_acct_attrs.array_num_value(34) := p_source_52;
5767 l_rec_acct_attrs.array_acct_attr_code(35) := 'TAX_REC_NREC_DIST_REF_ID';
5768 l_rec_acct_attrs.array_num_value(35) := p_source_53;
5769 l_rec_acct_attrs.array_acct_attr_code(36) := 'TAX_SUMMARY_LINE_REF_ID';
5770 l_rec_acct_attrs.array_num_value(36) := p_source_54;
5771 l_rec_acct_attrs.array_acct_attr_code(37) := 'UPG_CR_ENC_TYPE_ID';
5772 l_rec_acct_attrs.array_num_value(37) := p_source_55;
5773 l_rec_acct_attrs.array_acct_attr_code(38) := 'UPG_DR_ENC_TYPE_ID';
5774 l_rec_acct_attrs.array_num_value(38) := p_source_56;
5775
5776 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
5777 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
5778
5779 ---------------------------------------------------------------------------------------------------------------
5780 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
5781 ---------------------------------------------------------------------------------------------------------------
5782 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
5783
5784 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
5785 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
5786
5787 IF xla_accounting_cache_pkg.GetValueChar
5788 (p_source_code => 'LEDGER_CATEGORY_CODE'
5789 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
5790 AND l_bflow_method_code = 'PRIOR_ENTRY'
5791 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
5792 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
5793 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
5794 )
5795 THEN
5796 xla_ae_lines_pkg.BflowUpgEntry
5797 (p_business_method_code => l_bflow_method_code
5798 ,p_business_class_code => l_bflow_class_code
5799 ,p_balance_type => l_balance_type_code);
5800 ELSE
5801 NULL;
5802 XLA_AE_LINES_PKG.business_flow_validation(
5803 p_business_method_code => l_bflow_method_code
5804 ,p_business_class_code => l_bflow_class_code
5805 ,p_inherit_description_flag => l_inherit_desc_flag);
5806 END IF;
5807
5811 -- Inherited Analytical Criteria for business flow method of Prior Entry.
5808 --
5809 -- call analytical criteria
5810 --
5812 --
5813 -- call description
5814 --
5815 -- No description or it is inherited.
5816 --
5817 -- call ADRs
5818 -- Bug 4922099
5819 --
5820 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
5821 (NVL(l_actual_upg_option, 'N') = 'O') OR
5822 (NVL(l_enc_upg_option, 'N') = 'O')
5823 )
5824 THEN
5825 NULL;
5826 --
5827 --
5828
5829 --
5830 --
5831 END IF;
5832 --
5833 -- Bug 4922099
5834 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
5835 (NVL(l_enc_upg_option, 'N') = 'O')
5836 ) AND
5837 (l_bflow_method_code = 'PRIOR_ENTRY')
5838 )
5839 THEN
5840 IF
5841 --
5842 1 = 1
5843 --
5844 THEN
5845 xla_accounting_err_pkg.build_message
5846 (p_appli_s_name => 'XLA'
5847 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
5848 ,p_token_1 => 'LINE_NUMBER'
5849 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
5850 ,p_token_2 => 'LINE_TYPE_NAME'
5851 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
5852 l_component_type
5853 ,l_component_code
5854 ,l_component_type_code
5855 ,l_component_appl_id
5856 ,l_amb_context_code
5857 ,l_entity_code
5858 ,l_event_class_code
5859 )
5860 ,p_token_3 => 'OWNER'
5861 ,p_value_3 => xla_lookups_pkg.get_meaning(
5862 p_lookup_type => 'XLA_OWNER_TYPE'
5863 ,p_lookup_code => l_component_type_code
5864 )
5865 ,p_token_4 => 'PRODUCT_NAME'
5866 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
5867 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
5868 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
5869 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
5870 ,p_ae_header_id => NULL
5871 );
5872
5873 IF (C_LEVEL_ERROR>= g_log_level) THEN
5874 trace
5875 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
5876 ,p_level => C_LEVEL_ERROR
5877 ,p_module => l_log_module);
5878 END IF;
5879 END IF;
5880 END IF;
5881 --
5882 --
5883 ------------------------------------------------------------------------------------------------
5884 -- 4219869 Business Flow
5885 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
5886 -- Prior Entry. Currently, the following code is always generated.
5887 ------------------------------------------------------------------------------------------------
5888 -- No ValidateCurrentLine for business flow method of Prior Entry
5889
5890 ------------------------------------------------------------------------------------
5891 -- 4219869 Business Flow
5892 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
5893 ------------------------------------------------------------------------------------
5894 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
5895
5896 ----------------------------------------------------------------------------------
5897 -- 4219869 Business Flow
5898 -- Update journal entry status -- Need to generate this within IF <condition>
5899 ----------------------------------------------------------------------------------
5900 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
5901 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
5902 ,p_balance_type_code => l_balance_type_code
5903 );
5904
5905 -------------------------------------------------------------------------------------------
5906 -- 4262811 - Generate the Accrual Reversal lines
5907 -------------------------------------------------------------------------------------------
5908 BEGIN
5909 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
5910 (g_array_event(p_event_id).array_value_num('header_index'));
5911 IF l_acc_rev_flag IS NULL THEN
5912 l_acc_rev_flag := 'N';
5916 l_acc_rev_flag := 'N';
5913 END IF;
5914 EXCEPTION
5915 WHEN OTHERS THEN
5917 END;
5918 --
5919 IF (l_acc_rev_flag = 'Y') THEN
5920
5921 -- 4645092 ------------------------------------------------------------------------------
5922 -- To allow MPA report to determine if it should generate report process
5923 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
5924 ------------------------------------------------------------------------------------------
5925
5926 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
5927 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
5928 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
5929 -- call ADRs
5930 -- Bug 4922099
5931 --
5932 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
5933 (NVL(l_actual_upg_option, 'N') = 'O') OR
5934 (NVL(l_enc_upg_option, 'N') = 'O')
5935 )
5936 THEN
5937 NULL;
5938 --
5939 --
5940
5941 --
5942 --
5943 END IF;
5944
5945 --
5946 -- Update the line information that should be overwritten
5947 --
5948 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
5949 p_header_num => 1);
5950 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
5951
5952 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
5953
5954 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
5955 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
5956 END IF;
5957
5958 --
5959 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
5960 --
5961 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
5962 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
5963 ELSE
5964 ---------------------------------------------------------------------------------------------------
5965 -- 4262811a Switch Sign
5966 ---------------------------------------------------------------------------------------------------
5967 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
5968 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
5969 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
5970 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
5971 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
5972 -- 5132302
5973 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
5974 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
5975
5976 END IF;
5977
5978 -- 4955764
5979 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
5980 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
5981
5982
5983 XLA_AE_LINES_PKG.ValidateCurrentLine;
5984 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
5985
5986 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
5987 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
5988 ,p_balance_type_code => l_balance_type_code);
5989
5990 END IF;
5991
5992 -----------------------------------------------------------------------------------------
5993 -- 4262811 Multiperiod Accounting
5994 -----------------------------------------------------------------------------------------
5995 -- No MPA option is assigned.
5996
5997
5998 END IF;
5999 END IF;
6000 --
6001
6002 --
6003 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
6004 trace
6005 (p_msg => 'END of AcctLineType_19'
6006 ,p_level => C_LEVEL_PROCEDURE
6007 ,p_module => l_log_module);
6008 END IF;
6009 --
6010 EXCEPTION
6011 WHEN xla_exceptions_pkg.application_exception THEN
6012 RAISE;
6013 WHEN OTHERS THEN
6014 xla_exceptions_pkg.raise_message
6015 (p_location => 'XLA_00200_AAD_S_000006_BC_PKG.AcctLineType_19');
6016 END AcctLineType_19;
6017 --
6018
6019 ---------------------------------------
6020 --
6021 -- PRIVATE FUNCTION
6022 -- AcctLineType_20
6023 --
6024 ---------------------------------------
6025 PROCEDURE AcctLineType_20 (
6026 p_application_id IN NUMBER
6027 ,p_event_id IN NUMBER
6028 ,p_calculate_acctd_flag IN VARCHAR2
6029 ,p_calculate_g_l_flag IN VARCHAR2
6030 ,p_actual_flag IN OUT VARCHAR2
6031 ,p_balance_type_code OUT VARCHAR2
6032 ,p_gain_or_loss_ref OUT VARCHAR2
6033
6034 --Invoice Distribution Type
6035 , p_source_15 IN VARCHAR2
6036 , p_source_15_meaning IN VARCHAR2
6037 --Accrue on Receipt Option
6041 , p_source_19 IN VARCHAR2
6038 , p_source_18 IN VARCHAR2
6039 , p_source_18_meaning IN VARCHAR2
6040 --Accounting Reversal Indicator
6042 --Distribution Link Type
6043 , p_source_21 IN VARCHAR2
6044 --Allocation to Main Distribution Identifier
6045 , p_source_23 IN NUMBER
6046 --Invoice Identifier
6047 , p_source_24 IN NUMBER
6048 --Invoice Distribution Identifier
6049 , p_source_30 IN NUMBER
6050 --Payables Encumbrance Upgrade Credit Account
6051 , p_source_31 IN NUMBER
6052 --Payables Encumbrance Upgrade Credit Amount
6053 , p_source_32 IN NUMBER
6054 --Invoice Currency Code
6055 , p_source_33 IN VARCHAR2
6056 --Payables Encumbrance Upgrade Credit Base Amount
6057 , p_source_34 IN NUMBER
6058 --Payables Encumbrance Upgrade Debit Account
6059 , p_source_35 IN NUMBER
6060 --Payables Encumbrance Upgrade Debit Amount
6061 , p_source_36 IN NUMBER
6062 --Payables Encumbrance Upgrade Debit Base Amount
6063 , p_source_37 IN NUMBER
6064 --Payables Encumbrance Upgrade Option
6065 , p_source_38 IN VARCHAR2
6066 --Deferred Accounting End Date
6067 , p_source_43 IN DATE
6068 --Deferred Accounting Option
6069 , p_source_44 IN VARCHAR2
6070 --Deferred Accounting Start Date
6071 , p_source_45 IN DATE
6072 --Override Accounted Amount Indicator
6073 , p_source_46 IN VARCHAR2
6074 , p_source_46_meaning IN VARCHAR2
6075 --Third Party Type
6076 , p_source_49 IN VARCHAR2
6077 --Parent Reversal Identifier
6078 , p_source_50 IN NUMBER
6079 --Invoice Distribution Tax Line Identifier
6080 , p_source_52 IN NUMBER
6081 --Invoice Distribution Tax Distribution Identifier from Tax
6082 , p_source_53 IN NUMBER
6083 --Invoice Distribution Summary Tax Line Identifier
6084 , p_source_54 IN NUMBER
6085 --Payables Upgrade Credit Encumbrance Type Identifier
6086 , p_source_55 IN NUMBER
6087 --Payables Upgrade Debit Encumbrance Type Identifier
6088 , p_source_56 IN NUMBER
6089 --Purchase Order Distribution Identifier
6090 , p_source_58 IN NUMBER
6091 --Self-Assessed Tax Flag
6092 , p_source_59 IN VARCHAR2
6093 , p_source_59_meaning IN VARCHAR2
6094 --Business Flow Purchasing Application Identifier
6095 , p_source_60 IN NUMBER
6096 --Business Flow Purchase Order Distribution Type
6097 , p_source_61 IN VARCHAR2
6098 --Business Flow Purchase Order Entity Code
6099 , p_source_62 IN VARCHAR2
6100 --Business Flow Purchase Order Distribution Identifier
6101 , p_source_63 IN NUMBER
6102 --Business Flow Purchasing Document Identifier
6103 , p_source_64 IN NUMBER
6104 --Invoice Distribution Encumbrance Amount
6105 , p_source_65 IN NUMBER
6106 --Invoice Distribution Encumbrance Ledger Amount
6107 , p_source_66 IN NUMBER
6108 )
6109 IS
6110
6111 l_component_type VARCHAR2(80);
6112 l_component_code VARCHAR2(30);
6113 l_component_type_code VARCHAR2(1);
6114 l_component_appl_id INTEGER;
6115 l_amb_context_code VARCHAR2(30);
6116 l_entity_code VARCHAR2(30);
6117 l_event_class_code VARCHAR2(30);
6118 l_ae_header_id NUMBER;
6119 l_event_type_code VARCHAR2(30);
6120 l_line_definition_code VARCHAR2(30);
6121 l_line_definition_owner_code VARCHAR2(1);
6122 --
6123 -- adr variables
6124 l_segment VARCHAR2(30);
6125 l_ccid NUMBER;
6126 l_adr_transaction_coa_id NUMBER;
6127 l_adr_accounting_coa_id NUMBER;
6128 l_adr_flexfield_segment_code VARCHAR2(30);
6129 l_adr_flex_value_set_id NUMBER;
6130 l_adr_value_type_code VARCHAR2(30);
6131 l_adr_value_combination_id NUMBER;
6132 l_adr_value_segment_code VARCHAR2(30);
6133
6134 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
6135 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
6136 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
6137 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
6138
6139 -- 4262811 Variables ------------------------------------------------------------------------------------------
6140 l_entered_amt_idx NUMBER;
6141 l_accted_amt_idx NUMBER;
6142 l_acc_rev_flag VARCHAR2(1);
6143 l_accrual_line_num NUMBER;
6144 l_tmp_amt NUMBER;
6145 l_acc_rev_natural_side_code VARCHAR2(1);
6146
6147 l_num_entries NUMBER;
6148 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
6149 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
6150 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
6151 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
6152 l_recog_line_1 NUMBER;
6153 l_recog_line_2 NUMBER;
6154
6155 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
6156 l_bflow_applied_to_amt NUMBER; -- 5132302
6157 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
6158
6159 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
6163
6160
6161 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
6162 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
6164 ---------------------------------------------------------------------------------------------------------------
6165
6166
6167 --
6168 -- bulk performance
6169 --
6170 l_balance_type_code VARCHAR2(1);
6171 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
6172 l_log_module VARCHAR2(240);
6173
6174 --
6175 -- Upgrade strategy
6176 --
6177 l_actual_upg_option VARCHAR2(1);
6178 l_enc_upg_option VARCHAR2(1);
6179
6180 --
6181 BEGIN
6182 --
6183 IF g_log_enabled THEN
6184 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_20';
6185 END IF;
6186 --
6187 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
6188
6189 trace
6190 (p_msg => 'BEGIN of AcctLineType_20'
6191 ,p_level => C_LEVEL_PROCEDURE
6192 ,p_module => l_log_module);
6193
6194 END IF;
6195 --
6196 l_component_type := 'AMB_JLT';
6197 l_component_code := 'AP_DM_NON_REC_TAX_PO_ENC';
6198 l_component_type_code := 'S';
6199 l_component_appl_id := 200;
6200 l_amb_context_code := 'DEFAULT';
6201 l_entity_code := 'AP_INVOICES';
6202 l_event_class_code := 'DEBIT MEMOS';
6203 l_event_type_code := 'DEBIT MEMOS_ALL';
6204 l_line_definition_owner_code := 'S';
6205 l_line_definition_code := 'ENC_DM_ALL';
6206 --
6207 l_balance_type_code := 'E';
6208 l_segment := NULL;
6209 l_ccid := NULL;
6210 l_adr_transaction_coa_id := NULL;
6211 l_adr_accounting_coa_id := NULL;
6212 l_adr_flexfield_segment_code := NULL;
6213 l_adr_flex_value_set_id := NULL;
6214 l_adr_value_type_code := NULL;
6215 l_adr_value_combination_id := NULL;
6216 l_adr_value_segment_code := NULL;
6217
6218 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
6219 l_bflow_class_code := 'PO_ENCUMBRANCE'; -- 4219869 Business Flow
6220 l_inherit_desc_flag := 'Y'; -- 4219869 Business Flow
6221 l_budgetary_control_flag := 'Y';
6222
6223 l_bflow_applied_to_amt_idx := NULL; -- 5132302
6224 l_bflow_applied_to_amt := NULL; -- 5132302
6225 l_entered_amt_idx := NULL; -- 4262811
6226 l_accted_amt_idx := NULL; -- 4262811
6227 l_acc_rev_flag := NULL; -- 4262811
6228 l_accrual_line_num := NULL; -- 4262811
6229 l_tmp_amt := NULL; -- 4262811
6230 --
6231
6232 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
6233 l_balance_type_code <> 'B' THEN
6234 IF p_source_58 IS NOT NULL AND
6235 NVL(p_source_15,'
6236 ') = 'NONREC_TAX' AND
6237 NVL(p_source_59,'
6238 ') <> 'Y' AND
6239 NVL(p_source_18,'
6240 ') <> 'Y'
6241 THEN
6242
6243 --
6244 XLA_AE_LINES_PKG.SetNewLine;
6245
6246 p_balance_type_code := l_balance_type_code;
6247 -- set the flag so later we will know whether the gain loss line needs to be created
6248
6249 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
6250 p_actual_flag :='A';
6251 END IF;
6252
6253 --
6254 -- bulk performance
6255 --
6256 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
6257 p_header_num => 0); -- 4262811
6258 --
6259 -- set accounting line options
6260 --
6261 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
6262 p_natural_side_code => 'C'
6263 , p_gain_or_loss_flag => 'N'
6264 , p_gl_transfer_mode_code => 'S'
6265 , p_acct_entry_type_code => 'E'
6266 , p_switch_side_flag => 'Y'
6267 , p_merge_duplicate_code => 'N'
6268 );
6269 --
6270 l_acc_rev_natural_side_code := 'D'; -- 4262811
6271 --
6272 --
6273 -- set accounting line type info
6274 --
6275 xla_ae_lines_pkg.SetAcctLineType
6276 (p_component_type => l_component_type
6277 ,p_event_type_code => l_event_type_code
6278 ,p_line_definition_owner_code => l_line_definition_owner_code
6279 ,p_line_definition_code => l_line_definition_code
6280 ,p_accounting_line_code => l_component_code
6281 ,p_accounting_line_type_code => l_component_type_code
6282 ,p_accounting_line_appl_id => l_component_appl_id
6283 ,p_amb_context_code => l_amb_context_code
6284 ,p_entity_code => l_entity_code
6285 ,p_event_class_code => l_event_class_code);
6286 --
6287 -- set accounting class
6288 --
6289 xla_ae_lines_pkg.SetAcctClass(
6290 p_accounting_class_code => 'PURCHASE_ORDER'
6291 , p_ae_header_id => l_ae_header_id
6292 );
6293
6294 --
6295 -- set rounding class
6296 --
6297 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
6298 'PURCHASE_ORDER';
6299
6300 --
6301 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
6305 --
6302 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
6303 --
6304 -- bulk performance
6306 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
6307
6308 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
6309 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
6310
6311 -- 4955764
6312 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
6313 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
6314
6315 -- 4458381 Public Sector Enh
6316
6317 --
6318 -- set accounting attributes for the line type
6319 --
6320 l_entered_amt_idx := 23;
6321 l_accted_amt_idx := 25;
6322 l_bflow_applied_to_amt_idx := NULL; -- 5132302
6323 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
6324 l_rec_acct_attrs.array_char_value(1) := p_source_19;
6325 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
6326 l_rec_acct_attrs.array_num_value(2) :=
6327 xla_ae_sources_pkg.GetSystemSourceNum(
6328 p_source_code => 'XLA_EVENT_APPL_ID'
6329 , p_source_type_code => 'Y'
6330 , p_source_application_id => 602
6331 );
6332 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
6333 l_rec_acct_attrs.array_char_value(3) := p_source_21;
6334 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
6335 l_rec_acct_attrs.array_char_value(4) :=
6336 xla_ae_sources_pkg.GetSystemSourceChar(
6337 p_source_code => 'XLA_ENTITY_CODE'
6338 , p_source_type_code => 'Y'
6339 , p_source_application_id => 602
6340 );
6341 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
6342 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_23);
6343 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
6344 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_24);
6345 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
6346 l_rec_acct_attrs.array_num_value(7) := p_source_60;
6347 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
6348 l_rec_acct_attrs.array_char_value(8) := p_source_61;
6349 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
6350 l_rec_acct_attrs.array_char_value(9) := p_source_62;
6351 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
6352 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_63);
6353 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
6354 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_64);
6355 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
6356 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_30);
6357 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
6358 l_rec_acct_attrs.array_char_value(13) := p_source_21;
6359 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
6360 l_rec_acct_attrs.array_num_value(14) := p_source_31;
6361 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
6362 l_rec_acct_attrs.array_num_value(15) := p_source_32;
6363 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
6364 l_rec_acct_attrs.array_char_value(16) := p_source_33;
6365 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
6366 l_rec_acct_attrs.array_num_value(17) := p_source_34;
6367 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
6368 l_rec_acct_attrs.array_num_value(18) := p_source_35;
6369 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
6370 l_rec_acct_attrs.array_num_value(19) := p_source_36;
6371 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
6372 l_rec_acct_attrs.array_char_value(20) := p_source_33;
6373 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
6374 l_rec_acct_attrs.array_num_value(21) := p_source_37;
6375 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
6376 l_rec_acct_attrs.array_char_value(22) := p_source_38;
6377 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
6378 l_rec_acct_attrs.array_num_value(23) := p_source_65;
6379 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
6380 l_rec_acct_attrs.array_char_value(24) := p_source_33;
6381 l_rec_acct_attrs.array_acct_attr_code(25) := 'LEDGER_AMOUNT';
6382 l_rec_acct_attrs.array_num_value(25) := p_source_66;
6383 l_rec_acct_attrs.array_acct_attr_code(26) := 'MULTIPERIOD_END_DATE';
6384 l_rec_acct_attrs.array_date_value(26) := p_source_43;
6385 l_rec_acct_attrs.array_acct_attr_code(27) := 'MULTIPERIOD_OPTION';
6386 l_rec_acct_attrs.array_char_value(27) := p_source_44;
6387 l_rec_acct_attrs.array_acct_attr_code(28) := 'MULTIPERIOD_START_DATE';
6388 l_rec_acct_attrs.array_date_value(28) := p_source_45;
6389 l_rec_acct_attrs.array_acct_attr_code(29) := 'OVERRIDE_ACCTD_AMT_FLAG';
6390 l_rec_acct_attrs.array_char_value(29) := p_source_46;
6391 l_rec_acct_attrs.array_acct_attr_code(30) := 'PARTY_TYPE';
6392 l_rec_acct_attrs.array_char_value(30) := p_source_49;
6393 l_rec_acct_attrs.array_acct_attr_code(31) := 'REVERSED_DISTRIBUTION_ID1';
6394 l_rec_acct_attrs.array_num_value(31) := to_char(p_source_50);
6395 l_rec_acct_attrs.array_acct_attr_code(32) := 'REVERSED_DISTRIBUTION_TYPE';
6399 l_rec_acct_attrs.array_acct_attr_code(34) := 'TAX_REC_NREC_DIST_REF_ID';
6396 l_rec_acct_attrs.array_char_value(32) := p_source_21;
6397 l_rec_acct_attrs.array_acct_attr_code(33) := 'TAX_LINE_REF_ID';
6398 l_rec_acct_attrs.array_num_value(33) := p_source_52;
6400 l_rec_acct_attrs.array_num_value(34) := p_source_53;
6401 l_rec_acct_attrs.array_acct_attr_code(35) := 'TAX_SUMMARY_LINE_REF_ID';
6402 l_rec_acct_attrs.array_num_value(35) := p_source_54;
6403 l_rec_acct_attrs.array_acct_attr_code(36) := 'UPG_CR_ENC_TYPE_ID';
6404 l_rec_acct_attrs.array_num_value(36) := p_source_55;
6405 l_rec_acct_attrs.array_acct_attr_code(37) := 'UPG_DR_ENC_TYPE_ID';
6406 l_rec_acct_attrs.array_num_value(37) := p_source_56;
6407
6408 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
6409 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
6410
6411 ---------------------------------------------------------------------------------------------------------------
6412 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
6413 ---------------------------------------------------------------------------------------------------------------
6414 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
6415
6416 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
6417 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
6418
6419 IF xla_accounting_cache_pkg.GetValueChar
6420 (p_source_code => 'LEDGER_CATEGORY_CODE'
6421 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
6422 AND l_bflow_method_code = 'PRIOR_ENTRY'
6423 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
6424 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
6425 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
6426 )
6427 THEN
6428 xla_ae_lines_pkg.BflowUpgEntry
6429 (p_business_method_code => l_bflow_method_code
6430 ,p_business_class_code => l_bflow_class_code
6431 ,p_balance_type => l_balance_type_code);
6432 ELSE
6433 NULL;
6434 XLA_AE_LINES_PKG.business_flow_validation(
6435 p_business_method_code => l_bflow_method_code
6436 ,p_business_class_code => l_bflow_class_code
6437 ,p_inherit_description_flag => l_inherit_desc_flag);
6438 END IF;
6439
6440 --
6441 -- call analytical criteria
6442 --
6443 -- Inherited Analytical Criteria for business flow method of Prior Entry.
6444 --
6445 -- call description
6446 --
6447 -- No description or it is inherited.
6448 --
6449 -- call ADRs
6450 -- Bug 4922099
6451 --
6452 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
6453 (NVL(l_actual_upg_option, 'N') = 'O') OR
6454 (NVL(l_enc_upg_option, 'N') = 'O')
6455 )
6456 THEN
6457 NULL;
6458 --
6459 --
6460
6461 --
6462 --
6463 END IF;
6464 --
6465 -- Bug 4922099
6466 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
6467 (NVL(l_enc_upg_option, 'N') = 'O')
6468 ) AND
6469 (l_bflow_method_code = 'PRIOR_ENTRY')
6470 )
6471 THEN
6472 IF
6473 --
6474 1 = 1
6475 --
6476 THEN
6477 xla_accounting_err_pkg.build_message
6478 (p_appli_s_name => 'XLA'
6479 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
6480 ,p_token_1 => 'LINE_NUMBER'
6481 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
6482 ,p_token_2 => 'LINE_TYPE_NAME'
6483 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
6484 l_component_type
6485 ,l_component_code
6486 ,l_component_type_code
6487 ,l_component_appl_id
6488 ,l_amb_context_code
6489 ,l_entity_code
6490 ,l_event_class_code
6491 )
6492 ,p_token_3 => 'OWNER'
6493 ,p_value_3 => xla_lookups_pkg.get_meaning(
6494 p_lookup_type => 'XLA_OWNER_TYPE'
6495 ,p_lookup_code => l_component_type_code
6496 )
6497 ,p_token_4 => 'PRODUCT_NAME'
6501 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
6498 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
6499 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
6500 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
6502 ,p_ae_header_id => NULL
6503 );
6504
6505 IF (C_LEVEL_ERROR>= g_log_level) THEN
6506 trace
6507 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
6508 ,p_level => C_LEVEL_ERROR
6509 ,p_module => l_log_module);
6510 END IF;
6511 END IF;
6512 END IF;
6513 --
6514 --
6515 ------------------------------------------------------------------------------------------------
6516 -- 4219869 Business Flow
6517 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
6518 -- Prior Entry. Currently, the following code is always generated.
6519 ------------------------------------------------------------------------------------------------
6520 -- No ValidateCurrentLine for business flow method of Prior Entry
6521
6522 ------------------------------------------------------------------------------------
6523 -- 4219869 Business Flow
6524 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
6525 ------------------------------------------------------------------------------------
6526 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
6527
6528 ----------------------------------------------------------------------------------
6529 -- 4219869 Business Flow
6530 -- Update journal entry status -- Need to generate this within IF <condition>
6531 ----------------------------------------------------------------------------------
6532 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
6533 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
6534 ,p_balance_type_code => l_balance_type_code
6535 );
6536
6537 -------------------------------------------------------------------------------------------
6538 -- 4262811 - Generate the Accrual Reversal lines
6539 -------------------------------------------------------------------------------------------
6540 BEGIN
6541 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
6542 (g_array_event(p_event_id).array_value_num('header_index'));
6543 IF l_acc_rev_flag IS NULL THEN
6544 l_acc_rev_flag := 'N';
6545 END IF;
6546 EXCEPTION
6547 WHEN OTHERS THEN
6548 l_acc_rev_flag := 'N';
6549 END;
6550 --
6551 IF (l_acc_rev_flag = 'Y') THEN
6552
6553 -- 4645092 ------------------------------------------------------------------------------
6554 -- To allow MPA report to determine if it should generate report process
6555 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
6556 ------------------------------------------------------------------------------------------
6557
6558 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
6559 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
6560 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
6561 -- call ADRs
6562 -- Bug 4922099
6563 --
6564 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
6565 (NVL(l_actual_upg_option, 'N') = 'O') OR
6566 (NVL(l_enc_upg_option, 'N') = 'O')
6567 )
6568 THEN
6569 NULL;
6570 --
6571 --
6572
6573 --
6574 --
6575 END IF;
6576
6577 --
6578 -- Update the line information that should be overwritten
6579 --
6580 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
6581 p_header_num => 1);
6582 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
6583
6584 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
6585
6586 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
6587 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
6588 END IF;
6589
6590 --
6591 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
6592 --
6593 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
6594 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
6595 ELSE
6596 ---------------------------------------------------------------------------------------------------
6597 -- 4262811a Switch Sign
6598 ---------------------------------------------------------------------------------------------------
6599 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
6600 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
6601 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
6605 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
6602 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
6603 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
6604 -- 5132302
6606 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
6607
6608 END IF;
6609
6610 -- 4955764
6611 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
6612 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
6613
6614
6615 XLA_AE_LINES_PKG.ValidateCurrentLine;
6616 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
6617
6618 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
6619 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
6620 ,p_balance_type_code => l_balance_type_code);
6621
6622 END IF;
6623
6624 -----------------------------------------------------------------------------------------
6625 -- 4262811 Multiperiod Accounting
6626 -----------------------------------------------------------------------------------------
6627 -- No MPA option is assigned.
6628
6629
6630 END IF;
6631 END IF;
6632 --
6633
6634 --
6635 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
6636 trace
6637 (p_msg => 'END of AcctLineType_20'
6638 ,p_level => C_LEVEL_PROCEDURE
6639 ,p_module => l_log_module);
6640 END IF;
6641 --
6642 EXCEPTION
6643 WHEN xla_exceptions_pkg.application_exception THEN
6644 RAISE;
6645 WHEN OTHERS THEN
6646 xla_exceptions_pkg.raise_message
6647 (p_location => 'XLA_00200_AAD_S_000006_BC_PKG.AcctLineType_20');
6648 END AcctLineType_20;
6649 --
6650
6651 ---------------------------------------
6652 --
6653 -- PRIVATE FUNCTION
6654 -- AcctLineType_21
6655 --
6656 ---------------------------------------
6657 PROCEDURE AcctLineType_21 (
6658 p_application_id IN NUMBER
6659 ,p_event_id IN NUMBER
6660 ,p_calculate_acctd_flag IN VARCHAR2
6661 ,p_calculate_g_l_flag IN VARCHAR2
6662 ,p_actual_flag IN OUT VARCHAR2
6663 ,p_balance_type_code OUT VARCHAR2
6664 ,p_gain_or_loss_ref OUT VARCHAR2
6665
6666 --Invoice Distribution Type
6667 , p_source_15 IN VARCHAR2
6668 , p_source_15_meaning IN VARCHAR2
6669 --Accrue on Receipt Option
6670 , p_source_18 IN VARCHAR2
6671 , p_source_18_meaning IN VARCHAR2
6672 --Accounting Reversal Indicator
6673 , p_source_19 IN VARCHAR2
6674 --Distribution Link Type
6675 , p_source_21 IN VARCHAR2
6676 --Allocation to Main Distribution Identifier
6677 , p_source_23 IN NUMBER
6678 --Invoice Identifier
6679 , p_source_24 IN NUMBER
6680 --Invoice Distribution Identifier
6681 , p_source_30 IN NUMBER
6682 --Payables Encumbrance Upgrade Credit Account
6683 , p_source_31 IN NUMBER
6684 --Payables Encumbrance Upgrade Credit Amount
6685 , p_source_32 IN NUMBER
6686 --Invoice Currency Code
6687 , p_source_33 IN VARCHAR2
6688 --Payables Encumbrance Upgrade Credit Base Amount
6689 , p_source_34 IN NUMBER
6690 --Payables Encumbrance Upgrade Debit Account
6691 , p_source_35 IN NUMBER
6692 --Payables Encumbrance Upgrade Debit Amount
6693 , p_source_36 IN NUMBER
6694 --Payables Encumbrance Upgrade Debit Base Amount
6695 , p_source_37 IN NUMBER
6696 --Payables Encumbrance Upgrade Option
6697 , p_source_38 IN VARCHAR2
6698 --Deferred Accounting End Date
6699 , p_source_43 IN DATE
6700 --Deferred Accounting Option
6701 , p_source_44 IN VARCHAR2
6702 --Deferred Accounting Start Date
6703 , p_source_45 IN DATE
6704 --Override Accounted Amount Indicator
6705 , p_source_46 IN VARCHAR2
6706 , p_source_46_meaning IN VARCHAR2
6707 --Third Party Type
6708 , p_source_49 IN VARCHAR2
6709 --Parent Reversal Identifier
6710 , p_source_50 IN NUMBER
6711 --Invoice Distribution Tax Line Identifier
6712 , p_source_52 IN NUMBER
6713 --Invoice Distribution Tax Distribution Identifier from Tax
6714 , p_source_53 IN NUMBER
6715 --Invoice Distribution Summary Tax Line Identifier
6716 , p_source_54 IN NUMBER
6717 --Payables Upgrade Credit Encumbrance Type Identifier
6718 , p_source_55 IN NUMBER
6719 --Payables Upgrade Debit Encumbrance Type Identifier
6720 , p_source_56 IN NUMBER
6721 --Purchase Order Distribution Identifier
6722 , p_source_58 IN NUMBER
6723 --Business Flow Purchasing Application Identifier
6724 , p_source_60 IN NUMBER
6725 --Business Flow Purchase Order Distribution Type
6726 , p_source_61 IN VARCHAR2
6727 --Business Flow Purchase Order Entity Code
6728 , p_source_62 IN VARCHAR2
6729 --Business Flow Purchase Order Distribution Identifier
6730 , p_source_63 IN NUMBER
6731 --Business Flow Purchasing Document Identifier
6732 , p_source_64 IN NUMBER
6736 , p_source_66 IN NUMBER
6733 --Invoice Distribution Encumbrance Amount
6734 , p_source_65 IN NUMBER
6735 --Invoice Distribution Encumbrance Ledger Amount
6737 )
6738 IS
6739
6740 l_component_type VARCHAR2(80);
6741 l_component_code VARCHAR2(30);
6742 l_component_type_code VARCHAR2(1);
6743 l_component_appl_id INTEGER;
6744 l_amb_context_code VARCHAR2(30);
6745 l_entity_code VARCHAR2(30);
6746 l_event_class_code VARCHAR2(30);
6747 l_ae_header_id NUMBER;
6748 l_event_type_code VARCHAR2(30);
6749 l_line_definition_code VARCHAR2(30);
6750 l_line_definition_owner_code VARCHAR2(1);
6751 --
6752 -- adr variables
6753 l_segment VARCHAR2(30);
6754 l_ccid NUMBER;
6755 l_adr_transaction_coa_id NUMBER;
6756 l_adr_accounting_coa_id NUMBER;
6757 l_adr_flexfield_segment_code VARCHAR2(30);
6758 l_adr_flex_value_set_id NUMBER;
6759 l_adr_value_type_code VARCHAR2(30);
6760 l_adr_value_combination_id NUMBER;
6761 l_adr_value_segment_code VARCHAR2(30);
6762
6763 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
6764 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
6765 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
6766 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
6767
6768 -- 4262811 Variables ------------------------------------------------------------------------------------------
6769 l_entered_amt_idx NUMBER;
6770 l_accted_amt_idx NUMBER;
6771 l_acc_rev_flag VARCHAR2(1);
6772 l_accrual_line_num NUMBER;
6773 l_tmp_amt NUMBER;
6774 l_acc_rev_natural_side_code VARCHAR2(1);
6775
6776 l_num_entries NUMBER;
6777 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
6778 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
6779 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
6780 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
6781 l_recog_line_1 NUMBER;
6782 l_recog_line_2 NUMBER;
6783
6784 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
6785 l_bflow_applied_to_amt NUMBER; -- 5132302
6786 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
6787
6788 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
6789
6790 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
6791 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
6792
6793 ---------------------------------------------------------------------------------------------------------------
6794
6795
6796 --
6797 -- bulk performance
6798 --
6799 l_balance_type_code VARCHAR2(1);
6800 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
6801 l_log_module VARCHAR2(240);
6802
6803 --
6804 -- Upgrade strategy
6805 --
6806 l_actual_upg_option VARCHAR2(1);
6807 l_enc_upg_option VARCHAR2(1);
6808
6809 --
6810 BEGIN
6811 --
6812 IF g_log_enabled THEN
6813 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_21';
6814 END IF;
6815 --
6816 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
6817
6818 trace
6819 (p_msg => 'BEGIN of AcctLineType_21'
6820 ,p_level => C_LEVEL_PROCEDURE
6821 ,p_module => l_log_module);
6822
6823 END IF;
6824 --
6825 l_component_type := 'AMB_JLT';
6826 l_component_code := 'AP_DM_PO_ENC';
6827 l_component_type_code := 'S';
6828 l_component_appl_id := 200;
6829 l_amb_context_code := 'DEFAULT';
6830 l_entity_code := 'AP_INVOICES';
6831 l_event_class_code := 'DEBIT MEMOS';
6832 l_event_type_code := 'DEBIT MEMOS_ALL';
6833 l_line_definition_owner_code := 'S';
6834 l_line_definition_code := 'ENC_DM_ALL';
6835 --
6836 l_balance_type_code := 'E';
6837 l_segment := NULL;
6838 l_ccid := NULL;
6839 l_adr_transaction_coa_id := NULL;
6840 l_adr_accounting_coa_id := NULL;
6841 l_adr_flexfield_segment_code := NULL;
6842 l_adr_flex_value_set_id := NULL;
6843 l_adr_value_type_code := NULL;
6844 l_adr_value_combination_id := NULL;
6845 l_adr_value_segment_code := NULL;
6846
6847 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
6848 l_bflow_class_code := 'PO_ENCUMBRANCE'; -- 4219869 Business Flow
6849 l_inherit_desc_flag := 'Y'; -- 4219869 Business Flow
6850 l_budgetary_control_flag := 'Y';
6851
6852 l_bflow_applied_to_amt_idx := NULL; -- 5132302
6853 l_bflow_applied_to_amt := NULL; -- 5132302
6854 l_entered_amt_idx := NULL; -- 4262811
6855 l_accted_amt_idx := NULL; -- 4262811
6856 l_acc_rev_flag := NULL; -- 4262811
6857 l_accrual_line_num := NULL; -- 4262811
6858 l_tmp_amt := NULL; -- 4262811
6859 --
6860
6861 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
6862 l_balance_type_code <> 'B' THEN
6863 IF p_source_58 IS NOT NULL AND
6867 ') = 'ITEM') AND
6864 (NVL(p_source_15,'
6865 ') = 'ACCRUAL' OR
6866 NVL(p_source_15,'
6868 NVL(p_source_18,'
6869 ') <> 'Y'
6870 THEN
6871
6872 --
6873 XLA_AE_LINES_PKG.SetNewLine;
6874
6875 p_balance_type_code := l_balance_type_code;
6876 -- set the flag so later we will know whether the gain loss line needs to be created
6877
6878 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
6879 p_actual_flag :='A';
6880 END IF;
6881
6882 --
6883 -- bulk performance
6884 --
6885 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
6886 p_header_num => 0); -- 4262811
6887 --
6888 -- set accounting line options
6889 --
6890 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
6891 p_natural_side_code => 'C'
6892 , p_gain_or_loss_flag => 'N'
6893 , p_gl_transfer_mode_code => 'S'
6894 , p_acct_entry_type_code => 'E'
6895 , p_switch_side_flag => 'Y'
6896 , p_merge_duplicate_code => 'N'
6897 );
6898 --
6899 l_acc_rev_natural_side_code := 'D'; -- 4262811
6900 --
6901 --
6902 -- set accounting line type info
6903 --
6904 xla_ae_lines_pkg.SetAcctLineType
6905 (p_component_type => l_component_type
6906 ,p_event_type_code => l_event_type_code
6907 ,p_line_definition_owner_code => l_line_definition_owner_code
6908 ,p_line_definition_code => l_line_definition_code
6909 ,p_accounting_line_code => l_component_code
6910 ,p_accounting_line_type_code => l_component_type_code
6911 ,p_accounting_line_appl_id => l_component_appl_id
6912 ,p_amb_context_code => l_amb_context_code
6913 ,p_entity_code => l_entity_code
6914 ,p_event_class_code => l_event_class_code);
6915 --
6916 -- set accounting class
6917 --
6918 xla_ae_lines_pkg.SetAcctClass(
6919 p_accounting_class_code => 'PURCHASE_ORDER'
6920 , p_ae_header_id => l_ae_header_id
6921 );
6922
6923 --
6924 -- set rounding class
6925 --
6926 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
6927 'PURCHASE_ORDER';
6928
6929 --
6930 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
6931 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
6932 --
6933 -- bulk performance
6934 --
6935 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
6936
6937 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
6938 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
6939
6940 -- 4955764
6941 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
6942 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
6943
6944 -- 4458381 Public Sector Enh
6945
6946 --
6947 -- set accounting attributes for the line type
6948 --
6949 l_entered_amt_idx := 23;
6950 l_accted_amt_idx := 25;
6951 l_bflow_applied_to_amt_idx := NULL; -- 5132302
6952 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
6953 l_rec_acct_attrs.array_char_value(1) := p_source_19;
6954 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
6955 l_rec_acct_attrs.array_num_value(2) :=
6956 xla_ae_sources_pkg.GetSystemSourceNum(
6957 p_source_code => 'XLA_EVENT_APPL_ID'
6958 , p_source_type_code => 'Y'
6959 , p_source_application_id => 602
6960 );
6961 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
6962 l_rec_acct_attrs.array_char_value(3) := p_source_21;
6963 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
6964 l_rec_acct_attrs.array_char_value(4) :=
6965 xla_ae_sources_pkg.GetSystemSourceChar(
6966 p_source_code => 'XLA_ENTITY_CODE'
6967 , p_source_type_code => 'Y'
6968 , p_source_application_id => 602
6969 );
6970 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
6971 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_23);
6972 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
6973 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_24);
6974 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
6975 l_rec_acct_attrs.array_num_value(7) := p_source_60;
6976 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
6977 l_rec_acct_attrs.array_char_value(8) := p_source_61;
6978 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
6979 l_rec_acct_attrs.array_char_value(9) := p_source_62;
6980 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
6981 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_63);
6982 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
6983 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_64);
6984 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
6985 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_30);
6986 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
6990 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
6987 l_rec_acct_attrs.array_char_value(13) := p_source_21;
6988 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
6989 l_rec_acct_attrs.array_num_value(14) := p_source_31;
6991 l_rec_acct_attrs.array_num_value(15) := p_source_32;
6992 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
6993 l_rec_acct_attrs.array_char_value(16) := p_source_33;
6994 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
6995 l_rec_acct_attrs.array_num_value(17) := p_source_34;
6996 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
6997 l_rec_acct_attrs.array_num_value(18) := p_source_35;
6998 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
6999 l_rec_acct_attrs.array_num_value(19) := p_source_36;
7000 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
7001 l_rec_acct_attrs.array_char_value(20) := p_source_33;
7002 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
7003 l_rec_acct_attrs.array_num_value(21) := p_source_37;
7004 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
7005 l_rec_acct_attrs.array_char_value(22) := p_source_38;
7006 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
7007 l_rec_acct_attrs.array_num_value(23) := p_source_65;
7008 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
7009 l_rec_acct_attrs.array_char_value(24) := p_source_33;
7010 l_rec_acct_attrs.array_acct_attr_code(25) := 'LEDGER_AMOUNT';
7011 l_rec_acct_attrs.array_num_value(25) := p_source_66;
7012 l_rec_acct_attrs.array_acct_attr_code(26) := 'MULTIPERIOD_END_DATE';
7013 l_rec_acct_attrs.array_date_value(26) := p_source_43;
7014 l_rec_acct_attrs.array_acct_attr_code(27) := 'MULTIPERIOD_OPTION';
7015 l_rec_acct_attrs.array_char_value(27) := p_source_44;
7016 l_rec_acct_attrs.array_acct_attr_code(28) := 'MULTIPERIOD_START_DATE';
7017 l_rec_acct_attrs.array_date_value(28) := p_source_45;
7018 l_rec_acct_attrs.array_acct_attr_code(29) := 'OVERRIDE_ACCTD_AMT_FLAG';
7019 l_rec_acct_attrs.array_char_value(29) := p_source_46;
7020 l_rec_acct_attrs.array_acct_attr_code(30) := 'PARTY_TYPE';
7021 l_rec_acct_attrs.array_char_value(30) := p_source_49;
7022 l_rec_acct_attrs.array_acct_attr_code(31) := 'REVERSED_DISTRIBUTION_ID1';
7023 l_rec_acct_attrs.array_num_value(31) := to_char(p_source_50);
7024 l_rec_acct_attrs.array_acct_attr_code(32) := 'REVERSED_DISTRIBUTION_TYPE';
7025 l_rec_acct_attrs.array_char_value(32) := p_source_21;
7026 l_rec_acct_attrs.array_acct_attr_code(33) := 'TAX_LINE_REF_ID';
7027 l_rec_acct_attrs.array_num_value(33) := p_source_52;
7028 l_rec_acct_attrs.array_acct_attr_code(34) := 'TAX_REC_NREC_DIST_REF_ID';
7029 l_rec_acct_attrs.array_num_value(34) := p_source_53;
7030 l_rec_acct_attrs.array_acct_attr_code(35) := 'TAX_SUMMARY_LINE_REF_ID';
7031 l_rec_acct_attrs.array_num_value(35) := p_source_54;
7032 l_rec_acct_attrs.array_acct_attr_code(36) := 'UPG_CR_ENC_TYPE_ID';
7033 l_rec_acct_attrs.array_num_value(36) := p_source_55;
7034 l_rec_acct_attrs.array_acct_attr_code(37) := 'UPG_DR_ENC_TYPE_ID';
7035 l_rec_acct_attrs.array_num_value(37) := p_source_56;
7036
7037 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
7038 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
7039
7040 ---------------------------------------------------------------------------------------------------------------
7041 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
7042 ---------------------------------------------------------------------------------------------------------------
7043 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
7044
7045 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
7046 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
7047
7048 IF xla_accounting_cache_pkg.GetValueChar
7049 (p_source_code => 'LEDGER_CATEGORY_CODE'
7050 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
7051 AND l_bflow_method_code = 'PRIOR_ENTRY'
7052 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
7053 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
7054 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
7055 )
7056 THEN
7057 xla_ae_lines_pkg.BflowUpgEntry
7058 (p_business_method_code => l_bflow_method_code
7059 ,p_business_class_code => l_bflow_class_code
7060 ,p_balance_type => l_balance_type_code);
7061 ELSE
7062 NULL;
7063 XLA_AE_LINES_PKG.business_flow_validation(
7064 p_business_method_code => l_bflow_method_code
7065 ,p_business_class_code => l_bflow_class_code
7066 ,p_inherit_description_flag => l_inherit_desc_flag);
7067 END IF;
7068
7069 --
7070 -- call analytical criteria
7071 --
7072 -- Inherited Analytical Criteria for business flow method of Prior Entry.
7073 --
7074 -- call description
7075 --
7076 -- No description or it is inherited.
7077 --
7078 -- call ADRs
7079 -- Bug 4922099
7080 --
7081 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
7082 (NVL(l_actual_upg_option, 'N') = 'O') OR
7086 NULL;
7083 (NVL(l_enc_upg_option, 'N') = 'O')
7084 )
7085 THEN
7087 --
7088 --
7089
7090 --
7091 --
7092 END IF;
7093 --
7094 -- Bug 4922099
7095 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
7096 (NVL(l_enc_upg_option, 'N') = 'O')
7097 ) AND
7098 (l_bflow_method_code = 'PRIOR_ENTRY')
7099 )
7100 THEN
7101 IF
7102 --
7103 1 = 1
7104 --
7105 THEN
7106 xla_accounting_err_pkg.build_message
7107 (p_appli_s_name => 'XLA'
7108 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
7109 ,p_token_1 => 'LINE_NUMBER'
7110 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
7111 ,p_token_2 => 'LINE_TYPE_NAME'
7112 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
7113 l_component_type
7114 ,l_component_code
7115 ,l_component_type_code
7116 ,l_component_appl_id
7117 ,l_amb_context_code
7118 ,l_entity_code
7119 ,l_event_class_code
7120 )
7121 ,p_token_3 => 'OWNER'
7122 ,p_value_3 => xla_lookups_pkg.get_meaning(
7123 p_lookup_type => 'XLA_OWNER_TYPE'
7124 ,p_lookup_code => l_component_type_code
7125 )
7126 ,p_token_4 => 'PRODUCT_NAME'
7127 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
7128 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
7129 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
7130 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
7131 ,p_ae_header_id => NULL
7132 );
7133
7134 IF (C_LEVEL_ERROR>= g_log_level) THEN
7135 trace
7136 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
7137 ,p_level => C_LEVEL_ERROR
7138 ,p_module => l_log_module);
7139 END IF;
7140 END IF;
7141 END IF;
7142 --
7143 --
7144 ------------------------------------------------------------------------------------------------
7145 -- 4219869 Business Flow
7146 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
7147 -- Prior Entry. Currently, the following code is always generated.
7148 ------------------------------------------------------------------------------------------------
7149 -- No ValidateCurrentLine for business flow method of Prior Entry
7150
7151 ------------------------------------------------------------------------------------
7152 -- 4219869 Business Flow
7153 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
7154 ------------------------------------------------------------------------------------
7155 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
7156
7157 ----------------------------------------------------------------------------------
7158 -- 4219869 Business Flow
7159 -- Update journal entry status -- Need to generate this within IF <condition>
7160 ----------------------------------------------------------------------------------
7161 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
7162 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
7163 ,p_balance_type_code => l_balance_type_code
7164 );
7165
7166 -------------------------------------------------------------------------------------------
7167 -- 4262811 - Generate the Accrual Reversal lines
7168 -------------------------------------------------------------------------------------------
7169 BEGIN
7170 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
7171 (g_array_event(p_event_id).array_value_num('header_index'));
7172 IF l_acc_rev_flag IS NULL THEN
7173 l_acc_rev_flag := 'N';
7174 END IF;
7175 EXCEPTION
7176 WHEN OTHERS THEN
7177 l_acc_rev_flag := 'N';
7178 END;
7179 --
7180 IF (l_acc_rev_flag = 'Y') THEN
7181
7182 -- 4645092 ------------------------------------------------------------------------------
7183 -- To allow MPA report to determine if it should generate report process
7187 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
7184 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
7185 ------------------------------------------------------------------------------------------
7186
7188 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
7189 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
7190 -- call ADRs
7191 -- Bug 4922099
7192 --
7193 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
7194 (NVL(l_actual_upg_option, 'N') = 'O') OR
7195 (NVL(l_enc_upg_option, 'N') = 'O')
7196 )
7197 THEN
7198 NULL;
7199 --
7200 --
7201
7202 --
7203 --
7204 END IF;
7205
7206 --
7207 -- Update the line information that should be overwritten
7208 --
7209 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
7210 p_header_num => 1);
7211 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
7212
7213 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
7214
7215 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
7216 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
7217 END IF;
7218
7219 --
7220 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
7221 --
7222 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
7223 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
7224 ELSE
7225 ---------------------------------------------------------------------------------------------------
7226 -- 4262811a Switch Sign
7227 ---------------------------------------------------------------------------------------------------
7228 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
7229 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
7230 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7231 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
7232 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7233 -- 5132302
7234 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
7235 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7236
7237 END IF;
7238
7239 -- 4955764
7240 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
7241 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
7242
7243
7244 XLA_AE_LINES_PKG.ValidateCurrentLine;
7245 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
7246
7247 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
7248 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
7249 ,p_balance_type_code => l_balance_type_code);
7250
7251 END IF;
7252
7253 -----------------------------------------------------------------------------------------
7254 -- 4262811 Multiperiod Accounting
7255 -----------------------------------------------------------------------------------------
7256 -- No MPA option is assigned.
7257
7258
7259 END IF;
7260 END IF;
7261 --
7262
7263 --
7264 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
7265 trace
7266 (p_msg => 'END of AcctLineType_21'
7267 ,p_level => C_LEVEL_PROCEDURE
7268 ,p_module => l_log_module);
7269 END IF;
7270 --
7271 EXCEPTION
7272 WHEN xla_exceptions_pkg.application_exception THEN
7273 RAISE;
7274 WHEN OTHERS THEN
7275 xla_exceptions_pkg.raise_message
7276 (p_location => 'XLA_00200_AAD_S_000006_BC_PKG.AcctLineType_21');
7277 END AcctLineType_21;
7278 --
7279
7280 ---------------------------------------
7281 --
7282 -- PRIVATE FUNCTION
7283 -- AcctLineType_22
7284 --
7285 ---------------------------------------
7286 PROCEDURE AcctLineType_22 (
7287 p_application_id IN NUMBER
7288 ,p_event_id IN NUMBER
7289 ,p_calculate_acctd_flag IN VARCHAR2
7290 ,p_calculate_g_l_flag IN VARCHAR2
7291 ,p_actual_flag IN OUT VARCHAR2
7292 ,p_balance_type_code OUT VARCHAR2
7293 ,p_gain_or_loss_ref OUT VARCHAR2
7294
7295 --Invoice Distribution Description
7296 , p_source_1 IN VARCHAR2
7297 --Purchase Order Rate Variance Gain Account
7298 , p_source_6 IN NUMBER
7299 --Automatic Offsets Value
7300 , p_source_7 IN VARCHAR2
7301 , p_source_7_meaning IN VARCHAR2
7302 --Invoice Distribution Ledger Amount
7303 , p_source_8 IN NUMBER
7304 --Destination Type of the PO Distribution
7305 , p_source_9 IN VARCHAR2
7306 , p_source_9_meaning IN VARCHAR2
7307 --Purchase Order Rate Variance Loss Account
7308 , p_source_10 IN NUMBER
7312 , p_source_12 IN VARCHAR2
7309 --Invoice Distribution Account
7310 , p_source_11 IN NUMBER
7311 --Automatic Offsets Flag
7313 , p_source_12_meaning IN VARCHAR2
7314 --Invoice Distribution Type
7315 , p_source_15 IN VARCHAR2
7316 , p_source_15_meaning IN VARCHAR2
7317 --Purchasing Encumbrance Option
7318 , p_source_17 IN VARCHAR2
7319 , p_source_17_meaning IN VARCHAR2
7320 --Accounting Reversal Indicator
7321 , p_source_19 IN VARCHAR2
7322 --Distribution Link Type
7323 , p_source_21 IN VARCHAR2
7324 --Allocation to Main Distribution Identifier
7325 , p_source_23 IN NUMBER
7326 --Invoice Identifier
7327 , p_source_24 IN NUMBER
7328 --Business Flow Accounts Payable Application Identifier
7329 , p_source_25 IN NUMBER
7330 --Business Flow Invoice Distribution Type
7331 , p_source_26 IN VARCHAR2
7332 --Business Flow Invoice Entity Code
7333 , p_source_27 IN VARCHAR2
7334 --Business Flow Invoice Distribution Identifier
7335 , p_source_28 IN NUMBER
7336 --Business Flow Invoice Identifier
7337 , p_source_29 IN NUMBER
7338 --Invoice Distribution Identifier
7339 , p_source_30 IN NUMBER
7340 --Payables Encumbrance Upgrade Credit Account
7341 , p_source_31 IN NUMBER
7342 --Payables Encumbrance Upgrade Credit Amount
7343 , p_source_32 IN NUMBER
7344 --Invoice Currency Code
7345 , p_source_33 IN VARCHAR2
7346 --Payables Encumbrance Upgrade Credit Base Amount
7347 , p_source_34 IN NUMBER
7348 --Payables Encumbrance Upgrade Debit Account
7349 , p_source_35 IN NUMBER
7350 --Payables Encumbrance Upgrade Debit Amount
7351 , p_source_36 IN NUMBER
7352 --Payables Encumbrance Upgrade Debit Base Amount
7353 , p_source_37 IN NUMBER
7354 --Payables Encumbrance Upgrade Option
7355 , p_source_38 IN VARCHAR2
7356 --Invoice Exchange Date
7357 , p_source_39 IN DATE
7358 --Invoice Exchange Rate
7359 , p_source_40 IN NUMBER
7360 --Invoice Exchange Rate Type
7361 , p_source_41 IN VARCHAR2
7362 --Deferred Accounting End Date
7363 , p_source_43 IN DATE
7364 --Deferred Accounting Option
7365 , p_source_44 IN VARCHAR2
7366 --Deferred Accounting Start Date
7367 , p_source_45 IN DATE
7368 --Override Accounted Amount Indicator
7369 , p_source_46 IN VARCHAR2
7370 , p_source_46_meaning IN VARCHAR2
7371 --Invoice Supplier Identifier
7372 , p_source_47 IN NUMBER
7373 --Invoice Supplier Site Identifier
7374 , p_source_48 IN NUMBER
7375 --Third Party Type
7376 , p_source_49 IN VARCHAR2
7377 --Parent Reversal Identifier
7378 , p_source_50 IN NUMBER
7379 --Invoice Distribution Statistical Amount
7380 , p_source_51 IN NUMBER
7381 --Invoice Distribution Tax Line Identifier
7382 , p_source_52 IN NUMBER
7383 --Invoice Distribution Tax Distribution Identifier from Tax
7384 , p_source_53 IN NUMBER
7385 --Invoice Distribution Summary Tax Line Identifier
7386 , p_source_54 IN NUMBER
7387 --Payables Upgrade Credit Encumbrance Type Identifier
7388 , p_source_55 IN NUMBER
7389 --Payables Upgrade Debit Encumbrance Type Identifier
7390 , p_source_56 IN NUMBER
7391 --Invoice Distribution Encumbrance Amount
7392 , p_source_65 IN NUMBER
7393 --Invoice Distribution Encumbrance Ledger Amount
7394 , p_source_66 IN NUMBER
7395 )
7396 IS
7397
7398 l_component_type VARCHAR2(80);
7399 l_component_code VARCHAR2(30);
7400 l_component_type_code VARCHAR2(1);
7401 l_component_appl_id INTEGER;
7402 l_amb_context_code VARCHAR2(30);
7403 l_entity_code VARCHAR2(30);
7404 l_event_class_code VARCHAR2(30);
7405 l_ae_header_id NUMBER;
7406 l_event_type_code VARCHAR2(30);
7407 l_line_definition_code VARCHAR2(30);
7408 l_line_definition_owner_code VARCHAR2(1);
7409 --
7410 -- adr variables
7411 l_segment VARCHAR2(30);
7412 l_ccid NUMBER;
7413 l_adr_transaction_coa_id NUMBER;
7414 l_adr_accounting_coa_id NUMBER;
7415 l_adr_flexfield_segment_code VARCHAR2(30);
7416 l_adr_flex_value_set_id NUMBER;
7417 l_adr_value_type_code VARCHAR2(30);
7418 l_adr_value_combination_id NUMBER;
7419 l_adr_value_segment_code VARCHAR2(30);
7420
7421 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
7422 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
7423 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
7424 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
7425
7426 -- 4262811 Variables ------------------------------------------------------------------------------------------
7427 l_entered_amt_idx NUMBER;
7428 l_accted_amt_idx NUMBER;
7429 l_acc_rev_flag VARCHAR2(1);
7430 l_accrual_line_num NUMBER;
7431 l_tmp_amt NUMBER;
7432 l_acc_rev_natural_side_code VARCHAR2(1);
7433
7434 l_num_entries NUMBER;
7438 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
7435 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
7436 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
7437 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
7439 l_recog_line_1 NUMBER;
7440 l_recog_line_2 NUMBER;
7441
7442 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
7443 l_bflow_applied_to_amt NUMBER; -- 5132302
7444 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
7445
7446 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
7447
7448 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
7449 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
7450
7451 ---------------------------------------------------------------------------------------------------------------
7452
7453
7454 --
7455 -- bulk performance
7456 --
7457 l_balance_type_code VARCHAR2(1);
7458 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
7459 l_log_module VARCHAR2(240);
7460
7461 --
7462 -- Upgrade strategy
7463 --
7464 l_actual_upg_option VARCHAR2(1);
7465 l_enc_upg_option VARCHAR2(1);
7466
7467 --
7468 BEGIN
7469 --
7470 IF g_log_enabled THEN
7471 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_22';
7472 END IF;
7473 --
7474 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
7475
7476 trace
7477 (p_msg => 'BEGIN of AcctLineType_22'
7478 ,p_level => C_LEVEL_PROCEDURE
7479 ,p_module => l_log_module);
7480
7481 END IF;
7482 --
7483 l_component_type := 'AMB_JLT';
7484 l_component_code := 'AP_EX_RATE_VAR_CM_ENC_DR';
7485 l_component_type_code := 'S';
7486 l_component_appl_id := 200;
7487 l_amb_context_code := 'DEFAULT';
7488 l_entity_code := 'AP_INVOICES';
7489 l_event_class_code := 'CREDIT MEMOS';
7490 l_event_type_code := 'CREDIT MEMOS_ALL';
7491 l_line_definition_owner_code := 'S';
7492 l_line_definition_code := 'ENC_CM_ALL';
7493 --
7494 l_balance_type_code := 'E';
7495 l_segment := NULL;
7496 l_ccid := NULL;
7497 l_adr_transaction_coa_id := NULL;
7498 l_adr_accounting_coa_id := NULL;
7499 l_adr_flexfield_segment_code := NULL;
7500 l_adr_flex_value_set_id := NULL;
7501 l_adr_value_type_code := NULL;
7502 l_adr_value_combination_id := NULL;
7503 l_adr_value_segment_code := NULL;
7504
7505 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
7506 l_bflow_class_code := 'AP_INV_ENCUM'; -- 4219869 Business Flow
7507 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
7508 l_budgetary_control_flag := 'Y';
7509
7510 l_bflow_applied_to_amt_idx := NULL; -- 5132302
7511 l_bflow_applied_to_amt := NULL; -- 5132302
7512 l_entered_amt_idx := NULL; -- 4262811
7513 l_accted_amt_idx := NULL; -- 4262811
7514 l_acc_rev_flag := NULL; -- 4262811
7515 l_accrual_line_num := NULL; -- 4262811
7516 l_tmp_amt := NULL; -- 4262811
7517 --
7518 IF ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
7519 (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
7520 return;
7521 END IF;
7522
7523 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
7524 l_balance_type_code <> 'B' THEN
7525 IF NVL(p_source_15,'
7526 ') = 'ERV' AND
7527 NVL(p_source_17,'
7528 ') = 'Y'
7529 THEN
7530
7531 --
7532 XLA_AE_LINES_PKG.SetNewLine;
7533
7534 p_balance_type_code := l_balance_type_code;
7535 -- set the flag so later we will know whether the gain loss line needs to be created
7536
7537 IF(l_balance_type_code = 'A' ) THEN
7538 p_actual_flag :='G';
7539 END IF;
7540
7541 --
7542 -- bulk performance
7543 --
7544 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
7545 p_header_num => 0); -- 4262811
7546 --
7547 -- set accounting line options
7548 --
7549 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
7550 p_natural_side_code => 'D'
7551 , p_gain_or_loss_flag => 'Y'
7552 , p_gl_transfer_mode_code => 'S'
7553 , p_acct_entry_type_code => 'E'
7554 , p_switch_side_flag => 'Y'
7555 , p_merge_duplicate_code => 'N'
7556 );
7557 --
7558 l_acc_rev_natural_side_code := 'C'; -- 4262811
7559 --
7560 --
7561 -- set accounting line type info
7562 --
7563 xla_ae_lines_pkg.SetAcctLineType
7564 (p_component_type => l_component_type
7565 ,p_event_type_code => l_event_type_code
7569 ,p_accounting_line_type_code => l_component_type_code
7566 ,p_line_definition_owner_code => l_line_definition_owner_code
7567 ,p_line_definition_code => l_line_definition_code
7568 ,p_accounting_line_code => l_component_code
7570 ,p_accounting_line_appl_id => l_component_appl_id
7571 ,p_amb_context_code => l_amb_context_code
7572 ,p_entity_code => l_entity_code
7573 ,p_event_class_code => l_event_class_code);
7574 --
7575 -- set accounting class
7576 --
7577 xla_ae_lines_pkg.SetAcctClass(
7578 p_accounting_class_code => 'EXCHANGE_RATE_VARIANCE'
7579 , p_ae_header_id => l_ae_header_id
7580 );
7581
7582 --
7583 -- set rounding class
7584 --
7585 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
7586 'EXCHANGE_RATE_VARIANCE';
7587
7588 --
7589 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
7590 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
7591 --
7592 -- bulk performance
7593 --
7594 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
7595
7596 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
7597 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
7598
7599 -- 4955764
7600 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
7601 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
7602
7603 -- 4458381 Public Sector Enh
7604 XLA_AE_LINES_PKG.g_rec_lines.array_encumbrance_type_id(XLA_AE_LINES_PKG.g_LineNumber) := 1060;
7605 --
7606 -- set accounting attributes for the line type
7607 --
7608 l_entered_amt_idx := 23;
7609 l_accted_amt_idx := 28;
7610 l_bflow_applied_to_amt_idx := NULL; -- 5132302
7611 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
7612 l_rec_acct_attrs.array_char_value(1) := p_source_19;
7613 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
7614 l_rec_acct_attrs.array_num_value(2) :=
7615 xla_ae_sources_pkg.GetSystemSourceNum(
7616 p_source_code => 'XLA_EVENT_APPL_ID'
7617 , p_source_type_code => 'Y'
7618 , p_source_application_id => 602
7619 );
7620 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
7621 l_rec_acct_attrs.array_char_value(3) := p_source_21;
7622 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
7623 l_rec_acct_attrs.array_char_value(4) :=
7624 xla_ae_sources_pkg.GetSystemSourceChar(
7625 p_source_code => 'XLA_ENTITY_CODE'
7626 , p_source_type_code => 'Y'
7627 , p_source_application_id => 602
7628 );
7629 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
7630 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_23);
7631 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
7632 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_24);
7633 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
7634 l_rec_acct_attrs.array_num_value(7) := p_source_25;
7635 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
7636 l_rec_acct_attrs.array_char_value(8) := p_source_26;
7637 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
7638 l_rec_acct_attrs.array_char_value(9) := p_source_27;
7639 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
7640 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_28);
7641 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
7642 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_29);
7643 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
7644 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_30);
7645 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
7646 l_rec_acct_attrs.array_char_value(13) := p_source_21;
7647 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
7648 l_rec_acct_attrs.array_num_value(14) := p_source_31;
7649 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
7650 l_rec_acct_attrs.array_num_value(15) := p_source_32;
7651 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
7652 l_rec_acct_attrs.array_char_value(16) := p_source_33;
7653 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
7654 l_rec_acct_attrs.array_num_value(17) := p_source_34;
7655 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
7656 l_rec_acct_attrs.array_num_value(18) := p_source_35;
7657 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
7658 l_rec_acct_attrs.array_num_value(19) := p_source_36;
7659 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
7660 l_rec_acct_attrs.array_char_value(20) := p_source_33;
7661 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
7662 l_rec_acct_attrs.array_num_value(21) := p_source_37;
7663 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
7664 l_rec_acct_attrs.array_char_value(22) := p_source_38;
7668 l_rec_acct_attrs.array_char_value(24) := p_source_33;
7665 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
7666 l_rec_acct_attrs.array_num_value(23) := p_source_65;
7667 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
7669 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
7670 l_rec_acct_attrs.array_date_value(25) := p_source_39;
7671 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
7672 l_rec_acct_attrs.array_num_value(26) := p_source_40;
7673 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
7674 l_rec_acct_attrs.array_char_value(27) := p_source_41;
7675 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
7676 l_rec_acct_attrs.array_num_value(28) := p_source_66;
7677 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
7678 l_rec_acct_attrs.array_date_value(29) := p_source_43;
7679 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
7680 l_rec_acct_attrs.array_char_value(30) := p_source_44;
7681 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
7682 l_rec_acct_attrs.array_date_value(31) := p_source_45;
7683 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
7684 l_rec_acct_attrs.array_char_value(32) := p_source_46;
7685 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
7686 l_rec_acct_attrs.array_num_value(33) := p_source_47;
7687 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
7688 l_rec_acct_attrs.array_num_value(34) := p_source_48;
7689 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
7690 l_rec_acct_attrs.array_char_value(35) := p_source_49;
7691 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
7692 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_50);
7693 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
7694 l_rec_acct_attrs.array_char_value(37) := p_source_21;
7695 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
7696 l_rec_acct_attrs.array_num_value(38) := p_source_51;
7697 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
7698 l_rec_acct_attrs.array_num_value(39) := p_source_52;
7699 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
7700 l_rec_acct_attrs.array_num_value(40) := p_source_53;
7701 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
7702 l_rec_acct_attrs.array_num_value(41) := p_source_54;
7703 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
7704 l_rec_acct_attrs.array_num_value(42) := p_source_55;
7705 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
7706 l_rec_acct_attrs.array_num_value(43) := p_source_56;
7707
7708 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
7709 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
7710
7711 ---------------------------------------------------------------------------------------------------------------
7712 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
7713 ---------------------------------------------------------------------------------------------------------------
7714 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
7715
7716 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
7717 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
7718
7719 IF xla_accounting_cache_pkg.GetValueChar
7720 (p_source_code => 'LEDGER_CATEGORY_CODE'
7721 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
7722 AND l_bflow_method_code = 'PRIOR_ENTRY'
7723 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
7724 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
7725 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
7726 )
7727 THEN
7728 xla_ae_lines_pkg.BflowUpgEntry
7729 (p_business_method_code => l_bflow_method_code
7730 ,p_business_class_code => l_bflow_class_code
7731 ,p_balance_type => l_balance_type_code);
7732 ELSE
7733 NULL;
7734 -- No business flow processing for business flow method of NONE.
7735 END IF;
7736
7737 --
7738 -- call analytical criteria
7739 --
7740
7741 --
7742 -- call description
7743 --
7744
7745 xla_ae_lines_pkg.SetLineDescription(
7746 p_ae_header_id => l_ae_header_id
7747 ,p_description => Description_2 (
7748 p_application_id => p_application_id
7749 , p_ae_header_id => l_ae_header_id
7750 , p_source_1 => p_source_1
7751 )
7752 );
7753
7754
7755 --
7756 -- call ADRs
7757 -- Bug 4922099
7758 --
7759 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
7760 (NVL(l_actual_upg_option, 'N') = 'O') OR
7761 (NVL(l_enc_upg_option, 'N') = 'O')
7762 )
7763 THEN
7764 NULL;
7765 --
7766 --
7767
7768 l_ccid := AcctDerRule_6(
7769 p_application_id => p_application_id
7770 , p_ae_header_id => l_ae_header_id
7771 , p_source_6 => p_source_6
7772 , p_source_7 => p_source_7
7776 , p_source_9_meaning => p_source_9_meaning
7773 , p_source_7_meaning => p_source_7_meaning
7774 , p_source_8 => p_source_8
7775 , p_source_9 => p_source_9
7777 , p_source_10 => p_source_10
7778 , p_source_11 => p_source_11
7779 , p_source_12 => p_source_12
7780 , p_source_12_meaning => p_source_12_meaning
7781 , x_transaction_coa_id => l_adr_transaction_coa_id
7782 , x_accounting_coa_id => l_adr_accounting_coa_id
7783 , x_value_type_code => l_adr_value_type_code
7784 , p_side => 'NA'
7785 );
7786
7787 xla_ae_lines_pkg.set_ccid(
7788 p_code_combination_id => l_ccid
7789 , p_value_type_code => l_adr_value_type_code
7790 , p_transaction_coa_id => l_adr_transaction_coa_id
7791 , p_accounting_coa_id => l_adr_accounting_coa_id
7792 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
7793 , p_adr_type_code => 'S'
7794 , p_component_type => l_component_type
7795 , p_component_code => l_component_code
7796 , p_component_type_code => l_component_type_code
7797 , p_component_appl_id => l_component_appl_id
7798 , p_amb_context_code => l_amb_context_code
7799 , p_side => 'NA'
7800 );
7801
7802
7803 l_segment := AcctDerRule_4(
7804 p_application_id => p_application_id
7805 , p_ae_header_id => l_ae_header_id
7806 , p_source_6 => p_source_6
7807 , p_source_7 => p_source_7
7808 , p_source_7_meaning => p_source_7_meaning
7809 , p_source_8 => p_source_8
7810 , p_source_9 => p_source_9
7811 , p_source_9_meaning => p_source_9_meaning
7812 , p_source_10 => p_source_10
7813 , x_transaction_coa_id => l_adr_transaction_coa_id
7814 , x_accounting_coa_id => l_adr_accounting_coa_id
7815 , x_flexfield_segment_code => l_adr_flexfield_segment_code
7816 , x_flex_value_set_id => l_adr_flex_value_set_id
7817 , x_value_type_code => l_adr_value_type_code
7818 , x_value_combination_id => l_adr_value_combination_id
7819 , x_value_segment_code => l_adr_value_segment_code
7820 , p_side => 'NA'
7821 , p_override_seg_flag => 'Y'
7822 );
7823
7824 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
7825
7826 xla_ae_lines_pkg.set_segment(
7827 p_to_segment_code => 'GL_ACCOUNT'
7828 , p_segment_value => l_segment
7829 , p_from_segment_code => l_adr_value_segment_code
7830 , p_from_combination_id => l_adr_value_combination_id
7831 , p_value_type_code => l_adr_value_type_code
7832 , p_transaction_coa_id => l_adr_transaction_coa_id
7833 , p_accounting_coa_id => l_adr_accounting_coa_id
7834 , p_flexfield_segment_code => l_adr_flexfield_segment_code
7835 , p_flex_value_set_id => l_adr_flex_value_set_id
7836 , p_adr_code => 'AP_ERV_GAIN_LOSS_NAT_ACCT_SEG'
7837 , p_adr_type_code => 'S'
7838 , p_component_type => l_component_type
7839 , p_component_code => l_component_code
7840 , p_component_type_code => l_component_type_code
7841 , p_component_appl_id => l_component_appl_id
7842 , p_amb_context_code => l_amb_context_code
7843 , p_entity_code => 'AP_INVOICES'
7844 , p_event_class_code => 'CREDIT MEMOS'
7845 , p_side => 'NA'
7846 );
7847
7848 END IF;
7849
7850 l_segment := AcctDerRule_5(
7851 p_application_id => p_application_id
7852 , p_ae_header_id => l_ae_header_id
7853 , p_source_7 => p_source_7
7854 , p_source_7_meaning => p_source_7_meaning
7855 , p_source_9 => p_source_9
7856 , p_source_9_meaning => p_source_9_meaning
7857 , p_source_11 => p_source_11
7858 , x_transaction_coa_id => l_adr_transaction_coa_id
7859 , x_accounting_coa_id => l_adr_accounting_coa_id
7860 , x_flexfield_segment_code => l_adr_flexfield_segment_code
7861 , x_flex_value_set_id => l_adr_flex_value_set_id
7862 , x_value_type_code => l_adr_value_type_code
7863 , x_value_combination_id => l_adr_value_combination_id
7864 , x_value_segment_code => l_adr_value_segment_code
7865 , p_side => 'NA'
7866 , p_override_seg_flag => 'Y'
7867 );
7868
7869 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
7870
7871 xla_ae_lines_pkg.set_segment(
7872 p_to_segment_code => 'GL_BALANCING'
7873 , p_segment_value => l_segment
7874 , p_from_segment_code => l_adr_value_segment_code
7875 , p_from_combination_id => l_adr_value_combination_id
7876 , p_value_type_code => l_adr_value_type_code
7877 , p_transaction_coa_id => l_adr_transaction_coa_id
7878 , p_accounting_coa_id => l_adr_accounting_coa_id
7879 , p_flexfield_segment_code => l_adr_flexfield_segment_code
7880 , p_flex_value_set_id => l_adr_flex_value_set_id
7881 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
7882 , p_adr_type_code => 'S'
7883 , p_component_type => l_component_type
7884 , p_component_code => l_component_code
7888 , p_entity_code => 'AP_INVOICES'
7885 , p_component_type_code => l_component_type_code
7886 , p_component_appl_id => l_component_appl_id
7887 , p_amb_context_code => l_amb_context_code
7889 , p_event_class_code => 'CREDIT MEMOS'
7890 , p_side => 'NA'
7891 );
7892
7893 END IF;
7894
7895 --
7896 --
7897 END IF;
7898 --
7899 -- Bug 4922099
7900 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
7901 (NVL(l_enc_upg_option, 'N') = 'O')
7902 ) AND
7903 (l_bflow_method_code = 'PRIOR_ENTRY')
7904 )
7905 THEN
7906 IF
7907 --
7908 1 = 2
7909 --
7910 THEN
7911 xla_accounting_err_pkg.build_message
7912 (p_appli_s_name => 'XLA'
7913 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
7914 ,p_token_1 => 'LINE_NUMBER'
7915 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
7916 ,p_token_2 => 'LINE_TYPE_NAME'
7917 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
7918 l_component_type
7919 ,l_component_code
7920 ,l_component_type_code
7921 ,l_component_appl_id
7922 ,l_amb_context_code
7923 ,l_entity_code
7924 ,l_event_class_code
7925 )
7926 ,p_token_3 => 'OWNER'
7927 ,p_value_3 => xla_lookups_pkg.get_meaning(
7928 p_lookup_type => 'XLA_OWNER_TYPE'
7929 ,p_lookup_code => l_component_type_code
7930 )
7931 ,p_token_4 => 'PRODUCT_NAME'
7932 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
7933 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
7934 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
7935 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
7936 ,p_ae_header_id => NULL
7937 );
7938
7939 IF (C_LEVEL_ERROR>= g_log_level) THEN
7940 trace
7941 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
7942 ,p_level => C_LEVEL_ERROR
7943 ,p_module => l_log_module);
7944 END IF;
7945 END IF;
7946 END IF;
7947 --
7948 --
7949 ------------------------------------------------------------------------------------------------
7950 -- 4219869 Business Flow
7951 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
7952 -- Prior Entry. Currently, the following code is always generated.
7953 ------------------------------------------------------------------------------------------------
7954 XLA_AE_LINES_PKG.ValidateCurrentLine;
7955
7956 ------------------------------------------------------------------------------------
7957 -- 4219869 Business Flow
7958 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
7959 ------------------------------------------------------------------------------------
7960 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
7961
7962 ----------------------------------------------------------------------------------
7963 -- 4219869 Business Flow
7964 -- Update journal entry status -- Need to generate this within IF <condition>
7965 ----------------------------------------------------------------------------------
7966 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
7967 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
7968 ,p_balance_type_code => l_balance_type_code
7969 );
7970
7971 -------------------------------------------------------------------------------------------
7972 -- 4262811 - Generate the Accrual Reversal lines
7973 -------------------------------------------------------------------------------------------
7974 BEGIN
7975 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
7976 (g_array_event(p_event_id).array_value_num('header_index'));
7977 IF l_acc_rev_flag IS NULL THEN
7978 l_acc_rev_flag := 'N';
7979 END IF;
7980 EXCEPTION
7981 WHEN OTHERS THEN
7982 l_acc_rev_flag := 'N';
7983 END;
7984 --
7988 -- To allow MPA report to determine if it should generate report process
7985 IF (l_acc_rev_flag = 'Y') THEN
7986
7987 -- 4645092 ------------------------------------------------------------------------------
7989 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
7990 ------------------------------------------------------------------------------------------
7991
7992 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
7993 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
7994 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
7995 -- call ADRs
7996 -- Bug 4922099
7997 --
7998 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
7999 (NVL(l_actual_upg_option, 'N') = 'O') OR
8000 (NVL(l_enc_upg_option, 'N') = 'O')
8001 )
8002 THEN
8003 NULL;
8004 --
8005 --
8006
8007 l_ccid := AcctDerRule_6(
8008 p_application_id => p_application_id
8009 , p_ae_header_id => l_ae_header_id
8010 , p_source_6 => p_source_6
8011 , p_source_7 => p_source_7
8012 , p_source_7_meaning => p_source_7_meaning
8013 , p_source_8 => p_source_8
8014 , p_source_9 => p_source_9
8015 , p_source_9_meaning => p_source_9_meaning
8016 , p_source_10 => p_source_10
8017 , p_source_11 => p_source_11
8018 , p_source_12 => p_source_12
8019 , p_source_12_meaning => p_source_12_meaning
8020 , x_transaction_coa_id => l_adr_transaction_coa_id
8021 , x_accounting_coa_id => l_adr_accounting_coa_id
8022 , x_value_type_code => l_adr_value_type_code
8023 , p_side => 'NA'
8024 );
8025
8026 xla_ae_lines_pkg.set_ccid(
8027 p_code_combination_id => l_ccid
8028 , p_value_type_code => l_adr_value_type_code
8029 , p_transaction_coa_id => l_adr_transaction_coa_id
8030 , p_accounting_coa_id => l_adr_accounting_coa_id
8031 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
8032 , p_adr_type_code => 'S'
8033 , p_component_type => l_component_type
8034 , p_component_code => l_component_code
8035 , p_component_type_code => l_component_type_code
8036 , p_component_appl_id => l_component_appl_id
8037 , p_amb_context_code => l_amb_context_code
8038 , p_side => 'NA'
8039 );
8040
8041
8042 l_segment := AcctDerRule_4(
8043 p_application_id => p_application_id
8044 , p_ae_header_id => l_ae_header_id
8045 , p_source_6 => p_source_6
8046 , p_source_7 => p_source_7
8047 , p_source_7_meaning => p_source_7_meaning
8048 , p_source_8 => p_source_8
8049 , p_source_9 => p_source_9
8050 , p_source_9_meaning => p_source_9_meaning
8051 , p_source_10 => p_source_10
8052 , x_transaction_coa_id => l_adr_transaction_coa_id
8053 , x_accounting_coa_id => l_adr_accounting_coa_id
8054 , x_flexfield_segment_code => l_adr_flexfield_segment_code
8055 , x_flex_value_set_id => l_adr_flex_value_set_id
8056 , x_value_type_code => l_adr_value_type_code
8057 , x_value_combination_id => l_adr_value_combination_id
8058 , x_value_segment_code => l_adr_value_segment_code
8059 , p_side => 'NA'
8060 , p_override_seg_flag => 'Y'
8061 );
8062
8063 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
8064
8065 xla_ae_lines_pkg.set_segment(
8066 p_to_segment_code => 'GL_ACCOUNT'
8067 , p_segment_value => l_segment
8068 , p_from_segment_code => l_adr_value_segment_code
8069 , p_from_combination_id => l_adr_value_combination_id
8070 , p_value_type_code => l_adr_value_type_code
8071 , p_transaction_coa_id => l_adr_transaction_coa_id
8072 , p_accounting_coa_id => l_adr_accounting_coa_id
8073 , p_flexfield_segment_code => l_adr_flexfield_segment_code
8074 , p_flex_value_set_id => l_adr_flex_value_set_id
8075 , p_adr_code => 'AP_ERV_GAIN_LOSS_NAT_ACCT_SEG'
8076 , p_adr_type_code => 'S'
8077 , p_component_type => l_component_type
8078 , p_component_code => l_component_code
8079 , p_component_type_code => l_component_type_code
8080 , p_component_appl_id => l_component_appl_id
8081 , p_amb_context_code => l_amb_context_code
8082 , p_entity_code => 'AP_INVOICES'
8083 , p_event_class_code => 'CREDIT MEMOS'
8084 , p_side => 'NA'
8085 );
8086
8087 END IF;
8088
8089 l_segment := AcctDerRule_5(
8090 p_application_id => p_application_id
8091 , p_ae_header_id => l_ae_header_id
8092 , p_source_7 => p_source_7
8093 , p_source_7_meaning => p_source_7_meaning
8094 , p_source_9 => p_source_9
8095 , p_source_9_meaning => p_source_9_meaning
8096 , p_source_11 => p_source_11
8097 , x_transaction_coa_id => l_adr_transaction_coa_id
8098 , x_accounting_coa_id => l_adr_accounting_coa_id
8099 , x_flexfield_segment_code => l_adr_flexfield_segment_code
8103 , x_value_segment_code => l_adr_value_segment_code
8100 , x_flex_value_set_id => l_adr_flex_value_set_id
8101 , x_value_type_code => l_adr_value_type_code
8102 , x_value_combination_id => l_adr_value_combination_id
8104 , p_side => 'NA'
8105 , p_override_seg_flag => 'Y'
8106 );
8107
8108 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
8109
8110 xla_ae_lines_pkg.set_segment(
8111 p_to_segment_code => 'GL_BALANCING'
8112 , p_segment_value => l_segment
8113 , p_from_segment_code => l_adr_value_segment_code
8114 , p_from_combination_id => l_adr_value_combination_id
8115 , p_value_type_code => l_adr_value_type_code
8116 , p_transaction_coa_id => l_adr_transaction_coa_id
8117 , p_accounting_coa_id => l_adr_accounting_coa_id
8118 , p_flexfield_segment_code => l_adr_flexfield_segment_code
8119 , p_flex_value_set_id => l_adr_flex_value_set_id
8120 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
8121 , p_adr_type_code => 'S'
8122 , p_component_type => l_component_type
8123 , p_component_code => l_component_code
8124 , p_component_type_code => l_component_type_code
8125 , p_component_appl_id => l_component_appl_id
8126 , p_amb_context_code => l_amb_context_code
8127 , p_entity_code => 'AP_INVOICES'
8128 , p_event_class_code => 'CREDIT MEMOS'
8129 , p_side => 'NA'
8130 );
8131
8132 END IF;
8133
8134 --
8135 --
8136 END IF;
8137
8138 --
8139 -- Update the line information that should be overwritten
8140 --
8141 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
8142 p_header_num => 1);
8143 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
8144
8145 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
8146
8147 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
8148 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
8149 END IF;
8150
8151 --
8152 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
8153 --
8154 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
8155 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
8156 ELSE
8157 ---------------------------------------------------------------------------------------------------
8158 -- 4262811a Switch Sign
8159 ---------------------------------------------------------------------------------------------------
8160 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
8161 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
8162 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
8163 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
8164 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
8165 -- 5132302
8166 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
8167 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
8168
8169 END IF;
8170
8171 -- 4955764
8172 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
8173 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
8174
8175
8176 XLA_AE_LINES_PKG.ValidateCurrentLine;
8177 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
8178
8179 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
8180 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
8181 ,p_balance_type_code => l_balance_type_code);
8182
8183 END IF;
8184
8185 -----------------------------------------------------------------------------------------
8186 -- 4262811 Multiperiod Accounting
8187 -----------------------------------------------------------------------------------------
8188 -- No MPA option is assigned.
8189
8190
8191 END IF;
8192 END IF;
8193 --
8194
8195 --
8196 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
8197 trace
8198 (p_msg => 'END of AcctLineType_22'
8199 ,p_level => C_LEVEL_PROCEDURE
8200 ,p_module => l_log_module);
8201 END IF;
8202 --
8203 EXCEPTION
8204 WHEN xla_exceptions_pkg.application_exception THEN
8205 RAISE;
8206 WHEN OTHERS THEN
8207 xla_exceptions_pkg.raise_message
8208 (p_location => 'XLA_00200_AAD_S_000006_BC_PKG.AcctLineType_22');
8209 END AcctLineType_22;
8210 --
8211
8212 ---------------------------------------
8213 --
8214 -- PRIVATE FUNCTION
8215 -- AcctLineType_23
8216 --
8217 ---------------------------------------
8218 PROCEDURE AcctLineType_23 (
8222 ,p_calculate_g_l_flag IN VARCHAR2
8219 p_application_id IN NUMBER
8220 ,p_event_id IN NUMBER
8221 ,p_calculate_acctd_flag IN VARCHAR2
8223 ,p_actual_flag IN OUT VARCHAR2
8224 ,p_balance_type_code OUT VARCHAR2
8225 ,p_gain_or_loss_ref OUT VARCHAR2
8226
8227 --Invoice Distribution Description
8228 , p_source_1 IN VARCHAR2
8229 --Purchase Order Rate Variance Gain Account
8230 , p_source_6 IN NUMBER
8231 --Automatic Offsets Value
8232 , p_source_7 IN VARCHAR2
8233 , p_source_7_meaning IN VARCHAR2
8234 --Invoice Distribution Ledger Amount
8235 , p_source_8 IN NUMBER
8236 --Destination Type of the PO Distribution
8237 , p_source_9 IN VARCHAR2
8238 , p_source_9_meaning IN VARCHAR2
8239 --Purchase Order Rate Variance Loss Account
8240 , p_source_10 IN NUMBER
8241 --Invoice Distribution Account
8242 , p_source_11 IN NUMBER
8243 --Automatic Offsets Flag
8244 , p_source_12 IN VARCHAR2
8245 , p_source_12_meaning IN VARCHAR2
8246 --Invoice Distribution Type
8247 , p_source_15 IN VARCHAR2
8248 , p_source_15_meaning IN VARCHAR2
8249 --Purchasing Encumbrance Option
8250 , p_source_17 IN VARCHAR2
8251 , p_source_17_meaning IN VARCHAR2
8252 --Accounting Reversal Indicator
8253 , p_source_19 IN VARCHAR2
8254 --Distribution Link Type
8255 , p_source_21 IN VARCHAR2
8256 --Allocation to Main Distribution Identifier
8257 , p_source_23 IN NUMBER
8258 --Invoice Identifier
8259 , p_source_24 IN NUMBER
8260 --Business Flow Accounts Payable Application Identifier
8261 , p_source_25 IN NUMBER
8262 --Business Flow Invoice Distribution Type
8263 , p_source_26 IN VARCHAR2
8264 --Business Flow Invoice Entity Code
8265 , p_source_27 IN VARCHAR2
8266 --Business Flow Invoice Distribution Identifier
8267 , p_source_28 IN NUMBER
8268 --Business Flow Invoice Identifier
8269 , p_source_29 IN NUMBER
8270 --Invoice Distribution Identifier
8271 , p_source_30 IN NUMBER
8272 --Payables Encumbrance Upgrade Credit Account
8273 , p_source_31 IN NUMBER
8274 --Payables Encumbrance Upgrade Credit Amount
8275 , p_source_32 IN NUMBER
8276 --Invoice Currency Code
8277 , p_source_33 IN VARCHAR2
8278 --Payables Encumbrance Upgrade Credit Base Amount
8279 , p_source_34 IN NUMBER
8280 --Payables Encumbrance Upgrade Debit Account
8281 , p_source_35 IN NUMBER
8282 --Payables Encumbrance Upgrade Debit Amount
8283 , p_source_36 IN NUMBER
8284 --Payables Encumbrance Upgrade Debit Base Amount
8285 , p_source_37 IN NUMBER
8286 --Payables Encumbrance Upgrade Option
8287 , p_source_38 IN VARCHAR2
8288 --Invoice Exchange Date
8289 , p_source_39 IN DATE
8290 --Invoice Exchange Rate
8291 , p_source_40 IN NUMBER
8292 --Invoice Exchange Rate Type
8293 , p_source_41 IN VARCHAR2
8294 --Deferred Accounting End Date
8295 , p_source_43 IN DATE
8296 --Deferred Accounting Option
8297 , p_source_44 IN VARCHAR2
8298 --Deferred Accounting Start Date
8299 , p_source_45 IN DATE
8300 --Override Accounted Amount Indicator
8301 , p_source_46 IN VARCHAR2
8302 , p_source_46_meaning IN VARCHAR2
8303 --Invoice Supplier Identifier
8304 , p_source_47 IN NUMBER
8305 --Invoice Supplier Site Identifier
8306 , p_source_48 IN NUMBER
8307 --Third Party Type
8308 , p_source_49 IN VARCHAR2
8309 --Parent Reversal Identifier
8310 , p_source_50 IN NUMBER
8311 --Invoice Distribution Tax Line Identifier
8312 , p_source_52 IN NUMBER
8313 --Invoice Distribution Tax Distribution Identifier from Tax
8314 , p_source_53 IN NUMBER
8315 --Invoice Distribution Summary Tax Line Identifier
8316 , p_source_54 IN NUMBER
8317 --Payables Upgrade Credit Encumbrance Type Identifier
8318 , p_source_55 IN NUMBER
8319 --Payables Upgrade Debit Encumbrance Type Identifier
8320 , p_source_56 IN NUMBER
8321 --Invoice Distribution Encumbrance Amount
8322 , p_source_65 IN NUMBER
8323 --Invoice Distribution Encumbrance Ledger Amount
8324 , p_source_66 IN NUMBER
8325 )
8326 IS
8327
8328 l_component_type VARCHAR2(80);
8329 l_component_code VARCHAR2(30);
8330 l_component_type_code VARCHAR2(1);
8331 l_component_appl_id INTEGER;
8332 l_amb_context_code VARCHAR2(30);
8333 l_entity_code VARCHAR2(30);
8334 l_event_class_code VARCHAR2(30);
8335 l_ae_header_id NUMBER;
8336 l_event_type_code VARCHAR2(30);
8337 l_line_definition_code VARCHAR2(30);
8338 l_line_definition_owner_code VARCHAR2(1);
8339 --
8340 -- adr variables
8341 l_segment VARCHAR2(30);
8342 l_ccid NUMBER;
8343 l_adr_transaction_coa_id NUMBER;
8344 l_adr_accounting_coa_id NUMBER;
8345 l_adr_flexfield_segment_code VARCHAR2(30);
8346 l_adr_flex_value_set_id NUMBER;
8347 l_adr_value_type_code VARCHAR2(30);
8348 l_adr_value_combination_id NUMBER;
8352 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
8349 l_adr_value_segment_code VARCHAR2(30);
8350
8351 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
8353 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
8354 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
8355
8356 -- 4262811 Variables ------------------------------------------------------------------------------------------
8357 l_entered_amt_idx NUMBER;
8358 l_accted_amt_idx NUMBER;
8359 l_acc_rev_flag VARCHAR2(1);
8360 l_accrual_line_num NUMBER;
8361 l_tmp_amt NUMBER;
8362 l_acc_rev_natural_side_code VARCHAR2(1);
8363
8364 l_num_entries NUMBER;
8365 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
8366 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
8367 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
8368 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
8369 l_recog_line_1 NUMBER;
8370 l_recog_line_2 NUMBER;
8371
8372 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
8373 l_bflow_applied_to_amt NUMBER; -- 5132302
8374 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
8375
8376 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
8377
8378 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
8379 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
8380
8381 ---------------------------------------------------------------------------------------------------------------
8382
8383
8384 --
8385 -- bulk performance
8386 --
8387 l_balance_type_code VARCHAR2(1);
8388 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
8389 l_log_module VARCHAR2(240);
8390
8391 --
8392 -- Upgrade strategy
8393 --
8394 l_actual_upg_option VARCHAR2(1);
8395 l_enc_upg_option VARCHAR2(1);
8396
8397 --
8398 BEGIN
8399 --
8400 IF g_log_enabled THEN
8401 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_23';
8402 END IF;
8403 --
8404 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
8405
8406 trace
8407 (p_msg => 'BEGIN of AcctLineType_23'
8408 ,p_level => C_LEVEL_PROCEDURE
8409 ,p_module => l_log_module);
8410
8411 END IF;
8412 --
8413 l_component_type := 'AMB_JLT';
8414 l_component_code := 'AP_EX_RATE_VAR_DM_ENC_DR';
8415 l_component_type_code := 'S';
8416 l_component_appl_id := 200;
8417 l_amb_context_code := 'DEFAULT';
8418 l_entity_code := 'AP_INVOICES';
8419 l_event_class_code := 'DEBIT MEMOS';
8420 l_event_type_code := 'DEBIT MEMOS_ALL';
8421 l_line_definition_owner_code := 'S';
8422 l_line_definition_code := 'ENC_DM_ALL';
8423 --
8424 l_balance_type_code := 'E';
8425 l_segment := NULL;
8426 l_ccid := NULL;
8427 l_adr_transaction_coa_id := NULL;
8428 l_adr_accounting_coa_id := NULL;
8429 l_adr_flexfield_segment_code := NULL;
8430 l_adr_flex_value_set_id := NULL;
8431 l_adr_value_type_code := NULL;
8432 l_adr_value_combination_id := NULL;
8433 l_adr_value_segment_code := NULL;
8434
8435 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
8436 l_bflow_class_code := 'AP_INV_ENCUM'; -- 4219869 Business Flow
8437 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
8438 l_budgetary_control_flag := 'Y';
8439
8440 l_bflow_applied_to_amt_idx := NULL; -- 5132302
8441 l_bflow_applied_to_amt := NULL; -- 5132302
8442 l_entered_amt_idx := NULL; -- 4262811
8443 l_accted_amt_idx := NULL; -- 4262811
8444 l_acc_rev_flag := NULL; -- 4262811
8445 l_accrual_line_num := NULL; -- 4262811
8446 l_tmp_amt := NULL; -- 4262811
8447 --
8448 IF ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
8449 (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
8450 return;
8451 END IF;
8452
8453 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
8454 l_balance_type_code <> 'B' THEN
8455 IF NVL(p_source_15,'
8456 ') = 'ERV' AND
8457 NVL(p_source_17,'
8458 ') = 'Y'
8459 THEN
8460
8461 --
8462 XLA_AE_LINES_PKG.SetNewLine;
8463
8464 p_balance_type_code := l_balance_type_code;
8465 -- set the flag so later we will know whether the gain loss line needs to be created
8466
8467 IF(l_balance_type_code = 'A' ) THEN
8468 p_actual_flag :='G';
8469 END IF;
8470
8471 --
8472 -- bulk performance
8473 --
8474 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
8475 p_header_num => 0); -- 4262811
8476 --
8480 p_natural_side_code => 'D'
8477 -- set accounting line options
8478 --
8479 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
8481 , p_gain_or_loss_flag => 'Y'
8482 , p_gl_transfer_mode_code => 'S'
8483 , p_acct_entry_type_code => 'E'
8484 , p_switch_side_flag => 'Y'
8485 , p_merge_duplicate_code => 'N'
8486 );
8487 --
8488 l_acc_rev_natural_side_code := 'C'; -- 4262811
8489 --
8490 --
8491 -- set accounting line type info
8492 --
8493 xla_ae_lines_pkg.SetAcctLineType
8494 (p_component_type => l_component_type
8495 ,p_event_type_code => l_event_type_code
8496 ,p_line_definition_owner_code => l_line_definition_owner_code
8497 ,p_line_definition_code => l_line_definition_code
8498 ,p_accounting_line_code => l_component_code
8499 ,p_accounting_line_type_code => l_component_type_code
8500 ,p_accounting_line_appl_id => l_component_appl_id
8501 ,p_amb_context_code => l_amb_context_code
8502 ,p_entity_code => l_entity_code
8503 ,p_event_class_code => l_event_class_code);
8504 --
8505 -- set accounting class
8506 --
8507 xla_ae_lines_pkg.SetAcctClass(
8508 p_accounting_class_code => 'EXCHANGE_RATE_VARIANCE'
8509 , p_ae_header_id => l_ae_header_id
8510 );
8511
8512 --
8513 -- set rounding class
8514 --
8515 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
8516 'EXCHANGE_RATE_VARIANCE';
8517
8518 --
8519 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
8520 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
8521 --
8522 -- bulk performance
8523 --
8524 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
8525
8526 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
8527 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
8528
8529 -- 4955764
8530 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
8531 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
8532
8533 -- 4458381 Public Sector Enh
8534 XLA_AE_LINES_PKG.g_rec_lines.array_encumbrance_type_id(XLA_AE_LINES_PKG.g_LineNumber) := 1060;
8535 --
8536 -- set accounting attributes for the line type
8537 --
8538 l_entered_amt_idx := 23;
8539 l_accted_amt_idx := 28;
8540 l_bflow_applied_to_amt_idx := NULL; -- 5132302
8541 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
8542 l_rec_acct_attrs.array_char_value(1) := p_source_19;
8543 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
8544 l_rec_acct_attrs.array_num_value(2) :=
8545 xla_ae_sources_pkg.GetSystemSourceNum(
8546 p_source_code => 'XLA_EVENT_APPL_ID'
8547 , p_source_type_code => 'Y'
8548 , p_source_application_id => 602
8549 );
8550 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
8551 l_rec_acct_attrs.array_char_value(3) := p_source_21;
8552 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
8553 l_rec_acct_attrs.array_char_value(4) :=
8554 xla_ae_sources_pkg.GetSystemSourceChar(
8555 p_source_code => 'XLA_ENTITY_CODE'
8556 , p_source_type_code => 'Y'
8557 , p_source_application_id => 602
8558 );
8559 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
8560 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_23);
8561 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
8562 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_24);
8563 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
8564 l_rec_acct_attrs.array_num_value(7) := p_source_25;
8565 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
8566 l_rec_acct_attrs.array_char_value(8) := p_source_26;
8567 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
8568 l_rec_acct_attrs.array_char_value(9) := p_source_27;
8569 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
8570 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_28);
8571 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
8572 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_29);
8573 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
8574 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_30);
8575 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
8576 l_rec_acct_attrs.array_char_value(13) := p_source_21;
8577 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
8578 l_rec_acct_attrs.array_num_value(14) := p_source_31;
8579 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
8580 l_rec_acct_attrs.array_num_value(15) := p_source_32;
8581 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
8582 l_rec_acct_attrs.array_char_value(16) := p_source_33;
8583 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
8584 l_rec_acct_attrs.array_num_value(17) := p_source_34;
8585 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
8586 l_rec_acct_attrs.array_num_value(18) := p_source_35;
8587 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
8591 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
8588 l_rec_acct_attrs.array_num_value(19) := p_source_36;
8589 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
8590 l_rec_acct_attrs.array_char_value(20) := p_source_33;
8592 l_rec_acct_attrs.array_num_value(21) := p_source_37;
8593 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
8594 l_rec_acct_attrs.array_char_value(22) := p_source_38;
8595 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
8596 l_rec_acct_attrs.array_num_value(23) := p_source_65;
8597 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
8598 l_rec_acct_attrs.array_char_value(24) := p_source_33;
8599 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
8600 l_rec_acct_attrs.array_date_value(25) := p_source_39;
8601 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
8602 l_rec_acct_attrs.array_num_value(26) := p_source_40;
8603 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
8604 l_rec_acct_attrs.array_char_value(27) := p_source_41;
8605 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
8606 l_rec_acct_attrs.array_num_value(28) := p_source_66;
8607 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
8608 l_rec_acct_attrs.array_date_value(29) := p_source_43;
8609 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
8610 l_rec_acct_attrs.array_char_value(30) := p_source_44;
8611 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
8612 l_rec_acct_attrs.array_date_value(31) := p_source_45;
8613 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
8614 l_rec_acct_attrs.array_char_value(32) := p_source_46;
8615 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
8616 l_rec_acct_attrs.array_num_value(33) := p_source_47;
8617 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
8618 l_rec_acct_attrs.array_num_value(34) := p_source_48;
8619 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
8620 l_rec_acct_attrs.array_char_value(35) := p_source_49;
8621 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
8622 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_50);
8623 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
8624 l_rec_acct_attrs.array_char_value(37) := p_source_21;
8625 l_rec_acct_attrs.array_acct_attr_code(38) := 'TAX_LINE_REF_ID';
8626 l_rec_acct_attrs.array_num_value(38) := p_source_52;
8627 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_REC_NREC_DIST_REF_ID';
8628 l_rec_acct_attrs.array_num_value(39) := p_source_53;
8629 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_SUMMARY_LINE_REF_ID';
8630 l_rec_acct_attrs.array_num_value(40) := p_source_54;
8631 l_rec_acct_attrs.array_acct_attr_code(41) := 'UPG_CR_ENC_TYPE_ID';
8632 l_rec_acct_attrs.array_num_value(41) := p_source_55;
8633 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_DR_ENC_TYPE_ID';
8634 l_rec_acct_attrs.array_num_value(42) := p_source_56;
8635
8636 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
8637 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
8638
8639 ---------------------------------------------------------------------------------------------------------------
8640 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
8641 ---------------------------------------------------------------------------------------------------------------
8642 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
8643
8644 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
8645 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
8646
8647 IF xla_accounting_cache_pkg.GetValueChar
8648 (p_source_code => 'LEDGER_CATEGORY_CODE'
8649 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
8650 AND l_bflow_method_code = 'PRIOR_ENTRY'
8651 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
8652 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
8653 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
8654 )
8655 THEN
8656 xla_ae_lines_pkg.BflowUpgEntry
8657 (p_business_method_code => l_bflow_method_code
8658 ,p_business_class_code => l_bflow_class_code
8659 ,p_balance_type => l_balance_type_code);
8660 ELSE
8661 NULL;
8662 -- No business flow processing for business flow method of NONE.
8663 END IF;
8664
8665 --
8666 -- call analytical criteria
8667 --
8668
8669 --
8670 -- call description
8671 --
8672
8673 xla_ae_lines_pkg.SetLineDescription(
8674 p_ae_header_id => l_ae_header_id
8675 ,p_description => Description_2 (
8676 p_application_id => p_application_id
8677 , p_ae_header_id => l_ae_header_id
8678 , p_source_1 => p_source_1
8679 )
8680 );
8681
8682
8683 --
8684 -- call ADRs
8685 -- Bug 4922099
8686 --
8687 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
8688 (NVL(l_actual_upg_option, 'N') = 'O') OR
8689 (NVL(l_enc_upg_option, 'N') = 'O')
8690 )
8691 THEN
8692 NULL;
8693 --
8694 --
8695
8699 , p_source_6 => p_source_6
8696 l_ccid := AcctDerRule_6(
8697 p_application_id => p_application_id
8698 , p_ae_header_id => l_ae_header_id
8700 , p_source_7 => p_source_7
8701 , p_source_7_meaning => p_source_7_meaning
8702 , p_source_8 => p_source_8
8703 , p_source_9 => p_source_9
8704 , p_source_9_meaning => p_source_9_meaning
8705 , p_source_10 => p_source_10
8706 , p_source_11 => p_source_11
8707 , p_source_12 => p_source_12
8708 , p_source_12_meaning => p_source_12_meaning
8709 , x_transaction_coa_id => l_adr_transaction_coa_id
8710 , x_accounting_coa_id => l_adr_accounting_coa_id
8711 , x_value_type_code => l_adr_value_type_code
8712 , p_side => 'NA'
8713 );
8714
8715 xla_ae_lines_pkg.set_ccid(
8716 p_code_combination_id => l_ccid
8717 , p_value_type_code => l_adr_value_type_code
8718 , p_transaction_coa_id => l_adr_transaction_coa_id
8719 , p_accounting_coa_id => l_adr_accounting_coa_id
8720 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
8721 , p_adr_type_code => 'S'
8722 , p_component_type => l_component_type
8723 , p_component_code => l_component_code
8724 , p_component_type_code => l_component_type_code
8725 , p_component_appl_id => l_component_appl_id
8726 , p_amb_context_code => l_amb_context_code
8727 , p_side => 'NA'
8728 );
8729
8730
8731 l_segment := AcctDerRule_4(
8732 p_application_id => p_application_id
8733 , p_ae_header_id => l_ae_header_id
8734 , p_source_6 => p_source_6
8735 , p_source_7 => p_source_7
8736 , p_source_7_meaning => p_source_7_meaning
8737 , p_source_8 => p_source_8
8738 , p_source_9 => p_source_9
8739 , p_source_9_meaning => p_source_9_meaning
8740 , p_source_10 => p_source_10
8741 , x_transaction_coa_id => l_adr_transaction_coa_id
8742 , x_accounting_coa_id => l_adr_accounting_coa_id
8743 , x_flexfield_segment_code => l_adr_flexfield_segment_code
8744 , x_flex_value_set_id => l_adr_flex_value_set_id
8745 , x_value_type_code => l_adr_value_type_code
8746 , x_value_combination_id => l_adr_value_combination_id
8747 , x_value_segment_code => l_adr_value_segment_code
8748 , p_side => 'NA'
8749 , p_override_seg_flag => 'Y'
8750 );
8751
8752 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
8753
8754 xla_ae_lines_pkg.set_segment(
8755 p_to_segment_code => 'GL_ACCOUNT'
8756 , p_segment_value => l_segment
8757 , p_from_segment_code => l_adr_value_segment_code
8758 , p_from_combination_id => l_adr_value_combination_id
8759 , p_value_type_code => l_adr_value_type_code
8760 , p_transaction_coa_id => l_adr_transaction_coa_id
8761 , p_accounting_coa_id => l_adr_accounting_coa_id
8762 , p_flexfield_segment_code => l_adr_flexfield_segment_code
8763 , p_flex_value_set_id => l_adr_flex_value_set_id
8764 , p_adr_code => 'AP_ERV_GAIN_LOSS_NAT_ACCT_SEG'
8765 , p_adr_type_code => 'S'
8766 , p_component_type => l_component_type
8767 , p_component_code => l_component_code
8768 , p_component_type_code => l_component_type_code
8769 , p_component_appl_id => l_component_appl_id
8770 , p_amb_context_code => l_amb_context_code
8771 , p_entity_code => 'AP_INVOICES'
8772 , p_event_class_code => 'DEBIT MEMOS'
8773 , p_side => 'NA'
8774 );
8775
8776 END IF;
8777
8778 l_segment := AcctDerRule_5(
8779 p_application_id => p_application_id
8780 , p_ae_header_id => l_ae_header_id
8781 , p_source_7 => p_source_7
8782 , p_source_7_meaning => p_source_7_meaning
8783 , p_source_9 => p_source_9
8784 , p_source_9_meaning => p_source_9_meaning
8785 , p_source_11 => p_source_11
8786 , x_transaction_coa_id => l_adr_transaction_coa_id
8787 , x_accounting_coa_id => l_adr_accounting_coa_id
8788 , x_flexfield_segment_code => l_adr_flexfield_segment_code
8789 , x_flex_value_set_id => l_adr_flex_value_set_id
8790 , x_value_type_code => l_adr_value_type_code
8791 , x_value_combination_id => l_adr_value_combination_id
8792 , x_value_segment_code => l_adr_value_segment_code
8793 , p_side => 'NA'
8794 , p_override_seg_flag => 'Y'
8795 );
8796
8797 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
8798
8799 xla_ae_lines_pkg.set_segment(
8800 p_to_segment_code => 'GL_BALANCING'
8801 , p_segment_value => l_segment
8802 , p_from_segment_code => l_adr_value_segment_code
8803 , p_from_combination_id => l_adr_value_combination_id
8804 , p_value_type_code => l_adr_value_type_code
8805 , p_transaction_coa_id => l_adr_transaction_coa_id
8806 , p_accounting_coa_id => l_adr_accounting_coa_id
8807 , p_flexfield_segment_code => l_adr_flexfield_segment_code
8808 , p_flex_value_set_id => l_adr_flex_value_set_id
8812 , p_component_code => l_component_code
8809 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
8810 , p_adr_type_code => 'S'
8811 , p_component_type => l_component_type
8813 , p_component_type_code => l_component_type_code
8814 , p_component_appl_id => l_component_appl_id
8815 , p_amb_context_code => l_amb_context_code
8816 , p_entity_code => 'AP_INVOICES'
8817 , p_event_class_code => 'DEBIT MEMOS'
8818 , p_side => 'NA'
8819 );
8820
8821 END IF;
8822
8823 --
8824 --
8825 END IF;
8826 --
8827 -- Bug 4922099
8828 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
8829 (NVL(l_enc_upg_option, 'N') = 'O')
8830 ) AND
8831 (l_bflow_method_code = 'PRIOR_ENTRY')
8832 )
8833 THEN
8834 IF
8835 --
8836 1 = 2
8837 --
8838 THEN
8839 xla_accounting_err_pkg.build_message
8840 (p_appli_s_name => 'XLA'
8841 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
8842 ,p_token_1 => 'LINE_NUMBER'
8843 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
8844 ,p_token_2 => 'LINE_TYPE_NAME'
8845 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
8846 l_component_type
8847 ,l_component_code
8848 ,l_component_type_code
8849 ,l_component_appl_id
8850 ,l_amb_context_code
8851 ,l_entity_code
8852 ,l_event_class_code
8853 )
8854 ,p_token_3 => 'OWNER'
8855 ,p_value_3 => xla_lookups_pkg.get_meaning(
8856 p_lookup_type => 'XLA_OWNER_TYPE'
8857 ,p_lookup_code => l_component_type_code
8858 )
8859 ,p_token_4 => 'PRODUCT_NAME'
8860 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
8861 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
8862 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
8863 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
8864 ,p_ae_header_id => NULL
8865 );
8866
8867 IF (C_LEVEL_ERROR>= g_log_level) THEN
8868 trace
8869 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
8870 ,p_level => C_LEVEL_ERROR
8871 ,p_module => l_log_module);
8872 END IF;
8873 END IF;
8874 END IF;
8875 --
8876 --
8877 ------------------------------------------------------------------------------------------------
8878 -- 4219869 Business Flow
8879 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
8880 -- Prior Entry. Currently, the following code is always generated.
8881 ------------------------------------------------------------------------------------------------
8882 XLA_AE_LINES_PKG.ValidateCurrentLine;
8883
8884 ------------------------------------------------------------------------------------
8885 -- 4219869 Business Flow
8886 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
8887 ------------------------------------------------------------------------------------
8888 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
8889
8890 ----------------------------------------------------------------------------------
8891 -- 4219869 Business Flow
8892 -- Update journal entry status -- Need to generate this within IF <condition>
8893 ----------------------------------------------------------------------------------
8894 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
8895 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
8896 ,p_balance_type_code => l_balance_type_code
8897 );
8898
8899 -------------------------------------------------------------------------------------------
8900 -- 4262811 - Generate the Accrual Reversal lines
8901 -------------------------------------------------------------------------------------------
8902 BEGIN
8903 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
8904 (g_array_event(p_event_id).array_value_num('header_index'));
8908 EXCEPTION
8905 IF l_acc_rev_flag IS NULL THEN
8906 l_acc_rev_flag := 'N';
8907 END IF;
8909 WHEN OTHERS THEN
8910 l_acc_rev_flag := 'N';
8911 END;
8912 --
8913 IF (l_acc_rev_flag = 'Y') THEN
8914
8915 -- 4645092 ------------------------------------------------------------------------------
8916 -- To allow MPA report to determine if it should generate report process
8917 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
8918 ------------------------------------------------------------------------------------------
8919
8920 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
8921 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
8922 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
8923 -- call ADRs
8924 -- Bug 4922099
8925 --
8926 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
8927 (NVL(l_actual_upg_option, 'N') = 'O') OR
8928 (NVL(l_enc_upg_option, 'N') = 'O')
8929 )
8930 THEN
8931 NULL;
8932 --
8933 --
8934
8935 l_ccid := AcctDerRule_6(
8936 p_application_id => p_application_id
8937 , p_ae_header_id => l_ae_header_id
8938 , p_source_6 => p_source_6
8939 , p_source_7 => p_source_7
8940 , p_source_7_meaning => p_source_7_meaning
8941 , p_source_8 => p_source_8
8942 , p_source_9 => p_source_9
8943 , p_source_9_meaning => p_source_9_meaning
8944 , p_source_10 => p_source_10
8945 , p_source_11 => p_source_11
8946 , p_source_12 => p_source_12
8947 , p_source_12_meaning => p_source_12_meaning
8948 , x_transaction_coa_id => l_adr_transaction_coa_id
8949 , x_accounting_coa_id => l_adr_accounting_coa_id
8950 , x_value_type_code => l_adr_value_type_code
8951 , p_side => 'NA'
8952 );
8953
8954 xla_ae_lines_pkg.set_ccid(
8955 p_code_combination_id => l_ccid
8956 , p_value_type_code => l_adr_value_type_code
8957 , p_transaction_coa_id => l_adr_transaction_coa_id
8958 , p_accounting_coa_id => l_adr_accounting_coa_id
8959 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
8960 , p_adr_type_code => 'S'
8961 , p_component_type => l_component_type
8962 , p_component_code => l_component_code
8963 , p_component_type_code => l_component_type_code
8964 , p_component_appl_id => l_component_appl_id
8965 , p_amb_context_code => l_amb_context_code
8966 , p_side => 'NA'
8967 );
8968
8969
8970 l_segment := AcctDerRule_4(
8971 p_application_id => p_application_id
8972 , p_ae_header_id => l_ae_header_id
8973 , p_source_6 => p_source_6
8974 , p_source_7 => p_source_7
8975 , p_source_7_meaning => p_source_7_meaning
8976 , p_source_8 => p_source_8
8977 , p_source_9 => p_source_9
8978 , p_source_9_meaning => p_source_9_meaning
8979 , p_source_10 => p_source_10
8980 , x_transaction_coa_id => l_adr_transaction_coa_id
8981 , x_accounting_coa_id => l_adr_accounting_coa_id
8982 , x_flexfield_segment_code => l_adr_flexfield_segment_code
8983 , x_flex_value_set_id => l_adr_flex_value_set_id
8984 , x_value_type_code => l_adr_value_type_code
8985 , x_value_combination_id => l_adr_value_combination_id
8986 , x_value_segment_code => l_adr_value_segment_code
8987 , p_side => 'NA'
8988 , p_override_seg_flag => 'Y'
8989 );
8990
8991 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
8992
8993 xla_ae_lines_pkg.set_segment(
8994 p_to_segment_code => 'GL_ACCOUNT'
8995 , p_segment_value => l_segment
8996 , p_from_segment_code => l_adr_value_segment_code
8997 , p_from_combination_id => l_adr_value_combination_id
8998 , p_value_type_code => l_adr_value_type_code
8999 , p_transaction_coa_id => l_adr_transaction_coa_id
9000 , p_accounting_coa_id => l_adr_accounting_coa_id
9001 , p_flexfield_segment_code => l_adr_flexfield_segment_code
9002 , p_flex_value_set_id => l_adr_flex_value_set_id
9003 , p_adr_code => 'AP_ERV_GAIN_LOSS_NAT_ACCT_SEG'
9004 , p_adr_type_code => 'S'
9005 , p_component_type => l_component_type
9006 , p_component_code => l_component_code
9007 , p_component_type_code => l_component_type_code
9008 , p_component_appl_id => l_component_appl_id
9009 , p_amb_context_code => l_amb_context_code
9010 , p_entity_code => 'AP_INVOICES'
9011 , p_event_class_code => 'DEBIT MEMOS'
9012 , p_side => 'NA'
9013 );
9014
9015 END IF;
9016
9017 l_segment := AcctDerRule_5(
9018 p_application_id => p_application_id
9019 , p_ae_header_id => l_ae_header_id
9020 , p_source_7 => p_source_7
9021 , p_source_7_meaning => p_source_7_meaning
9022 , p_source_9 => p_source_9
9023 , p_source_9_meaning => p_source_9_meaning
9024 , p_source_11 => p_source_11
9025 , x_transaction_coa_id => l_adr_transaction_coa_id
9026 , x_accounting_coa_id => l_adr_accounting_coa_id
9030 , x_value_combination_id => l_adr_value_combination_id
9027 , x_flexfield_segment_code => l_adr_flexfield_segment_code
9028 , x_flex_value_set_id => l_adr_flex_value_set_id
9029 , x_value_type_code => l_adr_value_type_code
9031 , x_value_segment_code => l_adr_value_segment_code
9032 , p_side => 'NA'
9033 , p_override_seg_flag => 'Y'
9034 );
9035
9036 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
9037
9038 xla_ae_lines_pkg.set_segment(
9039 p_to_segment_code => 'GL_BALANCING'
9040 , p_segment_value => l_segment
9041 , p_from_segment_code => l_adr_value_segment_code
9042 , p_from_combination_id => l_adr_value_combination_id
9043 , p_value_type_code => l_adr_value_type_code
9044 , p_transaction_coa_id => l_adr_transaction_coa_id
9045 , p_accounting_coa_id => l_adr_accounting_coa_id
9046 , p_flexfield_segment_code => l_adr_flexfield_segment_code
9047 , p_flex_value_set_id => l_adr_flex_value_set_id
9048 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
9049 , p_adr_type_code => 'S'
9050 , p_component_type => l_component_type
9051 , p_component_code => l_component_code
9052 , p_component_type_code => l_component_type_code
9053 , p_component_appl_id => l_component_appl_id
9054 , p_amb_context_code => l_amb_context_code
9055 , p_entity_code => 'AP_INVOICES'
9056 , p_event_class_code => 'DEBIT MEMOS'
9057 , p_side => 'NA'
9058 );
9059
9060 END IF;
9061
9062 --
9063 --
9064 END IF;
9065
9066 --
9067 -- Update the line information that should be overwritten
9068 --
9069 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
9070 p_header_num => 1);
9071 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
9072
9073 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
9074
9075 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
9076 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
9077 END IF;
9078
9079 --
9080 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
9081 --
9082 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
9083 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
9084 ELSE
9085 ---------------------------------------------------------------------------------------------------
9086 -- 4262811a Switch Sign
9087 ---------------------------------------------------------------------------------------------------
9088 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
9089 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
9090 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
9091 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
9092 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
9093 -- 5132302
9094 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
9095 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
9096
9097 END IF;
9098
9099 -- 4955764
9100 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
9101 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
9102
9103
9104 XLA_AE_LINES_PKG.ValidateCurrentLine;
9105 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
9106
9107 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
9108 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
9109 ,p_balance_type_code => l_balance_type_code);
9110
9111 END IF;
9112
9113 -----------------------------------------------------------------------------------------
9114 -- 4262811 Multiperiod Accounting
9115 -----------------------------------------------------------------------------------------
9116 -- No MPA option is assigned.
9117
9118
9119 END IF;
9120 END IF;
9121 --
9122
9123 --
9124 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
9125 trace
9126 (p_msg => 'END of AcctLineType_23'
9127 ,p_level => C_LEVEL_PROCEDURE
9128 ,p_module => l_log_module);
9129 END IF;
9130 --
9131 EXCEPTION
9132 WHEN xla_exceptions_pkg.application_exception THEN
9133 RAISE;
9134 WHEN OTHERS THEN
9135 xla_exceptions_pkg.raise_message
9136 (p_location => 'XLA_00200_AAD_S_000006_BC_PKG.AcctLineType_23');
9137 END AcctLineType_23;
9138 --
9139
9143 -- AcctLineType_24
9140 ---------------------------------------
9141 --
9142 -- PRIVATE FUNCTION
9144 --
9145 ---------------------------------------
9146 PROCEDURE AcctLineType_24 (
9147 p_application_id IN NUMBER
9148 ,p_event_id IN NUMBER
9149 ,p_calculate_acctd_flag IN VARCHAR2
9150 ,p_calculate_g_l_flag IN VARCHAR2
9151 ,p_actual_flag IN OUT VARCHAR2
9152 ,p_balance_type_code OUT VARCHAR2
9153 ,p_gain_or_loss_ref OUT VARCHAR2
9154
9155 --Invoice Distribution Description
9156 , p_source_1 IN VARCHAR2
9157 --Purchase Order Rate Variance Gain Account
9158 , p_source_6 IN NUMBER
9159 --Automatic Offsets Value
9160 , p_source_7 IN VARCHAR2
9161 , p_source_7_meaning IN VARCHAR2
9162 --Invoice Distribution Ledger Amount
9163 , p_source_8 IN NUMBER
9164 --Destination Type of the PO Distribution
9165 , p_source_9 IN VARCHAR2
9166 , p_source_9_meaning IN VARCHAR2
9167 --Purchase Order Rate Variance Loss Account
9168 , p_source_10 IN NUMBER
9169 --Invoice Distribution Account
9170 , p_source_11 IN NUMBER
9171 --Automatic Offsets Flag
9172 , p_source_12 IN VARCHAR2
9173 , p_source_12_meaning IN VARCHAR2
9174 --Invoice Distribution Type
9175 , p_source_15 IN VARCHAR2
9176 , p_source_15_meaning IN VARCHAR2
9177 --Purchasing Encumbrance Option
9178 , p_source_17 IN VARCHAR2
9179 , p_source_17_meaning IN VARCHAR2
9180 --Accounting Reversal Indicator
9181 , p_source_19 IN VARCHAR2
9182 --Distribution Link Type
9183 , p_source_21 IN VARCHAR2
9184 --Allocation to Main Distribution Identifier
9185 , p_source_23 IN NUMBER
9186 --Invoice Identifier
9187 , p_source_24 IN NUMBER
9188 --Business Flow Accounts Payable Application Identifier
9189 , p_source_25 IN NUMBER
9190 --Business Flow Invoice Distribution Type
9191 , p_source_26 IN VARCHAR2
9192 --Business Flow Invoice Entity Code
9193 , p_source_27 IN VARCHAR2
9194 --Business Flow Invoice Distribution Identifier
9195 , p_source_28 IN NUMBER
9196 --Business Flow Invoice Identifier
9197 , p_source_29 IN NUMBER
9198 --Invoice Distribution Identifier
9199 , p_source_30 IN NUMBER
9200 --Payables Encumbrance Upgrade Credit Account
9201 , p_source_31 IN NUMBER
9202 --Payables Encumbrance Upgrade Credit Amount
9203 , p_source_32 IN NUMBER
9204 --Invoice Currency Code
9205 , p_source_33 IN VARCHAR2
9206 --Payables Encumbrance Upgrade Credit Base Amount
9207 , p_source_34 IN NUMBER
9208 --Payables Encumbrance Upgrade Debit Account
9209 , p_source_35 IN NUMBER
9210 --Payables Encumbrance Upgrade Debit Amount
9211 , p_source_36 IN NUMBER
9212 --Payables Encumbrance Upgrade Debit Base Amount
9213 , p_source_37 IN NUMBER
9214 --Payables Encumbrance Upgrade Option
9215 , p_source_38 IN VARCHAR2
9216 --Invoice Exchange Date
9217 , p_source_39 IN DATE
9218 --Invoice Exchange Rate
9219 , p_source_40 IN NUMBER
9220 --Invoice Exchange Rate Type
9221 , p_source_41 IN VARCHAR2
9222 --Deferred Accounting End Date
9223 , p_source_43 IN DATE
9224 --Deferred Accounting Option
9225 , p_source_44 IN VARCHAR2
9226 --Deferred Accounting Start Date
9227 , p_source_45 IN DATE
9228 --Override Accounted Amount Indicator
9229 , p_source_46 IN VARCHAR2
9230 , p_source_46_meaning IN VARCHAR2
9231 --Invoice Supplier Identifier
9232 , p_source_47 IN NUMBER
9233 --Invoice Supplier Site Identifier
9234 , p_source_48 IN NUMBER
9235 --Third Party Type
9236 , p_source_49 IN VARCHAR2
9237 --Parent Reversal Identifier
9238 , p_source_50 IN NUMBER
9239 --Invoice Distribution Statistical Amount
9240 , p_source_51 IN NUMBER
9241 --Invoice Distribution Tax Line Identifier
9242 , p_source_52 IN NUMBER
9243 --Invoice Distribution Tax Distribution Identifier from Tax
9244 , p_source_53 IN NUMBER
9245 --Invoice Distribution Summary Tax Line Identifier
9246 , p_source_54 IN NUMBER
9247 --Payables Upgrade Credit Encumbrance Type Identifier
9248 , p_source_55 IN NUMBER
9249 --Payables Upgrade Debit Encumbrance Type Identifier
9250 , p_source_56 IN NUMBER
9251 --Invoice Distribution Amount
9252 , p_source_57 IN NUMBER
9253 --Invoice Distribution Encumbrance Amount
9254 , p_source_65 IN NUMBER
9255 --Invoice Distribution Encumbrance Ledger Amount
9256 , p_source_66 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);
9277 l_adr_flexfield_segment_code VARCHAR2(30);
9274 l_ccid NUMBER;
9275 l_adr_transaction_coa_id NUMBER;
9276 l_adr_accounting_coa_id NUMBER;
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;
9321 l_log_module VARCHAR2(240);
9322
9323 --
9324 -- Upgrade strategy
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_24';
9334 END IF;
9335 --
9336 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
9337
9338 trace
9339 (p_msg => 'BEGIN of AcctLineType_24'
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_EX_RATE_VAR_INV_ENC_DR';
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 := 'INVOICES';
9352 l_event_type_code := 'INVOICES_ALL';
9353 l_line_definition_owner_code := 'S';
9354 l_line_definition_code := 'ENC_INVOICES_ALL';
9355 --
9356 l_balance_type_code := 'E';
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 := 'AP_INV_ENCUM'; -- 4219869 Business Flow
9369 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
9370 l_budgetary_control_flag := 'Y';
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 ((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_15,'
9388 ') = 'ERV' AND
9389 NVL(p_source_17,'
9390 ') = 'Y'
9391 THEN
9392
9393 --
9394 XLA_AE_LINES_PKG.SetNewLine;
9395
9396 p_balance_type_code := l_balance_type_code;
9397 -- set the flag so later we will know whether the gain loss line needs to be created
9398
9399 IF(l_balance_type_code = 'A' ) THEN
9400 p_actual_flag :='G';
9404 -- bulk performance
9401 END IF;
9402
9403 --
9405 --
9406 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
9407 p_header_num => 0); -- 4262811
9408 --
9409 -- set accounting line options
9410 --
9411 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
9412 p_natural_side_code => 'D'
9413 , p_gain_or_loss_flag => 'Y'
9414 , p_gl_transfer_mode_code => 'S'
9415 , p_acct_entry_type_code => 'E'
9416 , p_switch_side_flag => 'Y'
9417 , p_merge_duplicate_code => 'N'
9418 );
9419 --
9420 l_acc_rev_natural_side_code := 'C'; -- 4262811
9421 --
9422 --
9423 -- set accounting line type info
9424 --
9425 xla_ae_lines_pkg.SetAcctLineType
9426 (p_component_type => l_component_type
9427 ,p_event_type_code => l_event_type_code
9428 ,p_line_definition_owner_code => l_line_definition_owner_code
9429 ,p_line_definition_code => l_line_definition_code
9430 ,p_accounting_line_code => l_component_code
9431 ,p_accounting_line_type_code => l_component_type_code
9432 ,p_accounting_line_appl_id => l_component_appl_id
9433 ,p_amb_context_code => l_amb_context_code
9434 ,p_entity_code => l_entity_code
9435 ,p_event_class_code => l_event_class_code);
9436 --
9437 -- set accounting class
9438 --
9439 xla_ae_lines_pkg.SetAcctClass(
9440 p_accounting_class_code => 'EXCHANGE_RATE_VARIANCE'
9441 , p_ae_header_id => l_ae_header_id
9442 );
9443
9444 --
9445 -- set rounding class
9446 --
9447 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
9448 'EXCHANGE_RATE_VARIANCE';
9449
9450 --
9451 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
9452 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
9453 --
9454 -- bulk performance
9455 --
9456 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
9457
9458 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
9459 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
9460
9461 -- 4955764
9462 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
9463 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
9464
9465 -- 4458381 Public Sector Enh
9466 XLA_AE_LINES_PKG.g_rec_lines.array_encumbrance_type_id(XLA_AE_LINES_PKG.g_LineNumber) := 1060;
9467 --
9468 -- set accounting attributes for the line type
9469 --
9470 l_entered_amt_idx := 24;
9471 l_accted_amt_idx := 29;
9472 l_bflow_applied_to_amt_idx := 7; -- 5132302
9473 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
9474 l_rec_acct_attrs.array_char_value(1) := p_source_19;
9475 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
9476 l_rec_acct_attrs.array_num_value(2) :=
9477 xla_ae_sources_pkg.GetSystemSourceNum(
9478 p_source_code => 'XLA_EVENT_APPL_ID'
9479 , p_source_type_code => 'Y'
9480 , p_source_application_id => 602
9481 );
9482 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
9483 l_rec_acct_attrs.array_char_value(3) := p_source_21;
9484 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
9485 l_rec_acct_attrs.array_char_value(4) :=
9486 xla_ae_sources_pkg.GetSystemSourceChar(
9487 p_source_code => 'XLA_ENTITY_CODE'
9488 , p_source_type_code => 'Y'
9489 , p_source_application_id => 602
9490 );
9491 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
9492 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_23);
9493 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
9494 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_24);
9495 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_AMOUNT';
9496 l_rec_acct_attrs.array_num_value(7) := p_source_57;
9497 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_APPLICATION_ID';
9498 l_rec_acct_attrs.array_num_value(8) := p_source_25;
9499 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_DISTRIBUTION_TYPE';
9500 l_rec_acct_attrs.array_char_value(9) := p_source_26;
9501 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_ENTITY_CODE';
9502 l_rec_acct_attrs.array_char_value(10) := p_source_27;
9503 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_DIST_ID';
9504 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_28);
9505 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
9506 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_29);
9507 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
9508 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_30);
9509 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_TYPE';
9510 l_rec_acct_attrs.array_char_value(14) := p_source_21;
9511 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
9512 l_rec_acct_attrs.array_num_value(15) := p_source_31;
9516 l_rec_acct_attrs.array_char_value(17) := p_source_33;
9513 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
9514 l_rec_acct_attrs.array_num_value(16) := p_source_32;
9515 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
9517 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
9518 l_rec_acct_attrs.array_num_value(18) := p_source_34;
9519 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_CCID';
9520 l_rec_acct_attrs.array_num_value(19) := p_source_35;
9521 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_AMT';
9522 l_rec_acct_attrs.array_num_value(20) := p_source_36;
9523 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_CURR';
9524 l_rec_acct_attrs.array_char_value(21) := p_source_33;
9525 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_LEDGER_AMT';
9526 l_rec_acct_attrs.array_num_value(22) := p_source_37;
9527 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_OPTION';
9528 l_rec_acct_attrs.array_char_value(23) := p_source_38;
9529 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_AMOUNT';
9530 l_rec_acct_attrs.array_num_value(24) := p_source_65;
9531 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_CODE';
9532 l_rec_acct_attrs.array_char_value(25) := p_source_33;
9533 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_DATE';
9534 l_rec_acct_attrs.array_date_value(26) := p_source_39;
9535 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE';
9536 l_rec_acct_attrs.array_num_value(27) := p_source_40;
9537 l_rec_acct_attrs.array_acct_attr_code(28) := 'EXCHANGE_RATE_TYPE';
9538 l_rec_acct_attrs.array_char_value(28) := p_source_41;
9539 l_rec_acct_attrs.array_acct_attr_code(29) := 'LEDGER_AMOUNT';
9540 l_rec_acct_attrs.array_num_value(29) := p_source_66;
9541 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_END_DATE';
9542 l_rec_acct_attrs.array_date_value(30) := p_source_43;
9543 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_OPTION';
9544 l_rec_acct_attrs.array_char_value(31) := p_source_44;
9545 l_rec_acct_attrs.array_acct_attr_code(32) := 'MULTIPERIOD_START_DATE';
9546 l_rec_acct_attrs.array_date_value(32) := p_source_45;
9547 l_rec_acct_attrs.array_acct_attr_code(33) := 'OVERRIDE_ACCTD_AMT_FLAG';
9548 l_rec_acct_attrs.array_char_value(33) := p_source_46;
9549 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_ID';
9550 l_rec_acct_attrs.array_num_value(34) := p_source_47;
9551 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_SITE_ID';
9552 l_rec_acct_attrs.array_num_value(35) := p_source_48;
9553 l_rec_acct_attrs.array_acct_attr_code(36) := 'PARTY_TYPE';
9554 l_rec_acct_attrs.array_char_value(36) := p_source_49;
9555 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_ID1';
9556 l_rec_acct_attrs.array_num_value(37) := to_char(p_source_50);
9557 l_rec_acct_attrs.array_acct_attr_code(38) := 'REVERSED_DISTRIBUTION_TYPE';
9558 l_rec_acct_attrs.array_char_value(38) := p_source_21;
9559 l_rec_acct_attrs.array_acct_attr_code(39) := 'STATISTICAL_AMOUNT';
9560 l_rec_acct_attrs.array_num_value(39) := p_source_51;
9561 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_LINE_REF_ID';
9562 l_rec_acct_attrs.array_num_value(40) := p_source_52;
9563 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_REC_NREC_DIST_REF_ID';
9564 l_rec_acct_attrs.array_num_value(41) := p_source_53;
9565 l_rec_acct_attrs.array_acct_attr_code(42) := 'TAX_SUMMARY_LINE_REF_ID';
9566 l_rec_acct_attrs.array_num_value(42) := p_source_54;
9567 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_CR_ENC_TYPE_ID';
9568 l_rec_acct_attrs.array_num_value(43) := p_source_55;
9569 l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
9570 l_rec_acct_attrs.array_num_value(44) := p_source_56;
9571
9572 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
9573 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
9574
9575 ---------------------------------------------------------------------------------------------------------------
9576 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
9577 ---------------------------------------------------------------------------------------------------------------
9578 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
9579
9580 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
9581 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
9582
9583 IF xla_accounting_cache_pkg.GetValueChar
9584 (p_source_code => 'LEDGER_CATEGORY_CODE'
9585 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
9586 AND l_bflow_method_code = 'PRIOR_ENTRY'
9587 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
9588 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
9589 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
9590 )
9591 THEN
9592 xla_ae_lines_pkg.BflowUpgEntry
9593 (p_business_method_code => l_bflow_method_code
9594 ,p_business_class_code => l_bflow_class_code
9595 ,p_balance_type => l_balance_type_code);
9596 ELSE
9597 NULL;
9598 -- No business flow processing for business flow method of NONE.
9599 END IF;
9600
9601 --
9602 -- call analytical criteria
9603 --
9604
9608
9605 --
9606 -- call description
9607 --
9609 xla_ae_lines_pkg.SetLineDescription(
9610 p_ae_header_id => l_ae_header_id
9611 ,p_description => Description_2 (
9612 p_application_id => p_application_id
9613 , p_ae_header_id => l_ae_header_id
9614 , p_source_1 => p_source_1
9615 )
9616 );
9617
9618
9619 --
9620 -- call ADRs
9621 -- Bug 4922099
9622 --
9623 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
9624 (NVL(l_actual_upg_option, 'N') = 'O') OR
9625 (NVL(l_enc_upg_option, 'N') = 'O')
9626 )
9627 THEN
9628 NULL;
9629 --
9630 --
9631
9632 l_ccid := AcctDerRule_6(
9633 p_application_id => p_application_id
9634 , p_ae_header_id => l_ae_header_id
9635 , p_source_6 => p_source_6
9636 , p_source_7 => p_source_7
9637 , p_source_7_meaning => p_source_7_meaning
9638 , p_source_8 => p_source_8
9639 , p_source_9 => p_source_9
9640 , p_source_9_meaning => p_source_9_meaning
9641 , p_source_10 => p_source_10
9642 , p_source_11 => p_source_11
9643 , p_source_12 => p_source_12
9644 , p_source_12_meaning => p_source_12_meaning
9645 , x_transaction_coa_id => l_adr_transaction_coa_id
9646 , x_accounting_coa_id => l_adr_accounting_coa_id
9647 , x_value_type_code => l_adr_value_type_code
9648 , p_side => 'NA'
9649 );
9650
9651 xla_ae_lines_pkg.set_ccid(
9652 p_code_combination_id => l_ccid
9653 , p_value_type_code => l_adr_value_type_code
9654 , p_transaction_coa_id => l_adr_transaction_coa_id
9655 , p_accounting_coa_id => l_adr_accounting_coa_id
9656 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
9657 , p_adr_type_code => 'S'
9658 , p_component_type => l_component_type
9659 , p_component_code => l_component_code
9660 , p_component_type_code => l_component_type_code
9661 , p_component_appl_id => l_component_appl_id
9662 , p_amb_context_code => l_amb_context_code
9663 , p_side => 'NA'
9664 );
9665
9666
9667 l_segment := AcctDerRule_4(
9668 p_application_id => p_application_id
9669 , p_ae_header_id => l_ae_header_id
9670 , p_source_6 => p_source_6
9671 , p_source_7 => p_source_7
9672 , p_source_7_meaning => p_source_7_meaning
9673 , p_source_8 => p_source_8
9674 , p_source_9 => p_source_9
9675 , p_source_9_meaning => p_source_9_meaning
9676 , p_source_10 => p_source_10
9677 , x_transaction_coa_id => l_adr_transaction_coa_id
9678 , x_accounting_coa_id => l_adr_accounting_coa_id
9679 , x_flexfield_segment_code => l_adr_flexfield_segment_code
9680 , x_flex_value_set_id => l_adr_flex_value_set_id
9681 , x_value_type_code => l_adr_value_type_code
9682 , x_value_combination_id => l_adr_value_combination_id
9683 , x_value_segment_code => l_adr_value_segment_code
9684 , p_side => 'NA'
9685 , p_override_seg_flag => 'Y'
9686 );
9687
9688 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
9689
9690 xla_ae_lines_pkg.set_segment(
9691 p_to_segment_code => 'GL_ACCOUNT'
9692 , p_segment_value => l_segment
9693 , p_from_segment_code => l_adr_value_segment_code
9694 , p_from_combination_id => l_adr_value_combination_id
9695 , p_value_type_code => l_adr_value_type_code
9696 , p_transaction_coa_id => l_adr_transaction_coa_id
9697 , p_accounting_coa_id => l_adr_accounting_coa_id
9698 , p_flexfield_segment_code => l_adr_flexfield_segment_code
9699 , p_flex_value_set_id => l_adr_flex_value_set_id
9700 , p_adr_code => 'AP_ERV_GAIN_LOSS_NAT_ACCT_SEG'
9701 , p_adr_type_code => 'S'
9702 , p_component_type => l_component_type
9703 , p_component_code => l_component_code
9704 , p_component_type_code => l_component_type_code
9705 , p_component_appl_id => l_component_appl_id
9706 , p_amb_context_code => l_amb_context_code
9707 , p_entity_code => 'AP_INVOICES'
9708 , p_event_class_code => 'INVOICES'
9709 , p_side => 'NA'
9710 );
9711
9712 END IF;
9713
9714 l_segment := AcctDerRule_5(
9715 p_application_id => p_application_id
9716 , p_ae_header_id => l_ae_header_id
9717 , p_source_7 => p_source_7
9718 , p_source_7_meaning => p_source_7_meaning
9719 , p_source_9 => p_source_9
9720 , p_source_9_meaning => p_source_9_meaning
9721 , p_source_11 => p_source_11
9722 , x_transaction_coa_id => l_adr_transaction_coa_id
9723 , x_accounting_coa_id => l_adr_accounting_coa_id
9724 , x_flexfield_segment_code => l_adr_flexfield_segment_code
9725 , x_flex_value_set_id => l_adr_flex_value_set_id
9726 , x_value_type_code => l_adr_value_type_code
9727 , x_value_combination_id => l_adr_value_combination_id
9728 , x_value_segment_code => l_adr_value_segment_code
9729 , p_side => 'NA'
9733 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
9730 , p_override_seg_flag => 'Y'
9731 );
9732
9734
9735 xla_ae_lines_pkg.set_segment(
9736 p_to_segment_code => 'GL_BALANCING'
9737 , p_segment_value => l_segment
9738 , p_from_segment_code => l_adr_value_segment_code
9739 , p_from_combination_id => l_adr_value_combination_id
9740 , p_value_type_code => l_adr_value_type_code
9741 , p_transaction_coa_id => l_adr_transaction_coa_id
9742 , p_accounting_coa_id => l_adr_accounting_coa_id
9743 , p_flexfield_segment_code => l_adr_flexfield_segment_code
9744 , p_flex_value_set_id => l_adr_flex_value_set_id
9745 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
9746 , p_adr_type_code => 'S'
9747 , p_component_type => l_component_type
9748 , p_component_code => l_component_code
9749 , p_component_type_code => l_component_type_code
9750 , p_component_appl_id => l_component_appl_id
9751 , p_amb_context_code => l_amb_context_code
9752 , p_entity_code => 'AP_INVOICES'
9753 , p_event_class_code => 'INVOICES'
9754 , p_side => 'NA'
9755 );
9756
9757 END IF;
9758
9759 --
9760 --
9761 END IF;
9762 --
9763 -- Bug 4922099
9764 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
9765 (NVL(l_enc_upg_option, 'N') = 'O')
9766 ) AND
9767 (l_bflow_method_code = 'PRIOR_ENTRY')
9768 )
9769 THEN
9770 IF
9771 --
9772 1 = 2
9773 --
9774 THEN
9775 xla_accounting_err_pkg.build_message
9776 (p_appli_s_name => 'XLA'
9777 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
9778 ,p_token_1 => 'LINE_NUMBER'
9779 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
9780 ,p_token_2 => 'LINE_TYPE_NAME'
9781 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
9782 l_component_type
9783 ,l_component_code
9784 ,l_component_type_code
9785 ,l_component_appl_id
9786 ,l_amb_context_code
9787 ,l_entity_code
9788 ,l_event_class_code
9789 )
9790 ,p_token_3 => 'OWNER'
9791 ,p_value_3 => xla_lookups_pkg.get_meaning(
9792 p_lookup_type => 'XLA_OWNER_TYPE'
9793 ,p_lookup_code => l_component_type_code
9794 )
9795 ,p_token_4 => 'PRODUCT_NAME'
9796 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
9797 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
9798 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
9799 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
9800 ,p_ae_header_id => NULL
9801 );
9802
9803 IF (C_LEVEL_ERROR>= g_log_level) THEN
9804 trace
9805 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
9806 ,p_level => C_LEVEL_ERROR
9807 ,p_module => l_log_module);
9808 END IF;
9809 END IF;
9810 END IF;
9811 --
9812 --
9813 ------------------------------------------------------------------------------------------------
9814 -- 4219869 Business Flow
9815 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
9816 -- Prior Entry. Currently, the following code is always generated.
9817 ------------------------------------------------------------------------------------------------
9818 XLA_AE_LINES_PKG.ValidateCurrentLine;
9819
9820 ------------------------------------------------------------------------------------
9821 -- 4219869 Business Flow
9822 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
9823 ------------------------------------------------------------------------------------
9824 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
9825
9826 ----------------------------------------------------------------------------------
9827 -- 4219869 Business Flow
9828 -- Update journal entry status -- Need to generate this within IF <condition>
9832 ,p_balance_type_code => l_balance_type_code
9829 ----------------------------------------------------------------------------------
9830 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
9831 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
9833 );
9834
9835 -------------------------------------------------------------------------------------------
9836 -- 4262811 - Generate the Accrual Reversal lines
9837 -------------------------------------------------------------------------------------------
9838 BEGIN
9839 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
9840 (g_array_event(p_event_id).array_value_num('header_index'));
9841 IF l_acc_rev_flag IS NULL THEN
9842 l_acc_rev_flag := 'N';
9843 END IF;
9844 EXCEPTION
9845 WHEN OTHERS THEN
9846 l_acc_rev_flag := 'N';
9847 END;
9848 --
9849 IF (l_acc_rev_flag = 'Y') THEN
9850
9851 -- 4645092 ------------------------------------------------------------------------------
9852 -- To allow MPA report to determine if it should generate report process
9853 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
9854 ------------------------------------------------------------------------------------------
9855
9856 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
9857 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
9858 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
9859 -- call ADRs
9860 -- Bug 4922099
9861 --
9862 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
9863 (NVL(l_actual_upg_option, 'N') = 'O') OR
9864 (NVL(l_enc_upg_option, 'N') = 'O')
9865 )
9866 THEN
9867 NULL;
9868 --
9869 --
9870
9871 l_ccid := AcctDerRule_6(
9872 p_application_id => p_application_id
9873 , p_ae_header_id => l_ae_header_id
9874 , p_source_6 => p_source_6
9875 , p_source_7 => p_source_7
9876 , p_source_7_meaning => p_source_7_meaning
9877 , p_source_8 => p_source_8
9878 , p_source_9 => p_source_9
9879 , p_source_9_meaning => p_source_9_meaning
9880 , p_source_10 => p_source_10
9881 , p_source_11 => p_source_11
9882 , p_source_12 => p_source_12
9883 , p_source_12_meaning => p_source_12_meaning
9884 , x_transaction_coa_id => l_adr_transaction_coa_id
9885 , x_accounting_coa_id => l_adr_accounting_coa_id
9886 , x_value_type_code => l_adr_value_type_code
9887 , p_side => 'NA'
9888 );
9889
9890 xla_ae_lines_pkg.set_ccid(
9891 p_code_combination_id => l_ccid
9892 , p_value_type_code => l_adr_value_type_code
9893 , p_transaction_coa_id => l_adr_transaction_coa_id
9894 , p_accounting_coa_id => l_adr_accounting_coa_id
9895 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
9896 , p_adr_type_code => 'S'
9897 , p_component_type => l_component_type
9898 , p_component_code => l_component_code
9899 , p_component_type_code => l_component_type_code
9900 , p_component_appl_id => l_component_appl_id
9901 , p_amb_context_code => l_amb_context_code
9902 , p_side => 'NA'
9903 );
9904
9905
9906 l_segment := AcctDerRule_4(
9907 p_application_id => p_application_id
9908 , p_ae_header_id => l_ae_header_id
9909 , p_source_6 => p_source_6
9910 , p_source_7 => p_source_7
9911 , p_source_7_meaning => p_source_7_meaning
9912 , p_source_8 => p_source_8
9913 , p_source_9 => p_source_9
9914 , p_source_9_meaning => p_source_9_meaning
9915 , p_source_10 => p_source_10
9916 , x_transaction_coa_id => l_adr_transaction_coa_id
9917 , x_accounting_coa_id => l_adr_accounting_coa_id
9918 , x_flexfield_segment_code => l_adr_flexfield_segment_code
9919 , x_flex_value_set_id => l_adr_flex_value_set_id
9920 , x_value_type_code => l_adr_value_type_code
9921 , x_value_combination_id => l_adr_value_combination_id
9922 , x_value_segment_code => l_adr_value_segment_code
9923 , p_side => 'NA'
9924 , p_override_seg_flag => 'Y'
9925 );
9926
9927 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
9928
9929 xla_ae_lines_pkg.set_segment(
9930 p_to_segment_code => 'GL_ACCOUNT'
9931 , p_segment_value => l_segment
9932 , p_from_segment_code => l_adr_value_segment_code
9933 , p_from_combination_id => l_adr_value_combination_id
9934 , p_value_type_code => l_adr_value_type_code
9935 , p_transaction_coa_id => l_adr_transaction_coa_id
9936 , p_accounting_coa_id => l_adr_accounting_coa_id
9937 , p_flexfield_segment_code => l_adr_flexfield_segment_code
9938 , p_flex_value_set_id => l_adr_flex_value_set_id
9939 , p_adr_code => 'AP_ERV_GAIN_LOSS_NAT_ACCT_SEG'
9940 , p_adr_type_code => 'S'
9941 , p_component_type => l_component_type
9942 , p_component_code => l_component_code
9943 , p_component_type_code => l_component_type_code
9947 , p_event_class_code => 'INVOICES'
9944 , p_component_appl_id => l_component_appl_id
9945 , p_amb_context_code => l_amb_context_code
9946 , p_entity_code => 'AP_INVOICES'
9948 , p_side => 'NA'
9949 );
9950
9951 END IF;
9952
9953 l_segment := AcctDerRule_5(
9954 p_application_id => p_application_id
9955 , p_ae_header_id => l_ae_header_id
9956 , p_source_7 => p_source_7
9957 , p_source_7_meaning => p_source_7_meaning
9958 , p_source_9 => p_source_9
9959 , p_source_9_meaning => p_source_9_meaning
9960 , p_source_11 => p_source_11
9961 , x_transaction_coa_id => l_adr_transaction_coa_id
9962 , x_accounting_coa_id => l_adr_accounting_coa_id
9963 , x_flexfield_segment_code => l_adr_flexfield_segment_code
9964 , x_flex_value_set_id => l_adr_flex_value_set_id
9965 , x_value_type_code => l_adr_value_type_code
9966 , x_value_combination_id => l_adr_value_combination_id
9967 , x_value_segment_code => l_adr_value_segment_code
9968 , p_side => 'NA'
9969 , p_override_seg_flag => 'Y'
9970 );
9971
9972 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
9973
9974 xla_ae_lines_pkg.set_segment(
9975 p_to_segment_code => 'GL_BALANCING'
9976 , p_segment_value => l_segment
9977 , p_from_segment_code => l_adr_value_segment_code
9978 , p_from_combination_id => l_adr_value_combination_id
9979 , p_value_type_code => l_adr_value_type_code
9980 , p_transaction_coa_id => l_adr_transaction_coa_id
9981 , p_accounting_coa_id => l_adr_accounting_coa_id
9982 , p_flexfield_segment_code => l_adr_flexfield_segment_code
9983 , p_flex_value_set_id => l_adr_flex_value_set_id
9984 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
9985 , p_adr_type_code => 'S'
9986 , p_component_type => l_component_type
9987 , p_component_code => l_component_code
9988 , p_component_type_code => l_component_type_code
9989 , p_component_appl_id => l_component_appl_id
9990 , p_amb_context_code => l_amb_context_code
9991 , p_entity_code => 'AP_INVOICES'
9992 , p_event_class_code => 'INVOICES'
9993 , p_side => 'NA'
9994 );
9995
9996 END IF;
9997
9998 --
9999 --
10000 END IF;
10001
10002 --
10003 -- Update the line information that should be overwritten
10004 --
10005 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
10006 p_header_num => 1);
10007 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
10008
10009 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
10010
10011 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
10012 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
10013 END IF;
10014
10015 --
10016 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
10017 --
10018 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
10019 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
10020 ELSE
10021 ---------------------------------------------------------------------------------------------------
10022 -- 4262811a Switch Sign
10023 ---------------------------------------------------------------------------------------------------
10024 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
10025 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
10026 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
10027 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
10028 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
10029 -- 5132302
10030 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
10031 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
10032
10033 END IF;
10034
10035 -- 4955764
10036 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
10037 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
10038
10039
10040 XLA_AE_LINES_PKG.ValidateCurrentLine;
10041 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
10042
10043 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
10044 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
10045 ,p_balance_type_code => l_balance_type_code);
10046
10047 END IF;
10048
10049 -----------------------------------------------------------------------------------------
10053
10050 -- 4262811 Multiperiod Accounting
10051 -----------------------------------------------------------------------------------------
10052 -- No MPA option is assigned.
10054
10055 END IF;
10056 END IF;
10057 --
10058
10059 --
10060 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
10061 trace
10062 (p_msg => 'END of AcctLineType_24'
10063 ,p_level => C_LEVEL_PROCEDURE
10064 ,p_module => l_log_module);
10065 END IF;
10066 --
10067 EXCEPTION
10068 WHEN xla_exceptions_pkg.application_exception THEN
10069 RAISE;
10070 WHEN OTHERS THEN
10071 xla_exceptions_pkg.raise_message
10072 (p_location => 'XLA_00200_AAD_S_000006_BC_PKG.AcctLineType_24');
10073 END AcctLineType_24;
10074 --
10075
10076 ---------------------------------------
10077 --
10078 -- PRIVATE FUNCTION
10079 -- AcctLineType_25
10080 --
10081 ---------------------------------------
10082 PROCEDURE AcctLineType_25 (
10083 p_application_id IN NUMBER
10084 ,p_event_id IN NUMBER
10085 ,p_calculate_acctd_flag IN VARCHAR2
10086 ,p_calculate_g_l_flag IN VARCHAR2
10087 ,p_actual_flag IN OUT VARCHAR2
10088 ,p_balance_type_code OUT VARCHAR2
10089 ,p_gain_or_loss_ref OUT VARCHAR2
10090
10091 --Invoice Distribution Description
10092 , p_source_1 IN VARCHAR2
10093 --Purchase Order Rate Variance Gain Account
10094 , p_source_6 IN NUMBER
10095 --Automatic Offsets Value
10096 , p_source_7 IN VARCHAR2
10097 , p_source_7_meaning IN VARCHAR2
10098 --Invoice Distribution Ledger Amount
10099 , p_source_8 IN NUMBER
10100 --Destination Type of the PO Distribution
10101 , p_source_9 IN VARCHAR2
10102 , p_source_9_meaning IN VARCHAR2
10103 --Purchase Order Rate Variance Loss Account
10104 , p_source_10 IN NUMBER
10105 --Invoice Distribution Account
10106 , p_source_11 IN NUMBER
10107 --Automatic Offsets Flag
10108 , p_source_12 IN VARCHAR2
10109 , p_source_12_meaning IN VARCHAR2
10110 --Invoice Distribution Type
10111 , p_source_15 IN VARCHAR2
10112 , p_source_15_meaning IN VARCHAR2
10113 --Purchasing Encumbrance Option
10114 , p_source_17 IN VARCHAR2
10115 , p_source_17_meaning IN VARCHAR2
10116 --Accounting Reversal Indicator
10117 , p_source_19 IN VARCHAR2
10118 --Distribution Link Type
10119 , p_source_21 IN VARCHAR2
10120 --Allocation to Main Distribution Identifier
10121 , p_source_23 IN NUMBER
10122 --Invoice Identifier
10123 , p_source_24 IN NUMBER
10124 --Business Flow Accounts Payable Application Identifier
10125 , p_source_25 IN NUMBER
10126 --Business Flow Invoice Distribution Type
10127 , p_source_26 IN VARCHAR2
10128 --Business Flow Invoice Entity Code
10129 , p_source_27 IN VARCHAR2
10130 --Business Flow Invoice Distribution Identifier
10131 , p_source_28 IN NUMBER
10132 --Business Flow Invoice Identifier
10133 , p_source_29 IN NUMBER
10134 --Invoice Distribution Identifier
10135 , p_source_30 IN NUMBER
10136 --Payables Encumbrance Upgrade Credit Account
10137 , p_source_31 IN NUMBER
10138 --Payables Encumbrance Upgrade Credit Amount
10139 , p_source_32 IN NUMBER
10140 --Invoice Currency Code
10141 , p_source_33 IN VARCHAR2
10142 --Payables Encumbrance Upgrade Credit Base Amount
10143 , p_source_34 IN NUMBER
10144 --Payables Encumbrance Upgrade Debit Account
10145 , p_source_35 IN NUMBER
10146 --Payables Encumbrance Upgrade Debit Amount
10147 , p_source_36 IN NUMBER
10148 --Payables Encumbrance Upgrade Debit Base Amount
10149 , p_source_37 IN NUMBER
10150 --Payables Encumbrance Upgrade Option
10151 , p_source_38 IN VARCHAR2
10152 --Invoice Exchange Date
10153 , p_source_39 IN DATE
10154 --Invoice Exchange Rate
10155 , p_source_40 IN NUMBER
10156 --Invoice Exchange Rate Type
10157 , p_source_41 IN VARCHAR2
10158 --Deferred Accounting End Date
10159 , p_source_43 IN DATE
10160 --Deferred Accounting Option
10161 , p_source_44 IN VARCHAR2
10162 --Deferred Accounting Start Date
10163 , p_source_45 IN DATE
10164 --Override Accounted Amount Indicator
10165 , p_source_46 IN VARCHAR2
10166 , p_source_46_meaning IN VARCHAR2
10167 --Invoice Supplier Identifier
10168 , p_source_47 IN NUMBER
10169 --Invoice Supplier Site Identifier
10170 , p_source_48 IN NUMBER
10171 --Third Party Type
10172 , p_source_49 IN VARCHAR2
10173 --Parent Reversal Identifier
10174 , p_source_50 IN NUMBER
10175 --Invoice Distribution Statistical Amount
10176 , p_source_51 IN NUMBER
10177 --Invoice Distribution Tax Line Identifier
10178 , p_source_52 IN NUMBER
10179 --Invoice Distribution Tax Distribution Identifier from Tax
10180 , p_source_53 IN NUMBER
10181 --Invoice Distribution Summary Tax Line Identifier
10182 , p_source_54 IN NUMBER
10183 --Payables Upgrade Credit Encumbrance Type Identifier
10184 , p_source_55 IN NUMBER
10185 --Payables Upgrade Debit Encumbrance Type Identifier
10186 , p_source_56 IN NUMBER
10190 , p_source_66 IN NUMBER
10187 --Invoice Distribution Encumbrance Amount
10188 , p_source_65 IN NUMBER
10189 --Invoice Distribution Encumbrance Ledger Amount
10191 )
10192 IS
10193
10194 l_component_type VARCHAR2(80);
10195 l_component_code VARCHAR2(30);
10196 l_component_type_code VARCHAR2(1);
10197 l_component_appl_id INTEGER;
10198 l_amb_context_code VARCHAR2(30);
10199 l_entity_code VARCHAR2(30);
10200 l_event_class_code VARCHAR2(30);
10201 l_ae_header_id NUMBER;
10202 l_event_type_code VARCHAR2(30);
10203 l_line_definition_code VARCHAR2(30);
10204 l_line_definition_owner_code VARCHAR2(1);
10205 --
10206 -- adr variables
10207 l_segment VARCHAR2(30);
10208 l_ccid NUMBER;
10209 l_adr_transaction_coa_id NUMBER;
10210 l_adr_accounting_coa_id NUMBER;
10211 l_adr_flexfield_segment_code VARCHAR2(30);
10212 l_adr_flex_value_set_id NUMBER;
10213 l_adr_value_type_code VARCHAR2(30);
10214 l_adr_value_combination_id NUMBER;
10215 l_adr_value_segment_code VARCHAR2(30);
10216
10217 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
10218 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
10219 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
10220 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
10221
10222 -- 4262811 Variables ------------------------------------------------------------------------------------------
10223 l_entered_amt_idx NUMBER;
10224 l_accted_amt_idx NUMBER;
10225 l_acc_rev_flag VARCHAR2(1);
10226 l_accrual_line_num NUMBER;
10227 l_tmp_amt NUMBER;
10228 l_acc_rev_natural_side_code VARCHAR2(1);
10229
10230 l_num_entries NUMBER;
10231 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
10232 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
10233 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
10234 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
10235 l_recog_line_1 NUMBER;
10236 l_recog_line_2 NUMBER;
10237
10238 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
10239 l_bflow_applied_to_amt NUMBER; -- 5132302
10240 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
10241
10242 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
10243
10244 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
10245 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
10246
10247 ---------------------------------------------------------------------------------------------------------------
10248
10249
10250 --
10251 -- bulk performance
10252 --
10253 l_balance_type_code VARCHAR2(1);
10254 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
10255 l_log_module VARCHAR2(240);
10256
10257 --
10258 -- Upgrade strategy
10259 --
10260 l_actual_upg_option VARCHAR2(1);
10261 l_enc_upg_option VARCHAR2(1);
10262
10263 --
10264 BEGIN
10265 --
10266 IF g_log_enabled THEN
10267 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_25';
10268 END IF;
10269 --
10270 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
10271
10272 trace
10273 (p_msg => 'BEGIN of AcctLineType_25'
10274 ,p_level => C_LEVEL_PROCEDURE
10275 ,p_module => l_log_module);
10276
10277 END IF;
10278 --
10279 l_component_type := 'AMB_JLT';
10280 l_component_code := 'AP_EX_RATE_VAR_PP_ENC_DR';
10281 l_component_type_code := 'S';
10282 l_component_appl_id := 200;
10283 l_amb_context_code := 'DEFAULT';
10284 l_entity_code := 'AP_INVOICES';
10285 l_event_class_code := 'PREPAYMENTS';
10286 l_event_type_code := 'PREPAYMENTS_ALL';
10287 l_line_definition_owner_code := 'S';
10288 l_line_definition_code := 'ENC_PREPAY_ALL';
10289 --
10290 l_balance_type_code := 'E';
10291 l_segment := NULL;
10292 l_ccid := NULL;
10293 l_adr_transaction_coa_id := NULL;
10294 l_adr_accounting_coa_id := NULL;
10295 l_adr_flexfield_segment_code := NULL;
10296 l_adr_flex_value_set_id := NULL;
10297 l_adr_value_type_code := NULL;
10298 l_adr_value_combination_id := NULL;
10299 l_adr_value_segment_code := NULL;
10300
10301 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
10302 l_bflow_class_code := 'AP_INV_ENCUM'; -- 4219869 Business Flow
10303 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
10304 l_budgetary_control_flag := 'Y';
10305
10306 l_bflow_applied_to_amt_idx := NULL; -- 5132302
10307 l_bflow_applied_to_amt := NULL; -- 5132302
10308 l_entered_amt_idx := NULL; -- 4262811
10309 l_accted_amt_idx := NULL; -- 4262811
10310 l_acc_rev_flag := NULL; -- 4262811
10311 l_accrual_line_num := NULL; -- 4262811
10312 l_tmp_amt := NULL; -- 4262811
10313 --
10317 END IF;
10314 IF ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
10315 (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
10316 return;
10318
10319 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
10320 l_balance_type_code <> 'B' THEN
10321 IF NVL(p_source_15,'
10322 ') = 'ERV' AND
10323 NVL(p_source_17,'
10324 ') = 'Y'
10325 THEN
10326
10327 --
10328 XLA_AE_LINES_PKG.SetNewLine;
10329
10330 p_balance_type_code := l_balance_type_code;
10331 -- set the flag so later we will know whether the gain loss line needs to be created
10332
10333 IF(l_balance_type_code = 'A' ) THEN
10334 p_actual_flag :='G';
10335 END IF;
10336
10337 --
10338 -- bulk performance
10339 --
10340 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
10341 p_header_num => 0); -- 4262811
10342 --
10343 -- set accounting line options
10344 --
10345 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
10346 p_natural_side_code => 'D'
10347 , p_gain_or_loss_flag => 'Y'
10348 , p_gl_transfer_mode_code => 'S'
10349 , p_acct_entry_type_code => 'E'
10350 , p_switch_side_flag => 'Y'
10351 , p_merge_duplicate_code => 'N'
10352 );
10353 --
10354 l_acc_rev_natural_side_code := 'C'; -- 4262811
10355 --
10356 --
10357 -- set accounting line type info
10358 --
10359 xla_ae_lines_pkg.SetAcctLineType
10360 (p_component_type => l_component_type
10361 ,p_event_type_code => l_event_type_code
10362 ,p_line_definition_owner_code => l_line_definition_owner_code
10363 ,p_line_definition_code => l_line_definition_code
10364 ,p_accounting_line_code => l_component_code
10365 ,p_accounting_line_type_code => l_component_type_code
10366 ,p_accounting_line_appl_id => l_component_appl_id
10367 ,p_amb_context_code => l_amb_context_code
10368 ,p_entity_code => l_entity_code
10369 ,p_event_class_code => l_event_class_code);
10370 --
10371 -- set accounting class
10372 --
10373 xla_ae_lines_pkg.SetAcctClass(
10374 p_accounting_class_code => 'EXCHANGE_RATE_VARIANCE'
10375 , p_ae_header_id => l_ae_header_id
10376 );
10377
10378 --
10379 -- set rounding class
10380 --
10381 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
10382 'EXCHANGE_RATE_VARIANCE';
10383
10384 --
10385 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
10386 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
10387 --
10388 -- bulk performance
10389 --
10390 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
10391
10392 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
10393 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
10394
10395 -- 4955764
10396 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
10397 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
10398
10399 -- 4458381 Public Sector Enh
10400 XLA_AE_LINES_PKG.g_rec_lines.array_encumbrance_type_id(XLA_AE_LINES_PKG.g_LineNumber) := 1060;
10401 --
10402 -- set accounting attributes for the line type
10403 --
10404 l_entered_amt_idx := 23;
10405 l_accted_amt_idx := 28;
10406 l_bflow_applied_to_amt_idx := NULL; -- 5132302
10407 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
10408 l_rec_acct_attrs.array_char_value(1) := p_source_19;
10409 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
10410 l_rec_acct_attrs.array_num_value(2) :=
10411 xla_ae_sources_pkg.GetSystemSourceNum(
10412 p_source_code => 'XLA_EVENT_APPL_ID'
10413 , p_source_type_code => 'Y'
10414 , p_source_application_id => 602
10415 );
10416 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
10417 l_rec_acct_attrs.array_char_value(3) := p_source_21;
10418 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
10419 l_rec_acct_attrs.array_char_value(4) :=
10420 xla_ae_sources_pkg.GetSystemSourceChar(
10421 p_source_code => 'XLA_ENTITY_CODE'
10422 , p_source_type_code => 'Y'
10423 , p_source_application_id => 602
10424 );
10425 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
10426 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_23);
10427 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
10428 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_24);
10429 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
10430 l_rec_acct_attrs.array_num_value(7) := p_source_25;
10431 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
10432 l_rec_acct_attrs.array_char_value(8) := p_source_26;
10433 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
10437 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
10434 l_rec_acct_attrs.array_char_value(9) := p_source_27;
10435 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
10436 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_28);
10438 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_29);
10439 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
10440 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_30);
10441 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
10442 l_rec_acct_attrs.array_char_value(13) := p_source_21;
10443 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
10444 l_rec_acct_attrs.array_num_value(14) := p_source_31;
10445 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
10446 l_rec_acct_attrs.array_num_value(15) := p_source_32;
10447 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
10448 l_rec_acct_attrs.array_char_value(16) := p_source_33;
10449 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
10450 l_rec_acct_attrs.array_num_value(17) := p_source_34;
10451 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
10452 l_rec_acct_attrs.array_num_value(18) := p_source_35;
10453 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
10454 l_rec_acct_attrs.array_num_value(19) := p_source_36;
10455 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
10456 l_rec_acct_attrs.array_char_value(20) := p_source_33;
10457 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
10458 l_rec_acct_attrs.array_num_value(21) := p_source_37;
10459 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
10460 l_rec_acct_attrs.array_char_value(22) := p_source_38;
10461 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
10462 l_rec_acct_attrs.array_num_value(23) := p_source_65;
10463 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
10464 l_rec_acct_attrs.array_char_value(24) := p_source_33;
10465 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
10466 l_rec_acct_attrs.array_date_value(25) := p_source_39;
10467 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
10468 l_rec_acct_attrs.array_num_value(26) := p_source_40;
10469 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
10470 l_rec_acct_attrs.array_char_value(27) := p_source_41;
10471 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
10472 l_rec_acct_attrs.array_num_value(28) := p_source_66;
10473 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
10474 l_rec_acct_attrs.array_date_value(29) := p_source_43;
10475 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
10476 l_rec_acct_attrs.array_char_value(30) := p_source_44;
10477 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
10478 l_rec_acct_attrs.array_date_value(31) := p_source_45;
10479 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
10480 l_rec_acct_attrs.array_char_value(32) := p_source_46;
10481 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
10482 l_rec_acct_attrs.array_num_value(33) := p_source_47;
10483 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
10484 l_rec_acct_attrs.array_num_value(34) := p_source_48;
10485 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
10486 l_rec_acct_attrs.array_char_value(35) := p_source_49;
10487 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
10488 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_50);
10489 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
10490 l_rec_acct_attrs.array_char_value(37) := p_source_21;
10491 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
10492 l_rec_acct_attrs.array_num_value(38) := p_source_51;
10493 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
10494 l_rec_acct_attrs.array_num_value(39) := p_source_52;
10495 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
10496 l_rec_acct_attrs.array_num_value(40) := p_source_53;
10497 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
10498 l_rec_acct_attrs.array_num_value(41) := p_source_54;
10499 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
10500 l_rec_acct_attrs.array_num_value(42) := p_source_55;
10501 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
10502 l_rec_acct_attrs.array_num_value(43) := p_source_56;
10503
10504 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
10505 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
10506
10507 ---------------------------------------------------------------------------------------------------------------
10508 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
10509 ---------------------------------------------------------------------------------------------------------------
10510 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
10511
10512 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
10513 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
10514
10518 AND l_bflow_method_code = 'PRIOR_ENTRY'
10515 IF xla_accounting_cache_pkg.GetValueChar
10516 (p_source_code => 'LEDGER_CATEGORY_CODE'
10517 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
10519 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
10520 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
10521 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
10522 )
10523 THEN
10524 xla_ae_lines_pkg.BflowUpgEntry
10525 (p_business_method_code => l_bflow_method_code
10526 ,p_business_class_code => l_bflow_class_code
10527 ,p_balance_type => l_balance_type_code);
10528 ELSE
10529 NULL;
10530 -- No business flow processing for business flow method of NONE.
10531 END IF;
10532
10533 --
10534 -- call analytical criteria
10535 --
10536
10537 --
10538 -- call description
10539 --
10540
10541 xla_ae_lines_pkg.SetLineDescription(
10542 p_ae_header_id => l_ae_header_id
10543 ,p_description => Description_2 (
10544 p_application_id => p_application_id
10545 , p_ae_header_id => l_ae_header_id
10546 , p_source_1 => p_source_1
10547 )
10548 );
10549
10550
10551 --
10552 -- call ADRs
10553 -- Bug 4922099
10554 --
10555 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
10556 (NVL(l_actual_upg_option, 'N') = 'O') OR
10557 (NVL(l_enc_upg_option, 'N') = 'O')
10558 )
10559 THEN
10560 NULL;
10561 --
10562 --
10563
10564 l_ccid := AcctDerRule_6(
10565 p_application_id => p_application_id
10566 , p_ae_header_id => l_ae_header_id
10567 , p_source_6 => p_source_6
10568 , p_source_7 => p_source_7
10569 , p_source_7_meaning => p_source_7_meaning
10570 , p_source_8 => p_source_8
10571 , p_source_9 => p_source_9
10572 , p_source_9_meaning => p_source_9_meaning
10573 , p_source_10 => p_source_10
10574 , p_source_11 => p_source_11
10575 , p_source_12 => p_source_12
10576 , p_source_12_meaning => p_source_12_meaning
10577 , x_transaction_coa_id => l_adr_transaction_coa_id
10578 , x_accounting_coa_id => l_adr_accounting_coa_id
10579 , x_value_type_code => l_adr_value_type_code
10580 , p_side => 'NA'
10581 );
10582
10583 xla_ae_lines_pkg.set_ccid(
10584 p_code_combination_id => l_ccid
10585 , p_value_type_code => l_adr_value_type_code
10586 , p_transaction_coa_id => l_adr_transaction_coa_id
10587 , p_accounting_coa_id => l_adr_accounting_coa_id
10588 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
10589 , p_adr_type_code => 'S'
10590 , p_component_type => l_component_type
10591 , p_component_code => l_component_code
10592 , p_component_type_code => l_component_type_code
10593 , p_component_appl_id => l_component_appl_id
10594 , p_amb_context_code => l_amb_context_code
10595 , p_side => 'NA'
10596 );
10597
10598
10599 l_segment := AcctDerRule_4(
10600 p_application_id => p_application_id
10601 , p_ae_header_id => l_ae_header_id
10602 , p_source_6 => p_source_6
10603 , p_source_7 => p_source_7
10604 , p_source_7_meaning => p_source_7_meaning
10605 , p_source_8 => p_source_8
10606 , p_source_9 => p_source_9
10607 , p_source_9_meaning => p_source_9_meaning
10608 , p_source_10 => p_source_10
10609 , x_transaction_coa_id => l_adr_transaction_coa_id
10610 , x_accounting_coa_id => l_adr_accounting_coa_id
10611 , x_flexfield_segment_code => l_adr_flexfield_segment_code
10612 , x_flex_value_set_id => l_adr_flex_value_set_id
10613 , x_value_type_code => l_adr_value_type_code
10614 , x_value_combination_id => l_adr_value_combination_id
10615 , x_value_segment_code => l_adr_value_segment_code
10616 , p_side => 'NA'
10617 , p_override_seg_flag => 'Y'
10618 );
10619
10620 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
10621
10622 xla_ae_lines_pkg.set_segment(
10623 p_to_segment_code => 'GL_ACCOUNT'
10624 , p_segment_value => l_segment
10625 , p_from_segment_code => l_adr_value_segment_code
10626 , p_from_combination_id => l_adr_value_combination_id
10627 , p_value_type_code => l_adr_value_type_code
10628 , p_transaction_coa_id => l_adr_transaction_coa_id
10629 , p_accounting_coa_id => l_adr_accounting_coa_id
10630 , p_flexfield_segment_code => l_adr_flexfield_segment_code
10631 , p_flex_value_set_id => l_adr_flex_value_set_id
10632 , p_adr_code => 'AP_ERV_GAIN_LOSS_NAT_ACCT_SEG'
10633 , p_adr_type_code => 'S'
10634 , p_component_type => l_component_type
10635 , p_component_code => l_component_code
10636 , p_component_type_code => l_component_type_code
10637 , p_component_appl_id => l_component_appl_id
10638 , p_amb_context_code => l_amb_context_code
10642 );
10639 , p_entity_code => 'AP_INVOICES'
10640 , p_event_class_code => 'PREPAYMENTS'
10641 , p_side => 'NA'
10643
10644 END IF;
10645
10646 l_segment := AcctDerRule_5(
10647 p_application_id => p_application_id
10648 , p_ae_header_id => l_ae_header_id
10649 , p_source_7 => p_source_7
10650 , p_source_7_meaning => p_source_7_meaning
10651 , p_source_9 => p_source_9
10652 , p_source_9_meaning => p_source_9_meaning
10653 , p_source_11 => p_source_11
10654 , x_transaction_coa_id => l_adr_transaction_coa_id
10655 , x_accounting_coa_id => l_adr_accounting_coa_id
10656 , x_flexfield_segment_code => l_adr_flexfield_segment_code
10657 , x_flex_value_set_id => l_adr_flex_value_set_id
10658 , x_value_type_code => l_adr_value_type_code
10659 , x_value_combination_id => l_adr_value_combination_id
10660 , x_value_segment_code => l_adr_value_segment_code
10661 , p_side => 'NA'
10662 , p_override_seg_flag => 'Y'
10663 );
10664
10665 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
10666
10667 xla_ae_lines_pkg.set_segment(
10668 p_to_segment_code => 'GL_BALANCING'
10669 , p_segment_value => l_segment
10670 , p_from_segment_code => l_adr_value_segment_code
10671 , p_from_combination_id => l_adr_value_combination_id
10672 , p_value_type_code => l_adr_value_type_code
10673 , p_transaction_coa_id => l_adr_transaction_coa_id
10674 , p_accounting_coa_id => l_adr_accounting_coa_id
10675 , p_flexfield_segment_code => l_adr_flexfield_segment_code
10676 , p_flex_value_set_id => l_adr_flex_value_set_id
10677 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
10678 , p_adr_type_code => 'S'
10679 , p_component_type => l_component_type
10680 , p_component_code => l_component_code
10681 , p_component_type_code => l_component_type_code
10682 , p_component_appl_id => l_component_appl_id
10683 , p_amb_context_code => l_amb_context_code
10684 , p_entity_code => 'AP_INVOICES'
10685 , p_event_class_code => 'PREPAYMENTS'
10686 , p_side => 'NA'
10687 );
10688
10689 END IF;
10690
10691 --
10692 --
10693 END IF;
10694 --
10695 -- Bug 4922099
10696 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
10697 (NVL(l_enc_upg_option, 'N') = 'O')
10698 ) AND
10699 (l_bflow_method_code = 'PRIOR_ENTRY')
10700 )
10701 THEN
10702 IF
10703 --
10704 1 = 2
10705 --
10706 THEN
10707 xla_accounting_err_pkg.build_message
10708 (p_appli_s_name => 'XLA'
10709 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
10710 ,p_token_1 => 'LINE_NUMBER'
10711 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
10712 ,p_token_2 => 'LINE_TYPE_NAME'
10713 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
10714 l_component_type
10715 ,l_component_code
10716 ,l_component_type_code
10717 ,l_component_appl_id
10718 ,l_amb_context_code
10719 ,l_entity_code
10720 ,l_event_class_code
10721 )
10722 ,p_token_3 => 'OWNER'
10723 ,p_value_3 => xla_lookups_pkg.get_meaning(
10724 p_lookup_type => 'XLA_OWNER_TYPE'
10725 ,p_lookup_code => l_component_type_code
10726 )
10727 ,p_token_4 => 'PRODUCT_NAME'
10728 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
10729 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
10730 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
10731 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
10732 ,p_ae_header_id => NULL
10733 );
10734
10735 IF (C_LEVEL_ERROR>= g_log_level) THEN
10736 trace
10737 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
10738 ,p_level => C_LEVEL_ERROR
10742 END IF;
10739 ,p_module => l_log_module);
10740 END IF;
10741 END IF;
10743 --
10744 --
10745 ------------------------------------------------------------------------------------------------
10746 -- 4219869 Business Flow
10747 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
10748 -- Prior Entry. Currently, the following code is always generated.
10749 ------------------------------------------------------------------------------------------------
10750 XLA_AE_LINES_PKG.ValidateCurrentLine;
10751
10752 ------------------------------------------------------------------------------------
10753 -- 4219869 Business Flow
10754 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
10755 ------------------------------------------------------------------------------------
10756 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
10757
10758 ----------------------------------------------------------------------------------
10759 -- 4219869 Business Flow
10760 -- Update journal entry status -- Need to generate this within IF <condition>
10761 ----------------------------------------------------------------------------------
10762 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
10763 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
10764 ,p_balance_type_code => l_balance_type_code
10765 );
10766
10767 -------------------------------------------------------------------------------------------
10768 -- 4262811 - Generate the Accrual Reversal lines
10769 -------------------------------------------------------------------------------------------
10770 BEGIN
10771 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
10772 (g_array_event(p_event_id).array_value_num('header_index'));
10773 IF l_acc_rev_flag IS NULL THEN
10774 l_acc_rev_flag := 'N';
10775 END IF;
10776 EXCEPTION
10777 WHEN OTHERS THEN
10778 l_acc_rev_flag := 'N';
10779 END;
10780 --
10781 IF (l_acc_rev_flag = 'Y') THEN
10782
10783 -- 4645092 ------------------------------------------------------------------------------
10784 -- To allow MPA report to determine if it should generate report process
10785 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
10786 ------------------------------------------------------------------------------------------
10787
10788 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
10789 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
10790 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
10791 -- call ADRs
10792 -- Bug 4922099
10793 --
10794 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
10795 (NVL(l_actual_upg_option, 'N') = 'O') OR
10796 (NVL(l_enc_upg_option, 'N') = 'O')
10797 )
10798 THEN
10799 NULL;
10800 --
10801 --
10802
10803 l_ccid := AcctDerRule_6(
10804 p_application_id => p_application_id
10805 , p_ae_header_id => l_ae_header_id
10806 , p_source_6 => p_source_6
10807 , p_source_7 => p_source_7
10808 , p_source_7_meaning => p_source_7_meaning
10809 , p_source_8 => p_source_8
10810 , p_source_9 => p_source_9
10811 , p_source_9_meaning => p_source_9_meaning
10812 , p_source_10 => p_source_10
10813 , p_source_11 => p_source_11
10814 , p_source_12 => p_source_12
10815 , p_source_12_meaning => p_source_12_meaning
10816 , x_transaction_coa_id => l_adr_transaction_coa_id
10817 , x_accounting_coa_id => l_adr_accounting_coa_id
10818 , x_value_type_code => l_adr_value_type_code
10819 , p_side => 'NA'
10820 );
10821
10822 xla_ae_lines_pkg.set_ccid(
10823 p_code_combination_id => l_ccid
10824 , p_value_type_code => l_adr_value_type_code
10825 , p_transaction_coa_id => l_adr_transaction_coa_id
10826 , p_accounting_coa_id => l_adr_accounting_coa_id
10827 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
10828 , p_adr_type_code => 'S'
10829 , p_component_type => l_component_type
10830 , p_component_code => l_component_code
10831 , p_component_type_code => l_component_type_code
10832 , p_component_appl_id => l_component_appl_id
10833 , p_amb_context_code => l_amb_context_code
10834 , p_side => 'NA'
10835 );
10836
10837
10838 l_segment := AcctDerRule_4(
10839 p_application_id => p_application_id
10840 , p_ae_header_id => l_ae_header_id
10841 , p_source_6 => p_source_6
10842 , p_source_7 => p_source_7
10843 , p_source_7_meaning => p_source_7_meaning
10844 , p_source_8 => p_source_8
10845 , p_source_9 => p_source_9
10846 , p_source_9_meaning => p_source_9_meaning
10847 , p_source_10 => p_source_10
10848 , x_transaction_coa_id => l_adr_transaction_coa_id
10849 , x_accounting_coa_id => l_adr_accounting_coa_id
10850 , x_flexfield_segment_code => l_adr_flexfield_segment_code
10851 , x_flex_value_set_id => l_adr_flex_value_set_id
10852 , x_value_type_code => l_adr_value_type_code
10856 , p_override_seg_flag => 'Y'
10853 , x_value_combination_id => l_adr_value_combination_id
10854 , x_value_segment_code => l_adr_value_segment_code
10855 , p_side => 'NA'
10857 );
10858
10859 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
10860
10861 xla_ae_lines_pkg.set_segment(
10862 p_to_segment_code => 'GL_ACCOUNT'
10863 , p_segment_value => l_segment
10864 , p_from_segment_code => l_adr_value_segment_code
10865 , p_from_combination_id => l_adr_value_combination_id
10866 , p_value_type_code => l_adr_value_type_code
10867 , p_transaction_coa_id => l_adr_transaction_coa_id
10868 , p_accounting_coa_id => l_adr_accounting_coa_id
10869 , p_flexfield_segment_code => l_adr_flexfield_segment_code
10870 , p_flex_value_set_id => l_adr_flex_value_set_id
10871 , p_adr_code => 'AP_ERV_GAIN_LOSS_NAT_ACCT_SEG'
10872 , p_adr_type_code => 'S'
10873 , p_component_type => l_component_type
10874 , p_component_code => l_component_code
10875 , p_component_type_code => l_component_type_code
10876 , p_component_appl_id => l_component_appl_id
10877 , p_amb_context_code => l_amb_context_code
10878 , p_entity_code => 'AP_INVOICES'
10879 , p_event_class_code => 'PREPAYMENTS'
10880 , p_side => 'NA'
10881 );
10882
10883 END IF;
10884
10885 l_segment := AcctDerRule_5(
10886 p_application_id => p_application_id
10887 , p_ae_header_id => l_ae_header_id
10888 , p_source_7 => p_source_7
10889 , p_source_7_meaning => p_source_7_meaning
10890 , p_source_9 => p_source_9
10891 , p_source_9_meaning => p_source_9_meaning
10892 , p_source_11 => p_source_11
10893 , x_transaction_coa_id => l_adr_transaction_coa_id
10894 , x_accounting_coa_id => l_adr_accounting_coa_id
10895 , x_flexfield_segment_code => l_adr_flexfield_segment_code
10896 , x_flex_value_set_id => l_adr_flex_value_set_id
10897 , x_value_type_code => l_adr_value_type_code
10898 , x_value_combination_id => l_adr_value_combination_id
10899 , x_value_segment_code => l_adr_value_segment_code
10900 , p_side => 'NA'
10901 , p_override_seg_flag => 'Y'
10902 );
10903
10904 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
10905
10906 xla_ae_lines_pkg.set_segment(
10907 p_to_segment_code => 'GL_BALANCING'
10908 , p_segment_value => l_segment
10909 , p_from_segment_code => l_adr_value_segment_code
10910 , p_from_combination_id => l_adr_value_combination_id
10911 , p_value_type_code => l_adr_value_type_code
10912 , p_transaction_coa_id => l_adr_transaction_coa_id
10913 , p_accounting_coa_id => l_adr_accounting_coa_id
10914 , p_flexfield_segment_code => l_adr_flexfield_segment_code
10915 , p_flex_value_set_id => l_adr_flex_value_set_id
10916 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
10917 , p_adr_type_code => 'S'
10918 , p_component_type => l_component_type
10919 , p_component_code => l_component_code
10920 , p_component_type_code => l_component_type_code
10921 , p_component_appl_id => l_component_appl_id
10922 , p_amb_context_code => l_amb_context_code
10923 , p_entity_code => 'AP_INVOICES'
10924 , p_event_class_code => 'PREPAYMENTS'
10925 , p_side => 'NA'
10926 );
10927
10928 END IF;
10929
10930 --
10931 --
10932 END IF;
10933
10934 --
10935 -- Update the line information that should be overwritten
10936 --
10937 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
10938 p_header_num => 1);
10939 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
10940
10941 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
10942
10943 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
10944 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
10945 END IF;
10946
10947 --
10948 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
10949 --
10950 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
10951 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
10952 ELSE
10953 ---------------------------------------------------------------------------------------------------
10954 -- 4262811a Switch Sign
10955 ---------------------------------------------------------------------------------------------------
10956 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
10957 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
10961 -- 5132302
10958 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
10959 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
10960 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
10962 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
10963 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
10964
10965 END IF;
10966
10967 -- 4955764
10968 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
10969 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
10970
10971
10972 XLA_AE_LINES_PKG.ValidateCurrentLine;
10973 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
10974
10975 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
10976 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
10977 ,p_balance_type_code => l_balance_type_code);
10978
10979 END IF;
10980
10981 -----------------------------------------------------------------------------------------
10982 -- 4262811 Multiperiod Accounting
10983 -----------------------------------------------------------------------------------------
10984 -- No MPA option is assigned.
10985
10986
10987 END IF;
10988 END IF;
10989 --
10990
10991 --
10992 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
10993 trace
10994 (p_msg => 'END of AcctLineType_25'
10995 ,p_level => C_LEVEL_PROCEDURE
10996 ,p_module => l_log_module);
10997 END IF;
10998 --
10999 EXCEPTION
11000 WHEN xla_exceptions_pkg.application_exception THEN
11001 RAISE;
11002 WHEN OTHERS THEN
11003 xla_exceptions_pkg.raise_message
11004 (p_location => 'XLA_00200_AAD_S_000006_BC_PKG.AcctLineType_25');
11005 END AcctLineType_25;
11006 --
11007
11008 ---------------------------------------
11009 --
11010 -- PRIVATE FUNCTION
11011 -- AcctLineType_26
11012 --
11013 ---------------------------------------
11014 PROCEDURE AcctLineType_26 (
11015 p_application_id IN NUMBER
11016 ,p_event_id IN NUMBER
11017 ,p_calculate_acctd_flag IN VARCHAR2
11018 ,p_calculate_g_l_flag IN VARCHAR2
11019 ,p_actual_flag IN OUT VARCHAR2
11020 ,p_balance_type_code OUT VARCHAR2
11021 ,p_gain_or_loss_ref OUT VARCHAR2
11022
11023 --Invoice Distribution Description
11024 , p_source_1 IN VARCHAR2
11025 --Invoice Distribution Account
11026 , p_source_11 IN NUMBER
11027 --Invoice Distribution Type
11028 , p_source_15 IN VARCHAR2
11029 , p_source_15_meaning IN VARCHAR2
11030 --Purchasing Encumbrance Option
11031 , p_source_17 IN VARCHAR2
11032 , p_source_17_meaning IN VARCHAR2
11033 --Accounting Reversal Indicator
11034 , p_source_19 IN VARCHAR2
11035 --Distribution Link Type
11036 , p_source_21 IN VARCHAR2
11037 --Allocation to Main Distribution Identifier
11038 , p_source_23 IN NUMBER
11039 --Invoice Identifier
11040 , p_source_24 IN NUMBER
11041 --Business Flow Accounts Payable Application Identifier
11042 , p_source_25 IN NUMBER
11043 --Business Flow Invoice Distribution Type
11044 , p_source_26 IN VARCHAR2
11045 --Business Flow Invoice Entity Code
11046 , p_source_27 IN VARCHAR2
11047 --Business Flow Invoice Distribution Identifier
11048 , p_source_28 IN NUMBER
11049 --Business Flow Invoice Identifier
11050 , p_source_29 IN NUMBER
11051 --Invoice Distribution Identifier
11052 , p_source_30 IN NUMBER
11053 --Payables Encumbrance Upgrade Credit Account
11054 , p_source_31 IN NUMBER
11055 --Payables Encumbrance Upgrade Credit Amount
11056 , p_source_32 IN NUMBER
11057 --Invoice Currency Code
11058 , p_source_33 IN VARCHAR2
11059 --Payables Encumbrance Upgrade Credit Base Amount
11060 , p_source_34 IN NUMBER
11061 --Payables Encumbrance Upgrade Debit Account
11062 , p_source_35 IN NUMBER
11063 --Payables Encumbrance Upgrade Debit Amount
11064 , p_source_36 IN NUMBER
11065 --Payables Encumbrance Upgrade Debit Base Amount
11066 , p_source_37 IN NUMBER
11067 --Payables Encumbrance Upgrade Option
11068 , p_source_38 IN VARCHAR2
11069 --Invoice Exchange Date
11070 , p_source_39 IN DATE
11071 --Invoice Exchange Rate
11072 , p_source_40 IN NUMBER
11073 --Invoice Exchange Rate Type
11074 , p_source_41 IN VARCHAR2
11075 --Deferred Accounting End Date
11076 , p_source_43 IN DATE
11077 --Deferred Accounting Option
11078 , p_source_44 IN VARCHAR2
11079 --Deferred Accounting Start Date
11080 , p_source_45 IN DATE
11081 --Override Accounted Amount Indicator
11082 , p_source_46 IN VARCHAR2
11083 , p_source_46_meaning IN VARCHAR2
11084 --Invoice Supplier Identifier
11085 , p_source_47 IN NUMBER
11086 --Invoice Supplier Site Identifier
11087 , p_source_48 IN NUMBER
11088 --Third Party Type
11089 , p_source_49 IN VARCHAR2
11090 --Parent Reversal Identifier
11094 --Invoice Distribution Tax Line Identifier
11091 , p_source_50 IN NUMBER
11092 --Invoice Distribution Statistical Amount
11093 , p_source_51 IN NUMBER
11095 , p_source_52 IN NUMBER
11096 --Invoice Distribution Tax Distribution Identifier from Tax
11097 , p_source_53 IN NUMBER
11098 --Invoice Distribution Summary Tax Line Identifier
11099 , p_source_54 IN NUMBER
11100 --Payables Upgrade Credit Encumbrance Type Identifier
11101 , p_source_55 IN NUMBER
11102 --Payables Upgrade Debit Encumbrance Type Identifier
11103 , p_source_56 IN NUMBER
11104 --Invoice Distribution Encumbrance Amount
11105 , p_source_65 IN NUMBER
11106 --Invoice Distribution Encumbrance Ledger Amount
11107 , p_source_66 IN NUMBER
11108 )
11109 IS
11110
11111 l_component_type VARCHAR2(80);
11112 l_component_code VARCHAR2(30);
11113 l_component_type_code VARCHAR2(1);
11114 l_component_appl_id INTEGER;
11115 l_amb_context_code VARCHAR2(30);
11116 l_entity_code VARCHAR2(30);
11117 l_event_class_code VARCHAR2(30);
11118 l_ae_header_id NUMBER;
11119 l_event_type_code VARCHAR2(30);
11120 l_line_definition_code VARCHAR2(30);
11121 l_line_definition_owner_code VARCHAR2(1);
11122 --
11123 -- adr variables
11124 l_segment VARCHAR2(30);
11125 l_ccid NUMBER;
11126 l_adr_transaction_coa_id NUMBER;
11127 l_adr_accounting_coa_id NUMBER;
11128 l_adr_flexfield_segment_code VARCHAR2(30);
11129 l_adr_flex_value_set_id NUMBER;
11130 l_adr_value_type_code VARCHAR2(30);
11131 l_adr_value_combination_id NUMBER;
11132 l_adr_value_segment_code VARCHAR2(30);
11133
11134 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
11135 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
11136 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
11137 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
11138
11139 -- 4262811 Variables ------------------------------------------------------------------------------------------
11140 l_entered_amt_idx NUMBER;
11141 l_accted_amt_idx NUMBER;
11142 l_acc_rev_flag VARCHAR2(1);
11143 l_accrual_line_num NUMBER;
11144 l_tmp_amt NUMBER;
11145 l_acc_rev_natural_side_code VARCHAR2(1);
11146
11147 l_num_entries NUMBER;
11148 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
11149 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
11150 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
11151 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
11152 l_recog_line_1 NUMBER;
11153 l_recog_line_2 NUMBER;
11154
11155 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
11156 l_bflow_applied_to_amt NUMBER; -- 5132302
11157 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
11158
11159 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
11160
11161 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
11162 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
11163
11164 ---------------------------------------------------------------------------------------------------------------
11165
11166
11167 --
11168 -- bulk performance
11169 --
11170 l_balance_type_code VARCHAR2(1);
11171 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
11172 l_log_module VARCHAR2(240);
11173
11174 --
11175 -- Upgrade strategy
11176 --
11177 l_actual_upg_option VARCHAR2(1);
11178 l_enc_upg_option VARCHAR2(1);
11179
11180 --
11181 BEGIN
11182 --
11183 IF g_log_enabled THEN
11184 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_26';
11185 END IF;
11186 --
11187 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
11188
11189 trace
11190 (p_msg => 'BEGIN of AcctLineType_26'
11191 ,p_level => C_LEVEL_PROCEDURE
11192 ,p_module => l_log_module);
11193
11194 END IF;
11195 --
11196 l_component_type := 'AMB_JLT';
11197 l_component_code := 'AP_FREIGHT_EXPENSE_CM_ENC_DR';
11198 l_component_type_code := 'S';
11199 l_component_appl_id := 200;
11200 l_amb_context_code := 'DEFAULT';
11201 l_entity_code := 'AP_INVOICES';
11202 l_event_class_code := 'CREDIT MEMOS';
11203 l_event_type_code := 'CREDIT MEMOS_ALL';
11204 l_line_definition_owner_code := 'S';
11205 l_line_definition_code := 'ENC_CM_ALL';
11206 --
11207 l_balance_type_code := 'E';
11208 l_segment := NULL;
11209 l_ccid := NULL;
11210 l_adr_transaction_coa_id := NULL;
11211 l_adr_accounting_coa_id := NULL;
11212 l_adr_flexfield_segment_code := NULL;
11213 l_adr_flex_value_set_id := NULL;
11214 l_adr_value_type_code := NULL;
11215 l_adr_value_combination_id := NULL;
11216 l_adr_value_segment_code := NULL;
11217
11218 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
11219 l_bflow_class_code := 'AP_INV_ENCUM'; -- 4219869 Business Flow
11220 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
11221 l_budgetary_control_flag := 'Y';
11222
11226 l_accted_amt_idx := NULL; -- 4262811
11223 l_bflow_applied_to_amt_idx := NULL; -- 5132302
11224 l_bflow_applied_to_amt := NULL; -- 5132302
11225 l_entered_amt_idx := NULL; -- 4262811
11227 l_acc_rev_flag := NULL; -- 4262811
11228 l_accrual_line_num := NULL; -- 4262811
11229 l_tmp_amt := NULL; -- 4262811
11230 --
11231
11232 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
11233 l_balance_type_code <> 'B' THEN
11234 IF NVL(p_source_15,'
11235 ') = 'FREIGHT' AND
11236 NVL(p_source_17,'
11237 ') = 'Y'
11238 THEN
11239
11240 --
11241 XLA_AE_LINES_PKG.SetNewLine;
11242
11243 p_balance_type_code := l_balance_type_code;
11244 -- set the flag so later we will know whether the gain loss line needs to be created
11245
11246 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
11247 p_actual_flag :='A';
11248 END IF;
11249
11250 --
11251 -- bulk performance
11252 --
11253 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
11254 p_header_num => 0); -- 4262811
11255 --
11256 -- set accounting line options
11257 --
11258 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
11259 p_natural_side_code => 'D'
11260 , p_gain_or_loss_flag => 'N'
11261 , p_gl_transfer_mode_code => 'S'
11262 , p_acct_entry_type_code => 'E'
11263 , p_switch_side_flag => 'Y'
11264 , p_merge_duplicate_code => 'N'
11265 );
11266 --
11267 l_acc_rev_natural_side_code := 'C'; -- 4262811
11268 --
11269 --
11270 -- set accounting line type info
11271 --
11272 xla_ae_lines_pkg.SetAcctLineType
11273 (p_component_type => l_component_type
11274 ,p_event_type_code => l_event_type_code
11275 ,p_line_definition_owner_code => l_line_definition_owner_code
11276 ,p_line_definition_code => l_line_definition_code
11277 ,p_accounting_line_code => l_component_code
11278 ,p_accounting_line_type_code => l_component_type_code
11279 ,p_accounting_line_appl_id => l_component_appl_id
11280 ,p_amb_context_code => l_amb_context_code
11281 ,p_entity_code => l_entity_code
11282 ,p_event_class_code => l_event_class_code);
11283 --
11284 -- set accounting class
11285 --
11286 xla_ae_lines_pkg.SetAcctClass(
11287 p_accounting_class_code => 'FREIGHT'
11288 , p_ae_header_id => l_ae_header_id
11289 );
11290
11291 --
11292 -- set rounding class
11293 --
11294 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
11295 'FREIGHT';
11296
11297 --
11298 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
11299 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
11300 --
11301 -- bulk performance
11302 --
11303 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
11304
11305 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
11306 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
11307
11308 -- 4955764
11309 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
11310 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
11311
11312 -- 4458381 Public Sector Enh
11313 XLA_AE_LINES_PKG.g_rec_lines.array_encumbrance_type_id(XLA_AE_LINES_PKG.g_LineNumber) := 1060;
11314 --
11315 -- set accounting attributes for the line type
11316 --
11317 l_entered_amt_idx := 23;
11318 l_accted_amt_idx := 28;
11319 l_bflow_applied_to_amt_idx := NULL; -- 5132302
11320 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
11321 l_rec_acct_attrs.array_char_value(1) := p_source_19;
11322 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
11323 l_rec_acct_attrs.array_num_value(2) :=
11324 xla_ae_sources_pkg.GetSystemSourceNum(
11325 p_source_code => 'XLA_EVENT_APPL_ID'
11326 , p_source_type_code => 'Y'
11327 , p_source_application_id => 602
11328 );
11329 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
11330 l_rec_acct_attrs.array_char_value(3) := p_source_21;
11331 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
11332 l_rec_acct_attrs.array_char_value(4) :=
11333 xla_ae_sources_pkg.GetSystemSourceChar(
11334 p_source_code => 'XLA_ENTITY_CODE'
11335 , p_source_type_code => 'Y'
11336 , p_source_application_id => 602
11337 );
11338 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
11339 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_23);
11340 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
11341 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_24);
11342 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
11343 l_rec_acct_attrs.array_num_value(7) := p_source_25;
11347 l_rec_acct_attrs.array_char_value(9) := p_source_27;
11344 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
11345 l_rec_acct_attrs.array_char_value(8) := p_source_26;
11346 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
11348 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
11349 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_28);
11350 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
11351 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_29);
11352 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
11353 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_30);
11354 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
11355 l_rec_acct_attrs.array_char_value(13) := p_source_21;
11356 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
11357 l_rec_acct_attrs.array_num_value(14) := p_source_31;
11358 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
11359 l_rec_acct_attrs.array_num_value(15) := p_source_32;
11360 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
11361 l_rec_acct_attrs.array_char_value(16) := p_source_33;
11362 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
11363 l_rec_acct_attrs.array_num_value(17) := p_source_34;
11364 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
11365 l_rec_acct_attrs.array_num_value(18) := p_source_35;
11366 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
11367 l_rec_acct_attrs.array_num_value(19) := p_source_36;
11368 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
11369 l_rec_acct_attrs.array_char_value(20) := p_source_33;
11370 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
11371 l_rec_acct_attrs.array_num_value(21) := p_source_37;
11372 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
11373 l_rec_acct_attrs.array_char_value(22) := p_source_38;
11374 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
11375 l_rec_acct_attrs.array_num_value(23) := p_source_65;
11376 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
11377 l_rec_acct_attrs.array_char_value(24) := p_source_33;
11378 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
11379 l_rec_acct_attrs.array_date_value(25) := p_source_39;
11380 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
11381 l_rec_acct_attrs.array_num_value(26) := p_source_40;
11382 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
11383 l_rec_acct_attrs.array_char_value(27) := p_source_41;
11384 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
11385 l_rec_acct_attrs.array_num_value(28) := p_source_66;
11386 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
11387 l_rec_acct_attrs.array_date_value(29) := p_source_43;
11388 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
11389 l_rec_acct_attrs.array_char_value(30) := p_source_44;
11390 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
11391 l_rec_acct_attrs.array_date_value(31) := p_source_45;
11392 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
11393 l_rec_acct_attrs.array_char_value(32) := p_source_46;
11394 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
11395 l_rec_acct_attrs.array_num_value(33) := p_source_47;
11396 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
11397 l_rec_acct_attrs.array_num_value(34) := p_source_48;
11398 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
11399 l_rec_acct_attrs.array_char_value(35) := p_source_49;
11400 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
11401 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_50);
11402 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
11403 l_rec_acct_attrs.array_char_value(37) := p_source_21;
11404 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
11405 l_rec_acct_attrs.array_num_value(38) := p_source_51;
11406 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
11407 l_rec_acct_attrs.array_num_value(39) := p_source_52;
11408 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
11409 l_rec_acct_attrs.array_num_value(40) := p_source_53;
11410 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
11411 l_rec_acct_attrs.array_num_value(41) := p_source_54;
11412 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
11413 l_rec_acct_attrs.array_num_value(42) := p_source_55;
11414 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
11415 l_rec_acct_attrs.array_num_value(43) := p_source_56;
11416
11417 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
11418 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
11419
11420 ---------------------------------------------------------------------------------------------------------------
11421 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
11422 ---------------------------------------------------------------------------------------------------------------
11423 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
11424
11425 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
11429 (p_source_code => 'LEDGER_CATEGORY_CODE'
11426 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
11427
11428 IF xla_accounting_cache_pkg.GetValueChar
11430 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
11431 AND l_bflow_method_code = 'PRIOR_ENTRY'
11432 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
11433 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
11434 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
11435 )
11436 THEN
11437 xla_ae_lines_pkg.BflowUpgEntry
11438 (p_business_method_code => l_bflow_method_code
11439 ,p_business_class_code => l_bflow_class_code
11440 ,p_balance_type => l_balance_type_code);
11441 ELSE
11442 NULL;
11443 -- No business flow processing for business flow method of NONE.
11444 END IF;
11445
11446 --
11447 -- call analytical criteria
11448 --
11449
11450 --
11451 -- call description
11452 --
11453
11454 xla_ae_lines_pkg.SetLineDescription(
11455 p_ae_header_id => l_ae_header_id
11456 ,p_description => Description_2 (
11457 p_application_id => p_application_id
11458 , p_ae_header_id => l_ae_header_id
11459 , p_source_1 => p_source_1
11460 )
11461 );
11462
11463
11464 --
11465 -- call ADRs
11466 -- Bug 4922099
11467 --
11468 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
11469 (NVL(l_actual_upg_option, 'N') = 'O') OR
11470 (NVL(l_enc_upg_option, 'N') = 'O')
11471 )
11472 THEN
11473 NULL;
11474 --
11475 --
11476
11477 l_ccid := AcctDerRule_7(
11478 p_application_id => p_application_id
11479 , p_ae_header_id => l_ae_header_id
11480 , p_source_11 => p_source_11
11481 , x_transaction_coa_id => l_adr_transaction_coa_id
11482 , x_accounting_coa_id => l_adr_accounting_coa_id
11483 , x_value_type_code => l_adr_value_type_code
11484 , p_side => 'NA'
11485 );
11486
11487 xla_ae_lines_pkg.set_ccid(
11488 p_code_combination_id => l_ccid
11489 , p_value_type_code => l_adr_value_type_code
11490 , p_transaction_coa_id => l_adr_transaction_coa_id
11491 , p_accounting_coa_id => l_adr_accounting_coa_id
11492 , p_adr_code => 'AP_INVOICE_DIST'
11493 , p_adr_type_code => 'S'
11494 , p_component_type => l_component_type
11495 , p_component_code => l_component_code
11496 , p_component_type_code => l_component_type_code
11497 , p_component_appl_id => l_component_appl_id
11498 , p_amb_context_code => l_amb_context_code
11499 , p_side => 'NA'
11500 );
11501
11502
11503 --
11504 --
11505 END IF;
11506 --
11507 -- Bug 4922099
11508 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
11509 (NVL(l_enc_upg_option, 'N') = 'O')
11510 ) AND
11511 (l_bflow_method_code = 'PRIOR_ENTRY')
11512 )
11513 THEN
11514 IF
11515 --
11516 1 = 2
11517 --
11518 THEN
11519 xla_accounting_err_pkg.build_message
11520 (p_appli_s_name => 'XLA'
11521 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
11522 ,p_token_1 => 'LINE_NUMBER'
11523 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
11524 ,p_token_2 => 'LINE_TYPE_NAME'
11525 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
11526 l_component_type
11527 ,l_component_code
11528 ,l_component_type_code
11529 ,l_component_appl_id
11530 ,l_amb_context_code
11531 ,l_entity_code
11532 ,l_event_class_code
11533 )
11534 ,p_token_3 => 'OWNER'
11535 ,p_value_3 => xla_lookups_pkg.get_meaning(
11536 p_lookup_type => 'XLA_OWNER_TYPE'
11537 ,p_lookup_code => l_component_type_code
11538 )
11539 ,p_token_4 => 'PRODUCT_NAME'
11540 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
11541 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
11545 );
11542 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
11543 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
11544 ,p_ae_header_id => NULL
11546
11547 IF (C_LEVEL_ERROR>= g_log_level) THEN
11548 trace
11549 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
11550 ,p_level => C_LEVEL_ERROR
11551 ,p_module => l_log_module);
11552 END IF;
11553 END IF;
11554 END IF;
11555 --
11556 --
11557 ------------------------------------------------------------------------------------------------
11558 -- 4219869 Business Flow
11559 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
11560 -- Prior Entry. Currently, the following code is always generated.
11561 ------------------------------------------------------------------------------------------------
11562 XLA_AE_LINES_PKG.ValidateCurrentLine;
11563
11564 ------------------------------------------------------------------------------------
11565 -- 4219869 Business Flow
11566 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
11567 ------------------------------------------------------------------------------------
11568 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
11569
11570 ----------------------------------------------------------------------------------
11571 -- 4219869 Business Flow
11572 -- Update journal entry status -- Need to generate this within IF <condition>
11573 ----------------------------------------------------------------------------------
11574 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
11575 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
11576 ,p_balance_type_code => l_balance_type_code
11577 );
11578
11579 -------------------------------------------------------------------------------------------
11580 -- 4262811 - Generate the Accrual Reversal lines
11581 -------------------------------------------------------------------------------------------
11582 BEGIN
11583 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
11584 (g_array_event(p_event_id).array_value_num('header_index'));
11585 IF l_acc_rev_flag IS NULL THEN
11586 l_acc_rev_flag := 'N';
11587 END IF;
11588 EXCEPTION
11589 WHEN OTHERS THEN
11590 l_acc_rev_flag := 'N';
11591 END;
11592 --
11593 IF (l_acc_rev_flag = 'Y') THEN
11594
11595 -- 4645092 ------------------------------------------------------------------------------
11596 -- To allow MPA report to determine if it should generate report process
11597 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
11598 ------------------------------------------------------------------------------------------
11599
11600 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
11601 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
11602 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
11603 -- call ADRs
11604 -- Bug 4922099
11605 --
11606 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
11607 (NVL(l_actual_upg_option, 'N') = 'O') OR
11608 (NVL(l_enc_upg_option, 'N') = 'O')
11609 )
11610 THEN
11611 NULL;
11612 --
11613 --
11614
11615 l_ccid := AcctDerRule_7(
11616 p_application_id => p_application_id
11617 , p_ae_header_id => l_ae_header_id
11618 , p_source_11 => p_source_11
11619 , x_transaction_coa_id => l_adr_transaction_coa_id
11620 , x_accounting_coa_id => l_adr_accounting_coa_id
11621 , x_value_type_code => l_adr_value_type_code
11622 , p_side => 'NA'
11623 );
11624
11625 xla_ae_lines_pkg.set_ccid(
11626 p_code_combination_id => l_ccid
11627 , p_value_type_code => l_adr_value_type_code
11628 , p_transaction_coa_id => l_adr_transaction_coa_id
11629 , p_accounting_coa_id => l_adr_accounting_coa_id
11630 , p_adr_code => 'AP_INVOICE_DIST'
11631 , p_adr_type_code => 'S'
11632 , p_component_type => l_component_type
11633 , p_component_code => l_component_code
11634 , p_component_type_code => l_component_type_code
11635 , p_component_appl_id => l_component_appl_id
11636 , p_amb_context_code => l_amb_context_code
11637 , p_side => 'NA'
11638 );
11639
11640
11641 --
11642 --
11643 END IF;
11644
11645 --
11646 -- Update the line information that should be overwritten
11647 --
11648 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
11649 p_header_num => 1);
11650 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
11651
11652 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
11653
11654 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
11658 --
11655 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
11656 END IF;
11657
11659 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
11660 --
11661 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
11662 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
11663 ELSE
11664 ---------------------------------------------------------------------------------------------------
11665 -- 4262811a Switch Sign
11666 ---------------------------------------------------------------------------------------------------
11667 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
11668 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
11669 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
11670 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
11671 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
11672 -- 5132302
11673 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
11674 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
11675
11676 END IF;
11677
11678 -- 4955764
11679 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
11680 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
11681
11682
11683 XLA_AE_LINES_PKG.ValidateCurrentLine;
11684 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
11685
11686 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
11687 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
11688 ,p_balance_type_code => l_balance_type_code);
11689
11690 END IF;
11691
11692 -----------------------------------------------------------------------------------------
11693 -- 4262811 Multiperiod Accounting
11694 -----------------------------------------------------------------------------------------
11695 -- No MPA option is assigned.
11696
11697
11698 END IF;
11699 END IF;
11700 --
11701
11702 --
11703 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
11704 trace
11705 (p_msg => 'END of AcctLineType_26'
11706 ,p_level => C_LEVEL_PROCEDURE
11707 ,p_module => l_log_module);
11708 END IF;
11709 --
11710 EXCEPTION
11711 WHEN xla_exceptions_pkg.application_exception THEN
11712 RAISE;
11713 WHEN OTHERS THEN
11714 xla_exceptions_pkg.raise_message
11715 (p_location => 'XLA_00200_AAD_S_000006_BC_PKG.AcctLineType_26');
11716 END AcctLineType_26;
11717 --
11718
11719 ---------------------------------------
11720 --
11721 -- PRIVATE FUNCTION
11722 -- AcctLineType_27
11723 --
11724 ---------------------------------------
11725 PROCEDURE AcctLineType_27 (
11726 p_application_id IN NUMBER
11727 ,p_event_id IN NUMBER
11728 ,p_calculate_acctd_flag IN VARCHAR2
11729 ,p_calculate_g_l_flag IN VARCHAR2
11730 ,p_actual_flag IN OUT VARCHAR2
11731 ,p_balance_type_code OUT VARCHAR2
11732 ,p_gain_or_loss_ref OUT VARCHAR2
11733
11734 --Invoice Distribution Description
11735 , p_source_1 IN VARCHAR2
11736 --Invoice Distribution Account
11737 , p_source_11 IN NUMBER
11738 --Invoice Distribution Type
11739 , p_source_15 IN VARCHAR2
11740 , p_source_15_meaning IN VARCHAR2
11741 --Purchasing Encumbrance Option
11742 , p_source_17 IN VARCHAR2
11743 , p_source_17_meaning IN VARCHAR2
11744 --Accounting Reversal Indicator
11745 , p_source_19 IN VARCHAR2
11746 --Distribution Link Type
11747 , p_source_21 IN VARCHAR2
11748 --Allocation to Main Distribution Identifier
11749 , p_source_23 IN NUMBER
11750 --Invoice Identifier
11751 , p_source_24 IN NUMBER
11752 --Business Flow Accounts Payable Application Identifier
11753 , p_source_25 IN NUMBER
11754 --Business Flow Invoice Distribution Type
11755 , p_source_26 IN VARCHAR2
11756 --Business Flow Invoice Entity Code
11757 , p_source_27 IN VARCHAR2
11758 --Business Flow Invoice Distribution Identifier
11759 , p_source_28 IN NUMBER
11760 --Business Flow Invoice Identifier
11761 , p_source_29 IN NUMBER
11762 --Invoice Distribution Identifier
11763 , p_source_30 IN NUMBER
11764 --Payables Encumbrance Upgrade Credit Account
11765 , p_source_31 IN NUMBER
11766 --Payables Encumbrance Upgrade Credit Amount
11767 , p_source_32 IN NUMBER
11768 --Invoice Currency Code
11769 , p_source_33 IN VARCHAR2
11770 --Payables Encumbrance Upgrade Credit Base Amount
11771 , p_source_34 IN NUMBER
11772 --Payables Encumbrance Upgrade Debit Account
11773 , p_source_35 IN NUMBER
11774 --Payables Encumbrance Upgrade Debit Amount
11775 , p_source_36 IN NUMBER
11776 --Payables Encumbrance Upgrade Debit Base Amount
11780 --Invoice Exchange Date
11777 , p_source_37 IN NUMBER
11778 --Payables Encumbrance Upgrade Option
11779 , p_source_38 IN VARCHAR2
11781 , p_source_39 IN DATE
11782 --Invoice Exchange Rate
11783 , p_source_40 IN NUMBER
11784 --Invoice Exchange Rate Type
11785 , p_source_41 IN VARCHAR2
11786 --Deferred Accounting End Date
11787 , p_source_43 IN DATE
11788 --Deferred Accounting Option
11789 , p_source_44 IN VARCHAR2
11790 --Deferred Accounting Start Date
11791 , p_source_45 IN DATE
11792 --Override Accounted Amount Indicator
11793 , p_source_46 IN VARCHAR2
11794 , p_source_46_meaning IN VARCHAR2
11795 --Invoice Supplier Identifier
11796 , p_source_47 IN NUMBER
11797 --Invoice Supplier Site Identifier
11798 , p_source_48 IN NUMBER
11799 --Third Party Type
11800 , p_source_49 IN VARCHAR2
11801 --Parent Reversal Identifier
11802 , p_source_50 IN NUMBER
11803 --Invoice Distribution Tax Line Identifier
11804 , p_source_52 IN NUMBER
11805 --Invoice Distribution Tax Distribution Identifier from Tax
11806 , p_source_53 IN NUMBER
11807 --Invoice Distribution Summary Tax Line Identifier
11808 , p_source_54 IN NUMBER
11809 --Payables Upgrade Credit Encumbrance Type Identifier
11810 , p_source_55 IN NUMBER
11811 --Payables Upgrade Debit Encumbrance Type Identifier
11812 , p_source_56 IN NUMBER
11813 --Invoice Distribution Encumbrance Amount
11814 , p_source_65 IN NUMBER
11815 --Invoice Distribution Encumbrance Ledger Amount
11816 , p_source_66 IN NUMBER
11817 )
11818 IS
11819
11820 l_component_type VARCHAR2(80);
11821 l_component_code VARCHAR2(30);
11822 l_component_type_code VARCHAR2(1);
11823 l_component_appl_id INTEGER;
11824 l_amb_context_code VARCHAR2(30);
11825 l_entity_code VARCHAR2(30);
11826 l_event_class_code VARCHAR2(30);
11827 l_ae_header_id NUMBER;
11828 l_event_type_code VARCHAR2(30);
11829 l_line_definition_code VARCHAR2(30);
11830 l_line_definition_owner_code VARCHAR2(1);
11831 --
11832 -- adr variables
11833 l_segment VARCHAR2(30);
11834 l_ccid NUMBER;
11835 l_adr_transaction_coa_id NUMBER;
11836 l_adr_accounting_coa_id NUMBER;
11837 l_adr_flexfield_segment_code VARCHAR2(30);
11838 l_adr_flex_value_set_id NUMBER;
11839 l_adr_value_type_code VARCHAR2(30);
11840 l_adr_value_combination_id NUMBER;
11841 l_adr_value_segment_code VARCHAR2(30);
11842
11843 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
11844 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
11845 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
11846 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
11847
11848 -- 4262811 Variables ------------------------------------------------------------------------------------------
11849 l_entered_amt_idx NUMBER;
11850 l_accted_amt_idx NUMBER;
11851 l_acc_rev_flag VARCHAR2(1);
11852 l_accrual_line_num NUMBER;
11853 l_tmp_amt NUMBER;
11854 l_acc_rev_natural_side_code VARCHAR2(1);
11855
11856 l_num_entries NUMBER;
11857 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
11858 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
11859 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
11860 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
11861 l_recog_line_1 NUMBER;
11862 l_recog_line_2 NUMBER;
11863
11864 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
11865 l_bflow_applied_to_amt NUMBER; -- 5132302
11866 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
11867
11868 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
11869
11870 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
11871 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
11872
11873 ---------------------------------------------------------------------------------------------------------------
11874
11875
11876 --
11877 -- bulk performance
11878 --
11879 l_balance_type_code VARCHAR2(1);
11880 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
11881 l_log_module VARCHAR2(240);
11882
11883 --
11884 -- Upgrade strategy
11885 --
11886 l_actual_upg_option VARCHAR2(1);
11887 l_enc_upg_option VARCHAR2(1);
11888
11889 --
11890 BEGIN
11891 --
11892 IF g_log_enabled THEN
11893 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_27';
11894 END IF;
11895 --
11896 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
11897
11898 trace
11899 (p_msg => 'BEGIN of AcctLineType_27'
11900 ,p_level => C_LEVEL_PROCEDURE
11901 ,p_module => l_log_module);
11902
11903 END IF;
11904 --
11905 l_component_type := 'AMB_JLT';
11909 l_amb_context_code := 'DEFAULT';
11906 l_component_code := 'AP_FREIGHT_EXPENSE_DM_ENC_DR';
11907 l_component_type_code := 'S';
11908 l_component_appl_id := 200;
11910 l_entity_code := 'AP_INVOICES';
11911 l_event_class_code := 'DEBIT MEMOS';
11912 l_event_type_code := 'DEBIT MEMOS_ALL';
11913 l_line_definition_owner_code := 'S';
11914 l_line_definition_code := 'ENC_DM_ALL';
11915 --
11916 l_balance_type_code := 'E';
11917 l_segment := NULL;
11918 l_ccid := NULL;
11919 l_adr_transaction_coa_id := NULL;
11920 l_adr_accounting_coa_id := NULL;
11921 l_adr_flexfield_segment_code := NULL;
11922 l_adr_flex_value_set_id := NULL;
11923 l_adr_value_type_code := NULL;
11924 l_adr_value_combination_id := NULL;
11925 l_adr_value_segment_code := NULL;
11926
11927 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
11928 l_bflow_class_code := 'AP_INV_ENCUM'; -- 4219869 Business Flow
11929 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
11930 l_budgetary_control_flag := 'Y';
11931
11932 l_bflow_applied_to_amt_idx := NULL; -- 5132302
11933 l_bflow_applied_to_amt := NULL; -- 5132302
11934 l_entered_amt_idx := NULL; -- 4262811
11935 l_accted_amt_idx := NULL; -- 4262811
11936 l_acc_rev_flag := NULL; -- 4262811
11937 l_accrual_line_num := NULL; -- 4262811
11938 l_tmp_amt := NULL; -- 4262811
11939 --
11940
11941 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
11942 l_balance_type_code <> 'B' THEN
11943 IF NVL(p_source_15,'
11944 ') = 'FREIGHT' AND
11945 NVL(p_source_17,'
11946 ') = 'Y'
11947 THEN
11948
11949 --
11950 XLA_AE_LINES_PKG.SetNewLine;
11951
11952 p_balance_type_code := l_balance_type_code;
11953 -- set the flag so later we will know whether the gain loss line needs to be created
11954
11955 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
11956 p_actual_flag :='A';
11957 END IF;
11958
11959 --
11960 -- bulk performance
11961 --
11962 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
11963 p_header_num => 0); -- 4262811
11964 --
11965 -- set accounting line options
11966 --
11967 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
11968 p_natural_side_code => 'D'
11969 , p_gain_or_loss_flag => 'N'
11970 , p_gl_transfer_mode_code => 'S'
11971 , p_acct_entry_type_code => 'E'
11972 , p_switch_side_flag => 'Y'
11973 , p_merge_duplicate_code => 'N'
11974 );
11975 --
11976 l_acc_rev_natural_side_code := 'C'; -- 4262811
11977 --
11978 --
11979 -- set accounting line type info
11980 --
11981 xla_ae_lines_pkg.SetAcctLineType
11982 (p_component_type => l_component_type
11983 ,p_event_type_code => l_event_type_code
11984 ,p_line_definition_owner_code => l_line_definition_owner_code
11985 ,p_line_definition_code => l_line_definition_code
11986 ,p_accounting_line_code => l_component_code
11987 ,p_accounting_line_type_code => l_component_type_code
11988 ,p_accounting_line_appl_id => l_component_appl_id
11989 ,p_amb_context_code => l_amb_context_code
11990 ,p_entity_code => l_entity_code
11991 ,p_event_class_code => l_event_class_code);
11992 --
11993 -- set accounting class
11994 --
11995 xla_ae_lines_pkg.SetAcctClass(
11996 p_accounting_class_code => 'FREIGHT'
11997 , p_ae_header_id => l_ae_header_id
11998 );
11999
12000 --
12001 -- set rounding class
12002 --
12003 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
12004 'FREIGHT';
12005
12006 --
12007 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
12008 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
12009 --
12010 -- bulk performance
12011 --
12012 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
12013
12014 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
12015 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
12016
12017 -- 4955764
12018 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
12019 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
12020
12021 -- 4458381 Public Sector Enh
12022 XLA_AE_LINES_PKG.g_rec_lines.array_encumbrance_type_id(XLA_AE_LINES_PKG.g_LineNumber) := 1060;
12023 --
12024 -- set accounting attributes for the line type
12025 --
12026 l_entered_amt_idx := 23;
12027 l_accted_amt_idx := 28;
12028 l_bflow_applied_to_amt_idx := NULL; -- 5132302
12032 l_rec_acct_attrs.array_num_value(2) :=
12029 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
12030 l_rec_acct_attrs.array_char_value(1) := p_source_19;
12031 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
12033 xla_ae_sources_pkg.GetSystemSourceNum(
12034 p_source_code => 'XLA_EVENT_APPL_ID'
12035 , p_source_type_code => 'Y'
12036 , p_source_application_id => 602
12037 );
12038 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
12039 l_rec_acct_attrs.array_char_value(3) := p_source_21;
12040 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
12041 l_rec_acct_attrs.array_char_value(4) :=
12042 xla_ae_sources_pkg.GetSystemSourceChar(
12043 p_source_code => 'XLA_ENTITY_CODE'
12044 , p_source_type_code => 'Y'
12045 , p_source_application_id => 602
12046 );
12047 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
12048 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_23);
12049 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
12050 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_24);
12051 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
12052 l_rec_acct_attrs.array_num_value(7) := p_source_25;
12053 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
12054 l_rec_acct_attrs.array_char_value(8) := p_source_26;
12055 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
12056 l_rec_acct_attrs.array_char_value(9) := p_source_27;
12057 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
12058 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_28);
12059 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
12060 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_29);
12061 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
12062 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_30);
12063 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
12064 l_rec_acct_attrs.array_char_value(13) := p_source_21;
12065 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
12066 l_rec_acct_attrs.array_num_value(14) := p_source_31;
12067 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
12068 l_rec_acct_attrs.array_num_value(15) := p_source_32;
12069 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
12070 l_rec_acct_attrs.array_char_value(16) := p_source_33;
12071 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
12072 l_rec_acct_attrs.array_num_value(17) := p_source_34;
12073 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
12074 l_rec_acct_attrs.array_num_value(18) := p_source_35;
12075 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
12076 l_rec_acct_attrs.array_num_value(19) := p_source_36;
12077 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
12078 l_rec_acct_attrs.array_char_value(20) := p_source_33;
12079 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
12080 l_rec_acct_attrs.array_num_value(21) := p_source_37;
12081 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
12082 l_rec_acct_attrs.array_char_value(22) := p_source_38;
12083 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
12084 l_rec_acct_attrs.array_num_value(23) := p_source_65;
12085 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
12086 l_rec_acct_attrs.array_char_value(24) := p_source_33;
12087 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
12088 l_rec_acct_attrs.array_date_value(25) := p_source_39;
12089 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
12090 l_rec_acct_attrs.array_num_value(26) := p_source_40;
12091 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
12092 l_rec_acct_attrs.array_char_value(27) := p_source_41;
12093 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
12094 l_rec_acct_attrs.array_num_value(28) := p_source_66;
12095 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
12096 l_rec_acct_attrs.array_date_value(29) := p_source_43;
12097 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
12098 l_rec_acct_attrs.array_char_value(30) := p_source_44;
12099 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
12100 l_rec_acct_attrs.array_date_value(31) := p_source_45;
12101 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
12102 l_rec_acct_attrs.array_char_value(32) := p_source_46;
12103 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
12104 l_rec_acct_attrs.array_num_value(33) := p_source_47;
12105 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
12106 l_rec_acct_attrs.array_num_value(34) := p_source_48;
12107 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
12108 l_rec_acct_attrs.array_char_value(35) := p_source_49;
12109 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
12110 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_50);
12111 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
12112 l_rec_acct_attrs.array_char_value(37) := p_source_21;
12113 l_rec_acct_attrs.array_acct_attr_code(38) := 'TAX_LINE_REF_ID';
12114 l_rec_acct_attrs.array_num_value(38) := p_source_52;
12115 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_REC_NREC_DIST_REF_ID';
12119 l_rec_acct_attrs.array_acct_attr_code(41) := 'UPG_CR_ENC_TYPE_ID';
12116 l_rec_acct_attrs.array_num_value(39) := p_source_53;
12117 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_SUMMARY_LINE_REF_ID';
12118 l_rec_acct_attrs.array_num_value(40) := p_source_54;
12120 l_rec_acct_attrs.array_num_value(41) := p_source_55;
12121 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_DR_ENC_TYPE_ID';
12122 l_rec_acct_attrs.array_num_value(42) := p_source_56;
12123
12124 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
12125 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
12126
12127 ---------------------------------------------------------------------------------------------------------------
12128 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
12129 ---------------------------------------------------------------------------------------------------------------
12130 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
12131
12132 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
12133 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
12134
12135 IF xla_accounting_cache_pkg.GetValueChar
12136 (p_source_code => 'LEDGER_CATEGORY_CODE'
12137 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
12138 AND l_bflow_method_code = 'PRIOR_ENTRY'
12139 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
12140 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
12141 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
12142 )
12143 THEN
12144 xla_ae_lines_pkg.BflowUpgEntry
12145 (p_business_method_code => l_bflow_method_code
12146 ,p_business_class_code => l_bflow_class_code
12147 ,p_balance_type => l_balance_type_code);
12148 ELSE
12149 NULL;
12150 -- No business flow processing for business flow method of NONE.
12151 END IF;
12152
12153 --
12154 -- call analytical criteria
12155 --
12156
12157 --
12158 -- call description
12159 --
12160
12161 xla_ae_lines_pkg.SetLineDescription(
12162 p_ae_header_id => l_ae_header_id
12163 ,p_description => Description_2 (
12164 p_application_id => p_application_id
12165 , p_ae_header_id => l_ae_header_id
12166 , p_source_1 => p_source_1
12167 )
12168 );
12169
12170
12171 --
12172 -- call ADRs
12173 -- Bug 4922099
12174 --
12175 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
12176 (NVL(l_actual_upg_option, 'N') = 'O') OR
12177 (NVL(l_enc_upg_option, 'N') = 'O')
12178 )
12179 THEN
12180 NULL;
12181 --
12182 --
12183
12184 l_ccid := AcctDerRule_7(
12185 p_application_id => p_application_id
12186 , p_ae_header_id => l_ae_header_id
12187 , p_source_11 => p_source_11
12188 , x_transaction_coa_id => l_adr_transaction_coa_id
12189 , x_accounting_coa_id => l_adr_accounting_coa_id
12190 , x_value_type_code => l_adr_value_type_code
12191 , p_side => 'NA'
12192 );
12193
12194 xla_ae_lines_pkg.set_ccid(
12195 p_code_combination_id => l_ccid
12196 , p_value_type_code => l_adr_value_type_code
12197 , p_transaction_coa_id => l_adr_transaction_coa_id
12198 , p_accounting_coa_id => l_adr_accounting_coa_id
12199 , p_adr_code => 'AP_INVOICE_DIST'
12200 , p_adr_type_code => 'S'
12201 , p_component_type => l_component_type
12202 , p_component_code => l_component_code
12203 , p_component_type_code => l_component_type_code
12204 , p_component_appl_id => l_component_appl_id
12205 , p_amb_context_code => l_amb_context_code
12206 , p_side => 'NA'
12207 );
12208
12209
12210 --
12211 --
12212 END IF;
12213 --
12214 -- Bug 4922099
12215 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
12216 (NVL(l_enc_upg_option, 'N') = 'O')
12217 ) AND
12218 (l_bflow_method_code = 'PRIOR_ENTRY')
12219 )
12220 THEN
12221 IF
12222 --
12223 1 = 2
12224 --
12225 THEN
12226 xla_accounting_err_pkg.build_message
12227 (p_appli_s_name => 'XLA'
12228 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
12229 ,p_token_1 => 'LINE_NUMBER'
12230 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
12231 ,p_token_2 => 'LINE_TYPE_NAME'
12232 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
12233 l_component_type
12234 ,l_component_code
12235 ,l_component_type_code
12239 ,l_event_class_code
12236 ,l_component_appl_id
12237 ,l_amb_context_code
12238 ,l_entity_code
12240 )
12241 ,p_token_3 => 'OWNER'
12242 ,p_value_3 => xla_lookups_pkg.get_meaning(
12243 p_lookup_type => 'XLA_OWNER_TYPE'
12244 ,p_lookup_code => l_component_type_code
12245 )
12246 ,p_token_4 => 'PRODUCT_NAME'
12247 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
12248 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
12249 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
12250 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
12251 ,p_ae_header_id => NULL
12252 );
12253
12254 IF (C_LEVEL_ERROR>= g_log_level) THEN
12255 trace
12256 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
12257 ,p_level => C_LEVEL_ERROR
12258 ,p_module => l_log_module);
12259 END IF;
12260 END IF;
12261 END IF;
12262 --
12263 --
12264 ------------------------------------------------------------------------------------------------
12265 -- 4219869 Business Flow
12266 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
12267 -- Prior Entry. Currently, the following code is always generated.
12268 ------------------------------------------------------------------------------------------------
12269 XLA_AE_LINES_PKG.ValidateCurrentLine;
12270
12271 ------------------------------------------------------------------------------------
12272 -- 4219869 Business Flow
12273 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
12274 ------------------------------------------------------------------------------------
12275 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
12276
12277 ----------------------------------------------------------------------------------
12278 -- 4219869 Business Flow
12279 -- Update journal entry status -- Need to generate this within IF <condition>
12280 ----------------------------------------------------------------------------------
12281 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
12282 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
12283 ,p_balance_type_code => l_balance_type_code
12284 );
12285
12286 -------------------------------------------------------------------------------------------
12287 -- 4262811 - Generate the Accrual Reversal lines
12288 -------------------------------------------------------------------------------------------
12289 BEGIN
12290 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
12291 (g_array_event(p_event_id).array_value_num('header_index'));
12292 IF l_acc_rev_flag IS NULL THEN
12293 l_acc_rev_flag := 'N';
12294 END IF;
12295 EXCEPTION
12296 WHEN OTHERS THEN
12297 l_acc_rev_flag := 'N';
12298 END;
12299 --
12300 IF (l_acc_rev_flag = 'Y') THEN
12301
12302 -- 4645092 ------------------------------------------------------------------------------
12303 -- To allow MPA report to determine if it should generate report process
12304 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
12305 ------------------------------------------------------------------------------------------
12306
12307 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
12308 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
12309 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
12310 -- call ADRs
12311 -- Bug 4922099
12312 --
12313 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
12314 (NVL(l_actual_upg_option, 'N') = 'O') OR
12315 (NVL(l_enc_upg_option, 'N') = 'O')
12316 )
12317 THEN
12318 NULL;
12319 --
12320 --
12321
12322 l_ccid := AcctDerRule_7(
12323 p_application_id => p_application_id
12324 , p_ae_header_id => l_ae_header_id
12325 , p_source_11 => p_source_11
12326 , x_transaction_coa_id => l_adr_transaction_coa_id
12327 , x_accounting_coa_id => l_adr_accounting_coa_id
12328 , x_value_type_code => l_adr_value_type_code
12329 , p_side => 'NA'
12330 );
12331
12332 xla_ae_lines_pkg.set_ccid(
12333 p_code_combination_id => l_ccid
12334 , p_value_type_code => l_adr_value_type_code
12338 , p_adr_type_code => 'S'
12335 , p_transaction_coa_id => l_adr_transaction_coa_id
12336 , p_accounting_coa_id => l_adr_accounting_coa_id
12337 , p_adr_code => 'AP_INVOICE_DIST'
12339 , p_component_type => l_component_type
12340 , p_component_code => l_component_code
12341 , p_component_type_code => l_component_type_code
12342 , p_component_appl_id => l_component_appl_id
12343 , p_amb_context_code => l_amb_context_code
12344 , p_side => 'NA'
12345 );
12346
12347
12348 --
12349 --
12350 END IF;
12351
12352 --
12353 -- Update the line information that should be overwritten
12354 --
12355 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
12356 p_header_num => 1);
12357 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
12358
12359 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
12360
12361 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
12362 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
12363 END IF;
12364
12365 --
12366 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
12367 --
12368 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
12369 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
12370 ELSE
12371 ---------------------------------------------------------------------------------------------------
12372 -- 4262811a Switch Sign
12373 ---------------------------------------------------------------------------------------------------
12374 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
12375 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
12376 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
12377 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
12378 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
12379 -- 5132302
12380 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
12381 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
12382
12383 END IF;
12384
12385 -- 4955764
12386 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
12387 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
12388
12389
12390 XLA_AE_LINES_PKG.ValidateCurrentLine;
12391 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
12392
12393 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
12394 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
12395 ,p_balance_type_code => l_balance_type_code);
12396
12397 END IF;
12398
12399 -----------------------------------------------------------------------------------------
12400 -- 4262811 Multiperiod Accounting
12401 -----------------------------------------------------------------------------------------
12402 -- No MPA option is assigned.
12403
12404
12405 END IF;
12406 END IF;
12407 --
12408
12409 --
12410 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
12411 trace
12412 (p_msg => 'END of AcctLineType_27'
12413 ,p_level => C_LEVEL_PROCEDURE
12414 ,p_module => l_log_module);
12415 END IF;
12416 --
12417 EXCEPTION
12418 WHEN xla_exceptions_pkg.application_exception THEN
12419 RAISE;
12420 WHEN OTHERS THEN
12421 xla_exceptions_pkg.raise_message
12422 (p_location => 'XLA_00200_AAD_S_000006_BC_PKG.AcctLineType_27');
12423 END AcctLineType_27;
12424 --
12425
12426 ---------------------------------------
12427 --
12428 -- PRIVATE FUNCTION
12429 -- AcctLineType_28
12430 --
12431 ---------------------------------------
12432 PROCEDURE AcctLineType_28 (
12433 p_application_id IN NUMBER
12434 ,p_event_id IN NUMBER
12435 ,p_calculate_acctd_flag IN VARCHAR2
12436 ,p_calculate_g_l_flag IN VARCHAR2
12437 ,p_actual_flag IN OUT VARCHAR2
12438 ,p_balance_type_code OUT VARCHAR2
12439 ,p_gain_or_loss_ref OUT VARCHAR2
12440
12441 --Invoice Distribution Description
12442 , p_source_1 IN VARCHAR2
12443 --Invoice Distribution Account
12444 , p_source_11 IN NUMBER
12445 --Invoice Distribution Type
12446 , p_source_15 IN VARCHAR2
12447 , p_source_15_meaning IN VARCHAR2
12448 --Purchasing Encumbrance Option
12449 , p_source_17 IN VARCHAR2
12450 , p_source_17_meaning IN VARCHAR2
12451 --Accounting Reversal Indicator
12452 , p_source_19 IN VARCHAR2
12453 --Distribution Link Type
12454 , p_source_21 IN VARCHAR2
12455 --Allocation to Main Distribution Identifier
12456 , p_source_23 IN NUMBER
12460 , p_source_25 IN NUMBER
12457 --Invoice Identifier
12458 , p_source_24 IN NUMBER
12459 --Business Flow Accounts Payable Application Identifier
12461 --Business Flow Invoice Distribution Type
12462 , p_source_26 IN VARCHAR2
12463 --Business Flow Invoice Entity Code
12464 , p_source_27 IN VARCHAR2
12465 --Business Flow Invoice Distribution Identifier
12466 , p_source_28 IN NUMBER
12467 --Business Flow Invoice Identifier
12468 , p_source_29 IN NUMBER
12469 --Invoice Distribution Identifier
12470 , p_source_30 IN NUMBER
12471 --Payables Encumbrance Upgrade Credit Account
12472 , p_source_31 IN NUMBER
12473 --Payables Encumbrance Upgrade Credit Amount
12474 , p_source_32 IN NUMBER
12475 --Invoice Currency Code
12476 , p_source_33 IN VARCHAR2
12477 --Payables Encumbrance Upgrade Credit Base Amount
12478 , p_source_34 IN NUMBER
12479 --Payables Encumbrance Upgrade Debit Account
12480 , p_source_35 IN NUMBER
12481 --Payables Encumbrance Upgrade Debit Amount
12482 , p_source_36 IN NUMBER
12483 --Payables Encumbrance Upgrade Debit Base Amount
12484 , p_source_37 IN NUMBER
12485 --Payables Encumbrance Upgrade Option
12486 , p_source_38 IN VARCHAR2
12487 --Invoice Exchange Date
12488 , p_source_39 IN DATE
12489 --Invoice Exchange Rate
12490 , p_source_40 IN NUMBER
12491 --Invoice Exchange Rate Type
12492 , p_source_41 IN VARCHAR2
12493 --Deferred Accounting End Date
12494 , p_source_43 IN DATE
12495 --Deferred Accounting Option
12496 , p_source_44 IN VARCHAR2
12497 --Deferred Accounting Start Date
12498 , p_source_45 IN DATE
12499 --Override Accounted Amount Indicator
12500 , p_source_46 IN VARCHAR2
12501 , p_source_46_meaning IN VARCHAR2
12502 --Invoice Supplier Identifier
12503 , p_source_47 IN NUMBER
12504 --Invoice Supplier Site Identifier
12505 , p_source_48 IN NUMBER
12506 --Third Party Type
12507 , p_source_49 IN VARCHAR2
12508 --Parent Reversal Identifier
12509 , p_source_50 IN NUMBER
12510 --Invoice Distribution Statistical Amount
12511 , p_source_51 IN NUMBER
12512 --Invoice Distribution Tax Line Identifier
12513 , p_source_52 IN NUMBER
12514 --Invoice Distribution Tax Distribution Identifier from Tax
12515 , p_source_53 IN NUMBER
12516 --Invoice Distribution Summary Tax Line Identifier
12517 , p_source_54 IN NUMBER
12518 --Payables Upgrade Credit Encumbrance Type Identifier
12519 , p_source_55 IN NUMBER
12520 --Payables Upgrade Debit Encumbrance Type Identifier
12521 , p_source_56 IN NUMBER
12522 --Invoice Distribution Amount
12523 , p_source_57 IN NUMBER
12524 --Invoice Distribution Encumbrance Amount
12525 , p_source_65 IN NUMBER
12526 --Invoice Distribution Encumbrance Ledger Amount
12527 , p_source_66 IN NUMBER
12528 )
12529 IS
12530
12531 l_component_type VARCHAR2(80);
12532 l_component_code VARCHAR2(30);
12533 l_component_type_code VARCHAR2(1);
12534 l_component_appl_id INTEGER;
12535 l_amb_context_code VARCHAR2(30);
12536 l_entity_code VARCHAR2(30);
12537 l_event_class_code VARCHAR2(30);
12538 l_ae_header_id NUMBER;
12539 l_event_type_code VARCHAR2(30);
12540 l_line_definition_code VARCHAR2(30);
12541 l_line_definition_owner_code VARCHAR2(1);
12542 --
12543 -- adr variables
12544 l_segment VARCHAR2(30);
12545 l_ccid NUMBER;
12546 l_adr_transaction_coa_id NUMBER;
12547 l_adr_accounting_coa_id NUMBER;
12548 l_adr_flexfield_segment_code VARCHAR2(30);
12549 l_adr_flex_value_set_id NUMBER;
12550 l_adr_value_type_code VARCHAR2(30);
12551 l_adr_value_combination_id NUMBER;
12552 l_adr_value_segment_code VARCHAR2(30);
12553
12554 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
12555 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
12556 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
12557 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
12558
12559 -- 4262811 Variables ------------------------------------------------------------------------------------------
12560 l_entered_amt_idx NUMBER;
12561 l_accted_amt_idx NUMBER;
12562 l_acc_rev_flag VARCHAR2(1);
12563 l_accrual_line_num NUMBER;
12564 l_tmp_amt NUMBER;
12565 l_acc_rev_natural_side_code VARCHAR2(1);
12566
12567 l_num_entries NUMBER;
12568 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
12569 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
12570 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
12571 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
12572 l_recog_line_1 NUMBER;
12573 l_recog_line_2 NUMBER;
12574
12575 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
12576 l_bflow_applied_to_amt NUMBER; -- 5132302
12577 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
12578
12582 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
12579 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
12580
12581 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
12583
12584 ---------------------------------------------------------------------------------------------------------------
12585
12586
12587 --
12588 -- bulk performance
12589 --
12590 l_balance_type_code VARCHAR2(1);
12591 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
12592 l_log_module VARCHAR2(240);
12593
12594 --
12595 -- Upgrade strategy
12596 --
12597 l_actual_upg_option VARCHAR2(1);
12598 l_enc_upg_option VARCHAR2(1);
12599
12600 --
12601 BEGIN
12602 --
12603 IF g_log_enabled THEN
12604 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_28';
12605 END IF;
12606 --
12607 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
12608
12609 trace
12610 (p_msg => 'BEGIN of AcctLineType_28'
12611 ,p_level => C_LEVEL_PROCEDURE
12612 ,p_module => l_log_module);
12613
12614 END IF;
12615 --
12616 l_component_type := 'AMB_JLT';
12617 l_component_code := 'AP_FREIGHT_EXPENSE_INV_ENC_DR';
12618 l_component_type_code := 'S';
12619 l_component_appl_id := 200;
12620 l_amb_context_code := 'DEFAULT';
12621 l_entity_code := 'AP_INVOICES';
12622 l_event_class_code := 'INVOICES';
12623 l_event_type_code := 'INVOICES_ALL';
12624 l_line_definition_owner_code := 'S';
12625 l_line_definition_code := 'ENC_INVOICES_ALL';
12626 --
12627 l_balance_type_code := 'E';
12628 l_segment := NULL;
12629 l_ccid := NULL;
12630 l_adr_transaction_coa_id := NULL;
12631 l_adr_accounting_coa_id := NULL;
12632 l_adr_flexfield_segment_code := NULL;
12633 l_adr_flex_value_set_id := NULL;
12634 l_adr_value_type_code := NULL;
12635 l_adr_value_combination_id := NULL;
12636 l_adr_value_segment_code := NULL;
12637
12638 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
12639 l_bflow_class_code := 'AP_INV_ENCUM'; -- 4219869 Business Flow
12640 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
12641 l_budgetary_control_flag := 'Y';
12642
12643 l_bflow_applied_to_amt_idx := NULL; -- 5132302
12644 l_bflow_applied_to_amt := NULL; -- 5132302
12645 l_entered_amt_idx := NULL; -- 4262811
12646 l_accted_amt_idx := NULL; -- 4262811
12647 l_acc_rev_flag := NULL; -- 4262811
12648 l_accrual_line_num := NULL; -- 4262811
12649 l_tmp_amt := NULL; -- 4262811
12650 --
12651
12652 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
12653 l_balance_type_code <> 'B' THEN
12654 IF NVL(p_source_15,'
12655 ') = 'FREIGHT' AND
12656 NVL(p_source_17,'
12657 ') = 'Y'
12658 THEN
12659
12660 --
12661 XLA_AE_LINES_PKG.SetNewLine;
12662
12663 p_balance_type_code := l_balance_type_code;
12664 -- set the flag so later we will know whether the gain loss line needs to be created
12665
12666 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
12667 p_actual_flag :='A';
12668 END IF;
12669
12670 --
12671 -- bulk performance
12672 --
12673 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
12674 p_header_num => 0); -- 4262811
12675 --
12676 -- set accounting line options
12677 --
12678 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
12679 p_natural_side_code => 'D'
12680 , p_gain_or_loss_flag => 'N'
12681 , p_gl_transfer_mode_code => 'S'
12682 , p_acct_entry_type_code => 'E'
12683 , p_switch_side_flag => 'Y'
12684 , p_merge_duplicate_code => 'N'
12685 );
12686 --
12687 l_acc_rev_natural_side_code := 'C'; -- 4262811
12688 --
12689 --
12690 -- set accounting line type info
12691 --
12692 xla_ae_lines_pkg.SetAcctLineType
12693 (p_component_type => l_component_type
12694 ,p_event_type_code => l_event_type_code
12695 ,p_line_definition_owner_code => l_line_definition_owner_code
12696 ,p_line_definition_code => l_line_definition_code
12697 ,p_accounting_line_code => l_component_code
12698 ,p_accounting_line_type_code => l_component_type_code
12699 ,p_accounting_line_appl_id => l_component_appl_id
12700 ,p_amb_context_code => l_amb_context_code
12701 ,p_entity_code => l_entity_code
12702 ,p_event_class_code => l_event_class_code);
12703 --
12704 -- set accounting class
12705 --
12706 xla_ae_lines_pkg.SetAcctClass(
12707 p_accounting_class_code => 'FREIGHT'
12708 , p_ae_header_id => l_ae_header_id
12709 );
12710
12711 --
12712 -- set rounding class
12713 --
12714 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
12718 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
12715 'FREIGHT';
12716
12717 --
12719 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
12720 --
12721 -- bulk performance
12722 --
12723 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
12724
12725 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
12726 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
12727
12728 -- 4955764
12729 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
12730 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
12731
12732 -- 4458381 Public Sector Enh
12733 XLA_AE_LINES_PKG.g_rec_lines.array_encumbrance_type_id(XLA_AE_LINES_PKG.g_LineNumber) := 1060;
12734 --
12735 -- set accounting attributes for the line type
12736 --
12737 l_entered_amt_idx := 24;
12738 l_accted_amt_idx := 29;
12739 l_bflow_applied_to_amt_idx := 7; -- 5132302
12740 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
12741 l_rec_acct_attrs.array_char_value(1) := p_source_19;
12742 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
12743 l_rec_acct_attrs.array_num_value(2) :=
12744 xla_ae_sources_pkg.GetSystemSourceNum(
12745 p_source_code => 'XLA_EVENT_APPL_ID'
12746 , p_source_type_code => 'Y'
12747 , p_source_application_id => 602
12748 );
12749 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
12750 l_rec_acct_attrs.array_char_value(3) := p_source_21;
12751 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
12752 l_rec_acct_attrs.array_char_value(4) :=
12753 xla_ae_sources_pkg.GetSystemSourceChar(
12754 p_source_code => 'XLA_ENTITY_CODE'
12755 , p_source_type_code => 'Y'
12756 , p_source_application_id => 602
12757 );
12758 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
12759 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_23);
12760 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
12761 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_24);
12762 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_AMOUNT';
12763 l_rec_acct_attrs.array_num_value(7) := p_source_57;
12764 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_APPLICATION_ID';
12765 l_rec_acct_attrs.array_num_value(8) := p_source_25;
12766 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_DISTRIBUTION_TYPE';
12767 l_rec_acct_attrs.array_char_value(9) := p_source_26;
12768 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_ENTITY_CODE';
12769 l_rec_acct_attrs.array_char_value(10) := p_source_27;
12770 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_DIST_ID';
12771 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_28);
12772 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
12773 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_29);
12774 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
12775 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_30);
12776 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_TYPE';
12777 l_rec_acct_attrs.array_char_value(14) := p_source_21;
12778 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
12779 l_rec_acct_attrs.array_num_value(15) := p_source_31;
12780 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
12781 l_rec_acct_attrs.array_num_value(16) := p_source_32;
12782 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
12783 l_rec_acct_attrs.array_char_value(17) := p_source_33;
12784 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
12785 l_rec_acct_attrs.array_num_value(18) := p_source_34;
12786 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_CCID';
12787 l_rec_acct_attrs.array_num_value(19) := p_source_35;
12788 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_AMT';
12789 l_rec_acct_attrs.array_num_value(20) := p_source_36;
12790 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_CURR';
12791 l_rec_acct_attrs.array_char_value(21) := p_source_33;
12792 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_LEDGER_AMT';
12793 l_rec_acct_attrs.array_num_value(22) := p_source_37;
12794 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_OPTION';
12795 l_rec_acct_attrs.array_char_value(23) := p_source_38;
12796 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_AMOUNT';
12797 l_rec_acct_attrs.array_num_value(24) := p_source_65;
12798 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_CODE';
12799 l_rec_acct_attrs.array_char_value(25) := p_source_33;
12800 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_DATE';
12801 l_rec_acct_attrs.array_date_value(26) := p_source_39;
12802 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE';
12803 l_rec_acct_attrs.array_num_value(27) := p_source_40;
12804 l_rec_acct_attrs.array_acct_attr_code(28) := 'EXCHANGE_RATE_TYPE';
12805 l_rec_acct_attrs.array_char_value(28) := p_source_41;
12806 l_rec_acct_attrs.array_acct_attr_code(29) := 'LEDGER_AMOUNT';
12807 l_rec_acct_attrs.array_num_value(29) := p_source_66;
12811 l_rec_acct_attrs.array_char_value(31) := p_source_44;
12808 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_END_DATE';
12809 l_rec_acct_attrs.array_date_value(30) := p_source_43;
12810 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_OPTION';
12812 l_rec_acct_attrs.array_acct_attr_code(32) := 'MULTIPERIOD_START_DATE';
12813 l_rec_acct_attrs.array_date_value(32) := p_source_45;
12814 l_rec_acct_attrs.array_acct_attr_code(33) := 'OVERRIDE_ACCTD_AMT_FLAG';
12815 l_rec_acct_attrs.array_char_value(33) := p_source_46;
12816 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_ID';
12817 l_rec_acct_attrs.array_num_value(34) := p_source_47;
12818 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_SITE_ID';
12819 l_rec_acct_attrs.array_num_value(35) := p_source_48;
12820 l_rec_acct_attrs.array_acct_attr_code(36) := 'PARTY_TYPE';
12821 l_rec_acct_attrs.array_char_value(36) := p_source_49;
12822 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_ID1';
12823 l_rec_acct_attrs.array_num_value(37) := to_char(p_source_50);
12824 l_rec_acct_attrs.array_acct_attr_code(38) := 'REVERSED_DISTRIBUTION_TYPE';
12825 l_rec_acct_attrs.array_char_value(38) := p_source_21;
12826 l_rec_acct_attrs.array_acct_attr_code(39) := 'STATISTICAL_AMOUNT';
12827 l_rec_acct_attrs.array_num_value(39) := p_source_51;
12828 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_LINE_REF_ID';
12829 l_rec_acct_attrs.array_num_value(40) := p_source_52;
12830 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_REC_NREC_DIST_REF_ID';
12831 l_rec_acct_attrs.array_num_value(41) := p_source_53;
12832 l_rec_acct_attrs.array_acct_attr_code(42) := 'TAX_SUMMARY_LINE_REF_ID';
12833 l_rec_acct_attrs.array_num_value(42) := p_source_54;
12834 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_CR_ENC_TYPE_ID';
12835 l_rec_acct_attrs.array_num_value(43) := p_source_55;
12836 l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
12837 l_rec_acct_attrs.array_num_value(44) := p_source_56;
12838
12839 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
12840 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
12841
12842 ---------------------------------------------------------------------------------------------------------------
12843 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
12844 ---------------------------------------------------------------------------------------------------------------
12845 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
12846
12847 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
12848 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
12849
12850 IF xla_accounting_cache_pkg.GetValueChar
12851 (p_source_code => 'LEDGER_CATEGORY_CODE'
12852 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
12853 AND l_bflow_method_code = 'PRIOR_ENTRY'
12854 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
12855 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
12856 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
12857 )
12858 THEN
12859 xla_ae_lines_pkg.BflowUpgEntry
12860 (p_business_method_code => l_bflow_method_code
12861 ,p_business_class_code => l_bflow_class_code
12862 ,p_balance_type => l_balance_type_code);
12863 ELSE
12864 NULL;
12865 -- No business flow processing for business flow method of NONE.
12866 END IF;
12867
12868 --
12869 -- call analytical criteria
12870 --
12871
12872 --
12873 -- call description
12874 --
12875
12876 xla_ae_lines_pkg.SetLineDescription(
12877 p_ae_header_id => l_ae_header_id
12878 ,p_description => Description_2 (
12879 p_application_id => p_application_id
12880 , p_ae_header_id => l_ae_header_id
12881 , p_source_1 => p_source_1
12882 )
12883 );
12884
12885
12886 --
12887 -- call ADRs
12888 -- Bug 4922099
12889 --
12890 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
12891 (NVL(l_actual_upg_option, 'N') = 'O') OR
12892 (NVL(l_enc_upg_option, 'N') = 'O')
12893 )
12894 THEN
12895 NULL;
12896 --
12897 --
12898
12899 l_ccid := AcctDerRule_7(
12900 p_application_id => p_application_id
12901 , p_ae_header_id => l_ae_header_id
12902 , p_source_11 => p_source_11
12903 , x_transaction_coa_id => l_adr_transaction_coa_id
12904 , x_accounting_coa_id => l_adr_accounting_coa_id
12905 , x_value_type_code => l_adr_value_type_code
12906 , p_side => 'NA'
12907 );
12908
12909 xla_ae_lines_pkg.set_ccid(
12910 p_code_combination_id => l_ccid
12911 , p_value_type_code => l_adr_value_type_code
12912 , p_transaction_coa_id => l_adr_transaction_coa_id
12913 , p_accounting_coa_id => l_adr_accounting_coa_id
12914 , p_adr_code => 'AP_INVOICE_DIST'
12915 , p_adr_type_code => 'S'
12916 , p_component_type => l_component_type
12920 , p_amb_context_code => l_amb_context_code
12917 , p_component_code => l_component_code
12918 , p_component_type_code => l_component_type_code
12919 , p_component_appl_id => l_component_appl_id
12921 , p_side => 'NA'
12922 );
12923
12924
12925 --
12926 --
12927 END IF;
12928 --
12929 -- Bug 4922099
12930 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
12931 (NVL(l_enc_upg_option, 'N') = 'O')
12932 ) AND
12933 (l_bflow_method_code = 'PRIOR_ENTRY')
12934 )
12935 THEN
12936 IF
12937 --
12938 1 = 2
12939 --
12940 THEN
12941 xla_accounting_err_pkg.build_message
12942 (p_appli_s_name => 'XLA'
12943 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
12944 ,p_token_1 => 'LINE_NUMBER'
12945 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
12946 ,p_token_2 => 'LINE_TYPE_NAME'
12947 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
12948 l_component_type
12949 ,l_component_code
12950 ,l_component_type_code
12951 ,l_component_appl_id
12952 ,l_amb_context_code
12953 ,l_entity_code
12954 ,l_event_class_code
12955 )
12956 ,p_token_3 => 'OWNER'
12957 ,p_value_3 => xla_lookups_pkg.get_meaning(
12958 p_lookup_type => 'XLA_OWNER_TYPE'
12959 ,p_lookup_code => l_component_type_code
12960 )
12961 ,p_token_4 => 'PRODUCT_NAME'
12962 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
12963 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
12964 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
12965 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
12966 ,p_ae_header_id => NULL
12967 );
12968
12969 IF (C_LEVEL_ERROR>= g_log_level) THEN
12970 trace
12971 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
12972 ,p_level => C_LEVEL_ERROR
12973 ,p_module => l_log_module);
12974 END IF;
12975 END IF;
12976 END IF;
12977 --
12978 --
12979 ------------------------------------------------------------------------------------------------
12980 -- 4219869 Business Flow
12981 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
12982 -- Prior Entry. Currently, the following code is always generated.
12983 ------------------------------------------------------------------------------------------------
12984 XLA_AE_LINES_PKG.ValidateCurrentLine;
12985
12986 ------------------------------------------------------------------------------------
12987 -- 4219869 Business Flow
12988 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
12989 ------------------------------------------------------------------------------------
12990 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
12991
12992 ----------------------------------------------------------------------------------
12993 -- 4219869 Business Flow
12994 -- Update journal entry status -- Need to generate this within IF <condition>
12995 ----------------------------------------------------------------------------------
12996 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
12997 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
12998 ,p_balance_type_code => l_balance_type_code
12999 );
13000
13001 -------------------------------------------------------------------------------------------
13002 -- 4262811 - Generate the Accrual Reversal lines
13003 -------------------------------------------------------------------------------------------
13004 BEGIN
13005 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
13006 (g_array_event(p_event_id).array_value_num('header_index'));
13007 IF l_acc_rev_flag IS NULL THEN
13008 l_acc_rev_flag := 'N';
13009 END IF;
13010 EXCEPTION
13011 WHEN OTHERS THEN
13012 l_acc_rev_flag := 'N';
13013 END;
13014 --
13015 IF (l_acc_rev_flag = 'Y') THEN
13016
13020 ------------------------------------------------------------------------------------------
13017 -- 4645092 ------------------------------------------------------------------------------
13018 -- To allow MPA report to determine if it should generate report process
13019 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
13021
13022 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
13023 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
13024 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
13025 -- call ADRs
13026 -- Bug 4922099
13027 --
13028 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
13029 (NVL(l_actual_upg_option, 'N') = 'O') OR
13030 (NVL(l_enc_upg_option, 'N') = 'O')
13031 )
13032 THEN
13033 NULL;
13034 --
13035 --
13036
13037 l_ccid := AcctDerRule_7(
13038 p_application_id => p_application_id
13039 , p_ae_header_id => l_ae_header_id
13040 , p_source_11 => p_source_11
13041 , x_transaction_coa_id => l_adr_transaction_coa_id
13042 , x_accounting_coa_id => l_adr_accounting_coa_id
13043 , x_value_type_code => l_adr_value_type_code
13044 , p_side => 'NA'
13045 );
13046
13047 xla_ae_lines_pkg.set_ccid(
13048 p_code_combination_id => l_ccid
13049 , p_value_type_code => l_adr_value_type_code
13050 , p_transaction_coa_id => l_adr_transaction_coa_id
13051 , p_accounting_coa_id => l_adr_accounting_coa_id
13052 , p_adr_code => 'AP_INVOICE_DIST'
13053 , p_adr_type_code => 'S'
13054 , p_component_type => l_component_type
13055 , p_component_code => l_component_code
13056 , p_component_type_code => l_component_type_code
13057 , p_component_appl_id => l_component_appl_id
13058 , p_amb_context_code => l_amb_context_code
13059 , p_side => 'NA'
13060 );
13061
13062
13063 --
13064 --
13065 END IF;
13066
13067 --
13068 -- Update the line information that should be overwritten
13069 --
13070 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
13071 p_header_num => 1);
13072 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
13073
13074 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
13075
13076 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
13077 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
13078 END IF;
13079
13080 --
13081 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
13082 --
13083 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
13084 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
13085 ELSE
13086 ---------------------------------------------------------------------------------------------------
13087 -- 4262811a Switch Sign
13088 ---------------------------------------------------------------------------------------------------
13089 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
13090 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
13091 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
13092 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
13093 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
13094 -- 5132302
13095 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
13096 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
13097
13098 END IF;
13099
13100 -- 4955764
13101 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
13102 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
13103
13104
13105 XLA_AE_LINES_PKG.ValidateCurrentLine;
13106 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
13107
13108 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
13109 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
13110 ,p_balance_type_code => l_balance_type_code);
13111
13112 END IF;
13113
13114 -----------------------------------------------------------------------------------------
13115 -- 4262811 Multiperiod Accounting
13116 -----------------------------------------------------------------------------------------
13117 -- No MPA option is assigned.
13118
13119
13120 END IF;
13121 END IF;
13122 --
13123
13124 --
13125 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
13126 trace
13127 (p_msg => 'END of AcctLineType_28'
13128 ,p_level => C_LEVEL_PROCEDURE
13129 ,p_module => l_log_module);
13130 END IF;
13131 --
13132 EXCEPTION
13133 WHEN xla_exceptions_pkg.application_exception THEN
13134 RAISE;
13138 END AcctLineType_28;
13135 WHEN OTHERS THEN
13136 xla_exceptions_pkg.raise_message
13137 (p_location => 'XLA_00200_AAD_S_000006_BC_PKG.AcctLineType_28');
13139 --
13140
13141 ---------------------------------------
13142 --
13143 -- PRIVATE FUNCTION
13144 -- AcctLineType_29
13145 --
13146 ---------------------------------------
13147 PROCEDURE AcctLineType_29 (
13148 p_application_id IN NUMBER
13149 ,p_event_id IN NUMBER
13150 ,p_calculate_acctd_flag IN VARCHAR2
13151 ,p_calculate_g_l_flag IN VARCHAR2
13152 ,p_actual_flag IN OUT VARCHAR2
13153 ,p_balance_type_code OUT VARCHAR2
13154 ,p_gain_or_loss_ref OUT VARCHAR2
13155
13156 --Invoice Distribution Description
13157 , p_source_1 IN VARCHAR2
13158 --Invoice Distribution Account
13159 , p_source_11 IN NUMBER
13160 --Invoice Distribution Type
13161 , p_source_15 IN VARCHAR2
13162 , p_source_15_meaning IN VARCHAR2
13163 --Purchasing Encumbrance Option
13164 , p_source_17 IN VARCHAR2
13165 , p_source_17_meaning IN VARCHAR2
13166 --Accounting Reversal Indicator
13167 , p_source_19 IN VARCHAR2
13168 --Distribution Link Type
13169 , p_source_21 IN VARCHAR2
13170 --Allocation to Main Distribution Identifier
13171 , p_source_23 IN NUMBER
13172 --Invoice Identifier
13173 , p_source_24 IN NUMBER
13174 --Business Flow Accounts Payable Application Identifier
13175 , p_source_25 IN NUMBER
13176 --Business Flow Invoice Distribution Type
13177 , p_source_26 IN VARCHAR2
13178 --Business Flow Invoice Entity Code
13179 , p_source_27 IN VARCHAR2
13180 --Business Flow Invoice Distribution Identifier
13181 , p_source_28 IN NUMBER
13182 --Business Flow Invoice Identifier
13183 , p_source_29 IN NUMBER
13184 --Invoice Distribution Identifier
13185 , p_source_30 IN NUMBER
13186 --Payables Encumbrance Upgrade Credit Account
13187 , p_source_31 IN NUMBER
13188 --Payables Encumbrance Upgrade Credit Amount
13189 , p_source_32 IN NUMBER
13190 --Invoice Currency Code
13191 , p_source_33 IN VARCHAR2
13192 --Payables Encumbrance Upgrade Credit Base Amount
13193 , p_source_34 IN NUMBER
13194 --Payables Encumbrance Upgrade Debit Account
13195 , p_source_35 IN NUMBER
13196 --Payables Encumbrance Upgrade Debit Amount
13197 , p_source_36 IN NUMBER
13198 --Payables Encumbrance Upgrade Debit Base Amount
13199 , p_source_37 IN NUMBER
13200 --Payables Encumbrance Upgrade Option
13201 , p_source_38 IN VARCHAR2
13202 --Invoice Exchange Date
13203 , p_source_39 IN DATE
13204 --Invoice Exchange Rate
13205 , p_source_40 IN NUMBER
13206 --Invoice Exchange Rate Type
13207 , p_source_41 IN VARCHAR2
13208 --Deferred Accounting End Date
13209 , p_source_43 IN DATE
13210 --Deferred Accounting Option
13211 , p_source_44 IN VARCHAR2
13212 --Deferred Accounting Start Date
13213 , p_source_45 IN DATE
13214 --Override Accounted Amount Indicator
13215 , p_source_46 IN VARCHAR2
13216 , p_source_46_meaning IN VARCHAR2
13217 --Invoice Supplier Identifier
13218 , p_source_47 IN NUMBER
13219 --Invoice Supplier Site Identifier
13220 , p_source_48 IN NUMBER
13221 --Third Party Type
13222 , p_source_49 IN VARCHAR2
13223 --Parent Reversal Identifier
13224 , p_source_50 IN NUMBER
13225 --Invoice Distribution Statistical Amount
13226 , p_source_51 IN NUMBER
13227 --Invoice Distribution Tax Line Identifier
13228 , p_source_52 IN NUMBER
13229 --Invoice Distribution Tax Distribution Identifier from Tax
13230 , p_source_53 IN NUMBER
13231 --Invoice Distribution Summary Tax Line Identifier
13232 , p_source_54 IN NUMBER
13233 --Payables Upgrade Credit Encumbrance Type Identifier
13234 , p_source_55 IN NUMBER
13235 --Payables Upgrade Debit Encumbrance Type Identifier
13236 , p_source_56 IN NUMBER
13237 --Invoice Distribution Encumbrance Amount
13238 , p_source_65 IN NUMBER
13239 --Invoice Distribution Encumbrance Ledger Amount
13240 , p_source_66 IN NUMBER
13241 )
13242 IS
13243
13244 l_component_type VARCHAR2(80);
13245 l_component_code VARCHAR2(30);
13246 l_component_type_code VARCHAR2(1);
13247 l_component_appl_id INTEGER;
13248 l_amb_context_code VARCHAR2(30);
13249 l_entity_code VARCHAR2(30);
13250 l_event_class_code VARCHAR2(30);
13251 l_ae_header_id NUMBER;
13252 l_event_type_code VARCHAR2(30);
13253 l_line_definition_code VARCHAR2(30);
13254 l_line_definition_owner_code VARCHAR2(1);
13255 --
13256 -- adr variables
13257 l_segment VARCHAR2(30);
13258 l_ccid NUMBER;
13259 l_adr_transaction_coa_id NUMBER;
13260 l_adr_accounting_coa_id NUMBER;
13261 l_adr_flexfield_segment_code VARCHAR2(30);
13262 l_adr_flex_value_set_id NUMBER;
13263 l_adr_value_type_code VARCHAR2(30);
13267 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
13264 l_adr_value_combination_id NUMBER;
13265 l_adr_value_segment_code VARCHAR2(30);
13266
13268 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
13269 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
13270 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
13271
13272 -- 4262811 Variables ------------------------------------------------------------------------------------------
13273 l_entered_amt_idx NUMBER;
13274 l_accted_amt_idx NUMBER;
13275 l_acc_rev_flag VARCHAR2(1);
13276 l_accrual_line_num NUMBER;
13277 l_tmp_amt NUMBER;
13278 l_acc_rev_natural_side_code VARCHAR2(1);
13279
13280 l_num_entries NUMBER;
13281 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
13282 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
13283 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
13284 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
13285 l_recog_line_1 NUMBER;
13286 l_recog_line_2 NUMBER;
13287
13288 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
13289 l_bflow_applied_to_amt NUMBER; -- 5132302
13290 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
13291
13292 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
13293
13294 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
13295 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
13296
13297 ---------------------------------------------------------------------------------------------------------------
13298
13299
13300 --
13301 -- bulk performance
13302 --
13303 l_balance_type_code VARCHAR2(1);
13304 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
13305 l_log_module VARCHAR2(240);
13306
13307 --
13308 -- Upgrade strategy
13309 --
13310 l_actual_upg_option VARCHAR2(1);
13311 l_enc_upg_option VARCHAR2(1);
13312
13313 --
13314 BEGIN
13315 --
13316 IF g_log_enabled THEN
13317 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_29';
13318 END IF;
13319 --
13320 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
13321
13322 trace
13323 (p_msg => 'BEGIN of AcctLineType_29'
13324 ,p_level => C_LEVEL_PROCEDURE
13325 ,p_module => l_log_module);
13326
13327 END IF;
13328 --
13329 l_component_type := 'AMB_JLT';
13330 l_component_code := 'AP_FREIGHT_EXPENSE_PP_ENC_DR';
13331 l_component_type_code := 'S';
13332 l_component_appl_id := 200;
13333 l_amb_context_code := 'DEFAULT';
13334 l_entity_code := 'AP_INVOICES';
13335 l_event_class_code := 'PREPAYMENTS';
13336 l_event_type_code := 'PREPAYMENTS_ALL';
13337 l_line_definition_owner_code := 'S';
13338 l_line_definition_code := 'ENC_PREPAY_ALL';
13339 --
13340 l_balance_type_code := 'E';
13341 l_segment := NULL;
13342 l_ccid := NULL;
13343 l_adr_transaction_coa_id := NULL;
13344 l_adr_accounting_coa_id := NULL;
13345 l_adr_flexfield_segment_code := NULL;
13346 l_adr_flex_value_set_id := NULL;
13347 l_adr_value_type_code := NULL;
13348 l_adr_value_combination_id := NULL;
13349 l_adr_value_segment_code := NULL;
13350
13351 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
13352 l_bflow_class_code := 'AP_INV_ENCUM'; -- 4219869 Business Flow
13353 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
13354 l_budgetary_control_flag := 'Y';
13355
13356 l_bflow_applied_to_amt_idx := NULL; -- 5132302
13357 l_bflow_applied_to_amt := NULL; -- 5132302
13358 l_entered_amt_idx := NULL; -- 4262811
13359 l_accted_amt_idx := NULL; -- 4262811
13360 l_acc_rev_flag := NULL; -- 4262811
13361 l_accrual_line_num := NULL; -- 4262811
13362 l_tmp_amt := NULL; -- 4262811
13363 --
13364
13365 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
13366 l_balance_type_code <> 'B' THEN
13367 IF NVL(p_source_15,'
13368 ') = 'FREIGHT' AND
13369 NVL(p_source_17,'
13370 ') = 'Y'
13371 THEN
13372
13373 --
13374 XLA_AE_LINES_PKG.SetNewLine;
13375
13376 p_balance_type_code := l_balance_type_code;
13377 -- set the flag so later we will know whether the gain loss line needs to be created
13378
13379 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
13380 p_actual_flag :='A';
13381 END IF;
13382
13383 --
13384 -- bulk performance
13385 --
13386 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
13387 p_header_num => 0); -- 4262811
13388 --
13389 -- set accounting line options
13390 --
13391 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
13392 p_natural_side_code => 'D'
13393 , p_gain_or_loss_flag => 'N'
13397 , p_merge_duplicate_code => 'N'
13394 , p_gl_transfer_mode_code => 'S'
13395 , p_acct_entry_type_code => 'E'
13396 , p_switch_side_flag => 'Y'
13398 );
13399 --
13400 l_acc_rev_natural_side_code := 'C'; -- 4262811
13401 --
13402 --
13403 -- set accounting line type info
13404 --
13405 xla_ae_lines_pkg.SetAcctLineType
13406 (p_component_type => l_component_type
13407 ,p_event_type_code => l_event_type_code
13408 ,p_line_definition_owner_code => l_line_definition_owner_code
13409 ,p_line_definition_code => l_line_definition_code
13410 ,p_accounting_line_code => l_component_code
13411 ,p_accounting_line_type_code => l_component_type_code
13412 ,p_accounting_line_appl_id => l_component_appl_id
13413 ,p_amb_context_code => l_amb_context_code
13414 ,p_entity_code => l_entity_code
13415 ,p_event_class_code => l_event_class_code);
13416 --
13417 -- set accounting class
13418 --
13419 xla_ae_lines_pkg.SetAcctClass(
13420 p_accounting_class_code => 'FREIGHT'
13421 , p_ae_header_id => l_ae_header_id
13422 );
13423
13424 --
13425 -- set rounding class
13426 --
13427 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
13428 'FREIGHT';
13429
13430 --
13431 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
13432 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
13433 --
13434 -- bulk performance
13435 --
13436 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
13437
13438 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
13439 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
13440
13441 -- 4955764
13442 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
13443 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
13444
13445 -- 4458381 Public Sector Enh
13446 XLA_AE_LINES_PKG.g_rec_lines.array_encumbrance_type_id(XLA_AE_LINES_PKG.g_LineNumber) := 1060;
13447 --
13448 -- set accounting attributes for the line type
13449 --
13450 l_entered_amt_idx := 23;
13451 l_accted_amt_idx := 28;
13452 l_bflow_applied_to_amt_idx := NULL; -- 5132302
13453 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
13454 l_rec_acct_attrs.array_char_value(1) := p_source_19;
13455 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
13456 l_rec_acct_attrs.array_num_value(2) :=
13457 xla_ae_sources_pkg.GetSystemSourceNum(
13458 p_source_code => 'XLA_EVENT_APPL_ID'
13459 , p_source_type_code => 'Y'
13460 , p_source_application_id => 602
13461 );
13462 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
13463 l_rec_acct_attrs.array_char_value(3) := p_source_21;
13464 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
13465 l_rec_acct_attrs.array_char_value(4) :=
13466 xla_ae_sources_pkg.GetSystemSourceChar(
13467 p_source_code => 'XLA_ENTITY_CODE'
13468 , p_source_type_code => 'Y'
13469 , p_source_application_id => 602
13470 );
13471 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
13472 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_23);
13473 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
13474 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_24);
13475 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
13476 l_rec_acct_attrs.array_num_value(7) := p_source_25;
13477 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
13478 l_rec_acct_attrs.array_char_value(8) := p_source_26;
13479 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
13480 l_rec_acct_attrs.array_char_value(9) := p_source_27;
13481 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
13482 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_28);
13483 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
13484 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_29);
13485 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
13486 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_30);
13487 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
13488 l_rec_acct_attrs.array_char_value(13) := p_source_21;
13489 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
13490 l_rec_acct_attrs.array_num_value(14) := p_source_31;
13491 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
13492 l_rec_acct_attrs.array_num_value(15) := p_source_32;
13493 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
13494 l_rec_acct_attrs.array_char_value(16) := p_source_33;
13495 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
13496 l_rec_acct_attrs.array_num_value(17) := p_source_34;
13497 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
13498 l_rec_acct_attrs.array_num_value(18) := p_source_35;
13502 l_rec_acct_attrs.array_char_value(20) := p_source_33;
13499 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
13500 l_rec_acct_attrs.array_num_value(19) := p_source_36;
13501 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
13503 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
13504 l_rec_acct_attrs.array_num_value(21) := p_source_37;
13505 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
13506 l_rec_acct_attrs.array_char_value(22) := p_source_38;
13507 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
13508 l_rec_acct_attrs.array_num_value(23) := p_source_65;
13509 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
13510 l_rec_acct_attrs.array_char_value(24) := p_source_33;
13511 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
13512 l_rec_acct_attrs.array_date_value(25) := p_source_39;
13513 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
13514 l_rec_acct_attrs.array_num_value(26) := p_source_40;
13515 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
13516 l_rec_acct_attrs.array_char_value(27) := p_source_41;
13517 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
13518 l_rec_acct_attrs.array_num_value(28) := p_source_66;
13519 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
13520 l_rec_acct_attrs.array_date_value(29) := p_source_43;
13521 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
13522 l_rec_acct_attrs.array_char_value(30) := p_source_44;
13523 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
13524 l_rec_acct_attrs.array_date_value(31) := p_source_45;
13525 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
13526 l_rec_acct_attrs.array_char_value(32) := p_source_46;
13527 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
13528 l_rec_acct_attrs.array_num_value(33) := p_source_47;
13529 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
13530 l_rec_acct_attrs.array_num_value(34) := p_source_48;
13531 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
13532 l_rec_acct_attrs.array_char_value(35) := p_source_49;
13533 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
13534 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_50);
13535 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
13536 l_rec_acct_attrs.array_char_value(37) := p_source_21;
13537 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
13538 l_rec_acct_attrs.array_num_value(38) := p_source_51;
13539 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
13540 l_rec_acct_attrs.array_num_value(39) := p_source_52;
13541 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
13542 l_rec_acct_attrs.array_num_value(40) := p_source_53;
13543 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
13544 l_rec_acct_attrs.array_num_value(41) := p_source_54;
13545 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
13546 l_rec_acct_attrs.array_num_value(42) := p_source_55;
13547 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
13548 l_rec_acct_attrs.array_num_value(43) := p_source_56;
13549
13550 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
13551 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
13552
13553 ---------------------------------------------------------------------------------------------------------------
13554 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
13555 ---------------------------------------------------------------------------------------------------------------
13556 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
13557
13558 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
13559 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
13560
13561 IF xla_accounting_cache_pkg.GetValueChar
13562 (p_source_code => 'LEDGER_CATEGORY_CODE'
13563 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
13564 AND l_bflow_method_code = 'PRIOR_ENTRY'
13565 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
13566 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
13567 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
13568 )
13569 THEN
13570 xla_ae_lines_pkg.BflowUpgEntry
13571 (p_business_method_code => l_bflow_method_code
13572 ,p_business_class_code => l_bflow_class_code
13573 ,p_balance_type => l_balance_type_code);
13574 ELSE
13575 NULL;
13576 -- No business flow processing for business flow method of NONE.
13577 END IF;
13578
13579 --
13580 -- call analytical criteria
13581 --
13582
13583 --
13584 -- call description
13585 --
13586
13587 xla_ae_lines_pkg.SetLineDescription(
13588 p_ae_header_id => l_ae_header_id
13589 ,p_description => Description_2 (
13590 p_application_id => p_application_id
13591 , p_ae_header_id => l_ae_header_id
13592 , p_source_1 => p_source_1
13593 )
13594 );
13595
13596
13600 --
13597 --
13598 -- call ADRs
13599 -- Bug 4922099
13601 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
13602 (NVL(l_actual_upg_option, 'N') = 'O') OR
13603 (NVL(l_enc_upg_option, 'N') = 'O')
13604 )
13605 THEN
13606 NULL;
13607 --
13608 --
13609
13610 l_ccid := AcctDerRule_7(
13611 p_application_id => p_application_id
13612 , p_ae_header_id => l_ae_header_id
13613 , p_source_11 => p_source_11
13614 , x_transaction_coa_id => l_adr_transaction_coa_id
13615 , x_accounting_coa_id => l_adr_accounting_coa_id
13616 , x_value_type_code => l_adr_value_type_code
13617 , p_side => 'NA'
13618 );
13619
13620 xla_ae_lines_pkg.set_ccid(
13621 p_code_combination_id => l_ccid
13622 , p_value_type_code => l_adr_value_type_code
13623 , p_transaction_coa_id => l_adr_transaction_coa_id
13624 , p_accounting_coa_id => l_adr_accounting_coa_id
13625 , p_adr_code => 'AP_INVOICE_DIST'
13626 , p_adr_type_code => 'S'
13627 , p_component_type => l_component_type
13628 , p_component_code => l_component_code
13629 , p_component_type_code => l_component_type_code
13630 , p_component_appl_id => l_component_appl_id
13631 , p_amb_context_code => l_amb_context_code
13632 , p_side => 'NA'
13633 );
13634
13635
13636 --
13637 --
13638 END IF;
13639 --
13640 -- Bug 4922099
13641 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
13642 (NVL(l_enc_upg_option, 'N') = 'O')
13643 ) AND
13644 (l_bflow_method_code = 'PRIOR_ENTRY')
13645 )
13646 THEN
13647 IF
13648 --
13649 1 = 2
13650 --
13651 THEN
13652 xla_accounting_err_pkg.build_message
13653 (p_appli_s_name => 'XLA'
13654 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
13655 ,p_token_1 => 'LINE_NUMBER'
13656 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
13657 ,p_token_2 => 'LINE_TYPE_NAME'
13658 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
13659 l_component_type
13660 ,l_component_code
13661 ,l_component_type_code
13662 ,l_component_appl_id
13663 ,l_amb_context_code
13664 ,l_entity_code
13665 ,l_event_class_code
13666 )
13667 ,p_token_3 => 'OWNER'
13668 ,p_value_3 => xla_lookups_pkg.get_meaning(
13669 p_lookup_type => 'XLA_OWNER_TYPE'
13670 ,p_lookup_code => l_component_type_code
13671 )
13672 ,p_token_4 => 'PRODUCT_NAME'
13673 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
13674 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
13675 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
13676 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
13677 ,p_ae_header_id => NULL
13678 );
13679
13680 IF (C_LEVEL_ERROR>= g_log_level) THEN
13681 trace
13682 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
13683 ,p_level => C_LEVEL_ERROR
13684 ,p_module => l_log_module);
13685 END IF;
13686 END IF;
13687 END IF;
13688 --
13689 --
13690 ------------------------------------------------------------------------------------------------
13691 -- 4219869 Business Flow
13692 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
13693 -- Prior Entry. Currently, the following code is always generated.
13694 ------------------------------------------------------------------------------------------------
13695 XLA_AE_LINES_PKG.ValidateCurrentLine;
13696
13697 ------------------------------------------------------------------------------------
13698 -- 4219869 Business Flow
13699 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
13703 ----------------------------------------------------------------------------------
13700 ------------------------------------------------------------------------------------
13701 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
13702
13704 -- 4219869 Business Flow
13705 -- Update journal entry status -- Need to generate this within IF <condition>
13706 ----------------------------------------------------------------------------------
13707 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
13708 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
13709 ,p_balance_type_code => l_balance_type_code
13710 );
13711
13712 -------------------------------------------------------------------------------------------
13713 -- 4262811 - Generate the Accrual Reversal lines
13714 -------------------------------------------------------------------------------------------
13715 BEGIN
13716 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
13717 (g_array_event(p_event_id).array_value_num('header_index'));
13718 IF l_acc_rev_flag IS NULL THEN
13719 l_acc_rev_flag := 'N';
13720 END IF;
13721 EXCEPTION
13722 WHEN OTHERS THEN
13723 l_acc_rev_flag := 'N';
13724 END;
13725 --
13726 IF (l_acc_rev_flag = 'Y') THEN
13727
13728 -- 4645092 ------------------------------------------------------------------------------
13729 -- To allow MPA report to determine if it should generate report process
13730 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
13731 ------------------------------------------------------------------------------------------
13732
13733 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
13734 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
13735 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
13736 -- call ADRs
13737 -- Bug 4922099
13738 --
13739 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
13740 (NVL(l_actual_upg_option, 'N') = 'O') OR
13741 (NVL(l_enc_upg_option, 'N') = 'O')
13742 )
13743 THEN
13744 NULL;
13745 --
13746 --
13747
13748 l_ccid := AcctDerRule_7(
13749 p_application_id => p_application_id
13750 , p_ae_header_id => l_ae_header_id
13751 , p_source_11 => p_source_11
13752 , x_transaction_coa_id => l_adr_transaction_coa_id
13753 , x_accounting_coa_id => l_adr_accounting_coa_id
13754 , x_value_type_code => l_adr_value_type_code
13755 , p_side => 'NA'
13756 );
13757
13758 xla_ae_lines_pkg.set_ccid(
13759 p_code_combination_id => l_ccid
13760 , p_value_type_code => l_adr_value_type_code
13761 , p_transaction_coa_id => l_adr_transaction_coa_id
13762 , p_accounting_coa_id => l_adr_accounting_coa_id
13763 , p_adr_code => 'AP_INVOICE_DIST'
13764 , p_adr_type_code => 'S'
13765 , p_component_type => l_component_type
13766 , p_component_code => l_component_code
13767 , p_component_type_code => l_component_type_code
13768 , p_component_appl_id => l_component_appl_id
13769 , p_amb_context_code => l_amb_context_code
13770 , p_side => 'NA'
13771 );
13772
13773
13774 --
13775 --
13776 END IF;
13777
13778 --
13779 -- Update the line information that should be overwritten
13780 --
13781 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
13782 p_header_num => 1);
13783 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
13784
13785 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
13786
13787 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
13788 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
13789 END IF;
13790
13791 --
13792 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
13793 --
13794 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
13795 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
13796 ELSE
13797 ---------------------------------------------------------------------------------------------------
13798 -- 4262811a Switch Sign
13799 ---------------------------------------------------------------------------------------------------
13800 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
13801 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
13802 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
13803 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
13804 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
13805 -- 5132302
13806 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
13807 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
13808
13809 END IF;
13810
13814
13811 -- 4955764
13812 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
13813 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
13815
13816 XLA_AE_LINES_PKG.ValidateCurrentLine;
13817 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
13818
13819 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
13820 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
13821 ,p_balance_type_code => l_balance_type_code);
13822
13823 END IF;
13824
13825 -----------------------------------------------------------------------------------------
13826 -- 4262811 Multiperiod Accounting
13827 -----------------------------------------------------------------------------------------
13828 -- No MPA option is assigned.
13829
13830
13831 END IF;
13832 END IF;
13833 --
13834
13835 --
13836 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
13837 trace
13838 (p_msg => 'END of AcctLineType_29'
13839 ,p_level => C_LEVEL_PROCEDURE
13840 ,p_module => l_log_module);
13841 END IF;
13842 --
13843 EXCEPTION
13844 WHEN xla_exceptions_pkg.application_exception THEN
13845 RAISE;
13846 WHEN OTHERS THEN
13847 xla_exceptions_pkg.raise_message
13848 (p_location => 'XLA_00200_AAD_S_000006_BC_PKG.AcctLineType_29');
13849 END AcctLineType_29;
13850 --
13851
13852 ---------------------------------------
13853 --
13854 -- PRIVATE FUNCTION
13855 -- AcctLineType_30
13856 --
13857 ---------------------------------------
13858 PROCEDURE AcctLineType_30 (
13859 p_application_id IN NUMBER
13860 ,p_event_id IN NUMBER
13861 ,p_calculate_acctd_flag IN VARCHAR2
13862 ,p_calculate_g_l_flag IN VARCHAR2
13863 ,p_actual_flag IN OUT VARCHAR2
13864 ,p_balance_type_code OUT VARCHAR2
13865 ,p_gain_or_loss_ref OUT VARCHAR2
13866
13867 --Invoice Distribution Description
13868 , p_source_1 IN VARCHAR2
13869 --Invoice Distribution Ledger Amount
13870 , p_source_8 IN NUMBER
13871 --Invoice Distribution Account
13872 , p_source_11 IN NUMBER
13873 --Invoice Distribution Type
13874 , p_source_15 IN VARCHAR2
13875 , p_source_15_meaning IN VARCHAR2
13876 --Accounting Reversal Indicator
13877 , p_source_19 IN VARCHAR2
13878 --Distribution Link Type
13879 , p_source_21 IN VARCHAR2
13880 --Allocation to Main Distribution Identifier
13881 , p_source_23 IN NUMBER
13882 --Invoice Identifier
13883 , p_source_24 IN NUMBER
13884 --Business Flow Accounts Payable Application Identifier
13885 , p_source_25 IN NUMBER
13886 --Business Flow Invoice Distribution Type
13887 , p_source_26 IN VARCHAR2
13888 --Business Flow Invoice Entity Code
13889 , p_source_27 IN VARCHAR2
13890 --Business Flow Invoice Distribution Identifier
13891 , p_source_28 IN NUMBER
13892 --Business Flow Invoice Identifier
13893 , p_source_29 IN NUMBER
13894 --Invoice Distribution Identifier
13895 , p_source_30 IN NUMBER
13896 --Payables Encumbrance Upgrade Credit Account
13897 , p_source_31 IN NUMBER
13898 --Payables Encumbrance Upgrade Credit Amount
13899 , p_source_32 IN NUMBER
13900 --Invoice Currency Code
13901 , p_source_33 IN VARCHAR2
13902 --Payables Encumbrance Upgrade Credit Base Amount
13903 , p_source_34 IN NUMBER
13904 --Payables Encumbrance Upgrade Debit Account
13905 , p_source_35 IN NUMBER
13906 --Payables Encumbrance Upgrade Debit Amount
13907 , p_source_36 IN NUMBER
13908 --Payables Encumbrance Upgrade Debit Base Amount
13909 , p_source_37 IN NUMBER
13910 --Payables Encumbrance Upgrade Option
13911 , p_source_38 IN VARCHAR2
13912 --Invoice Exchange Date
13913 , p_source_39 IN DATE
13914 --Invoice Exchange Rate
13915 , p_source_40 IN NUMBER
13916 --Invoice Exchange Rate Type
13917 , p_source_41 IN VARCHAR2
13918 --Deferred Accounting End Date
13919 , p_source_43 IN DATE
13920 --Deferred Accounting Option
13921 , p_source_44 IN VARCHAR2
13922 --Deferred Accounting Start Date
13923 , p_source_45 IN DATE
13924 --Override Accounted Amount Indicator
13925 , p_source_46 IN VARCHAR2
13926 , p_source_46_meaning IN VARCHAR2
13927 --Invoice Supplier Identifier
13928 , p_source_47 IN NUMBER
13929 --Invoice Supplier Site Identifier
13930 , p_source_48 IN NUMBER
13931 --Third Party Type
13932 , p_source_49 IN VARCHAR2
13933 --Parent Reversal Identifier
13934 , p_source_50 IN NUMBER
13935 --Invoice Distribution Statistical Amount
13936 , p_source_51 IN NUMBER
13937 --Invoice Distribution Tax Line Identifier
13938 , p_source_52 IN NUMBER
13939 --Invoice Distribution Tax Distribution Identifier from Tax
13940 , p_source_53 IN NUMBER
13941 --Invoice Distribution Summary Tax Line Identifier
13942 , p_source_54 IN NUMBER
13943 --Payables Upgrade Credit Encumbrance Type Identifier
13944 , p_source_55 IN NUMBER
13945 --Payables Upgrade Debit Encumbrance Type Identifier
13946 , p_source_56 IN NUMBER
13947 --Invoice Distribution Amount
13948 , p_source_57 IN NUMBER
13949 )
13950 IS
13951
13955 l_component_appl_id INTEGER;
13952 l_component_type VARCHAR2(80);
13953 l_component_code VARCHAR2(30);
13954 l_component_type_code VARCHAR2(1);
13956 l_amb_context_code VARCHAR2(30);
13957 l_entity_code VARCHAR2(30);
13958 l_event_class_code VARCHAR2(30);
13959 l_ae_header_id NUMBER;
13960 l_event_type_code VARCHAR2(30);
13961 l_line_definition_code VARCHAR2(30);
13962 l_line_definition_owner_code VARCHAR2(1);
13963 --
13964 -- adr variables
13965 l_segment VARCHAR2(30);
13966 l_ccid NUMBER;
13967 l_adr_transaction_coa_id NUMBER;
13968 l_adr_accounting_coa_id NUMBER;
13969 l_adr_flexfield_segment_code VARCHAR2(30);
13970 l_adr_flex_value_set_id NUMBER;
13971 l_adr_value_type_code VARCHAR2(30);
13972 l_adr_value_combination_id NUMBER;
13973 l_adr_value_segment_code VARCHAR2(30);
13974
13975 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
13976 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
13977 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
13978 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
13979
13980 -- 4262811 Variables ------------------------------------------------------------------------------------------
13981 l_entered_amt_idx NUMBER;
13982 l_accted_amt_idx NUMBER;
13983 l_acc_rev_flag VARCHAR2(1);
13984 l_accrual_line_num NUMBER;
13985 l_tmp_amt NUMBER;
13986 l_acc_rev_natural_side_code VARCHAR2(1);
13987
13988 l_num_entries NUMBER;
13989 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
13990 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
13991 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
13992 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
13993 l_recog_line_1 NUMBER;
13994 l_recog_line_2 NUMBER;
13995
13996 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
13997 l_bflow_applied_to_amt NUMBER; -- 5132302
13998 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
13999
14000 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
14001
14002 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
14003 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
14004
14005 ---------------------------------------------------------------------------------------------------------------
14006
14007
14008 --
14009 -- bulk performance
14010 --
14011 l_balance_type_code VARCHAR2(1);
14012 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
14013 l_log_module VARCHAR2(240);
14014
14015 --
14016 -- Upgrade strategy
14017 --
14018 l_actual_upg_option VARCHAR2(1);
14019 l_enc_upg_option VARCHAR2(1);
14020
14021 --
14022 BEGIN
14023 --
14024 IF g_log_enabled THEN
14025 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_30';
14026 END IF;
14027 --
14028 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
14029
14030 trace
14031 (p_msg => 'BEGIN of AcctLineType_30'
14032 ,p_level => C_LEVEL_PROCEDURE
14033 ,p_module => l_log_module);
14034
14035 END IF;
14036 --
14037 l_component_type := 'AMB_JLT';
14038 l_component_code := 'AP_INVOICE_PREPAY_ENC_DR';
14039 l_component_type_code := 'S';
14040 l_component_appl_id := 200;
14041 l_amb_context_code := 'DEFAULT';
14042 l_entity_code := 'AP_INVOICES';
14043 l_event_class_code := 'INVOICES';
14044 l_event_type_code := 'INVOICES_ALL';
14045 l_line_definition_owner_code := 'S';
14046 l_line_definition_code := 'ENC_INVOICES_ALL';
14047 --
14048 l_balance_type_code := 'E';
14049 l_segment := NULL;
14050 l_ccid := NULL;
14051 l_adr_transaction_coa_id := NULL;
14052 l_adr_accounting_coa_id := NULL;
14053 l_adr_flexfield_segment_code := NULL;
14054 l_adr_flex_value_set_id := NULL;
14055 l_adr_value_type_code := NULL;
14056 l_adr_value_combination_id := NULL;
14057 l_adr_value_segment_code := NULL;
14058
14059 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
14060 l_bflow_class_code := 'AP_INV_ENCUM'; -- 4219869 Business Flow
14061 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
14062 l_budgetary_control_flag := 'Y';
14063
14064 l_bflow_applied_to_amt_idx := NULL; -- 5132302
14065 l_bflow_applied_to_amt := NULL; -- 5132302
14066 l_entered_amt_idx := NULL; -- 4262811
14067 l_accted_amt_idx := NULL; -- 4262811
14068 l_acc_rev_flag := NULL; -- 4262811
14069 l_accrual_line_num := NULL; -- 4262811
14070 l_tmp_amt := NULL; -- 4262811
14071 --
14072
14073 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
14074 l_balance_type_code <> 'B' THEN
14075 IF NVL(p_source_15,'
14076 ') = 'PREPAY' AND
14077 NVL(
14081 , p_source_application_id => 602
14078 xla_ae_sources_pkg.GetSystemSourceChar(
14079 p_source_code => 'XLA_REFERENCE_CHAR_1'
14080 , p_source_type_code => 'Y'
14082 ),'
14083 ') = 'FUNDS_CHECK'
14084 THEN
14085
14086 --
14087 XLA_AE_LINES_PKG.SetNewLine;
14088
14089 p_balance_type_code := l_balance_type_code;
14090 -- set the flag so later we will know whether the gain loss line needs to be created
14091
14092 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
14093 p_actual_flag :='A';
14094 END IF;
14095
14096 --
14097 -- bulk performance
14098 --
14099 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
14100 p_header_num => 0); -- 4262811
14101 --
14102 -- set accounting line options
14103 --
14104 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
14105 p_natural_side_code => 'D'
14106 , p_gain_or_loss_flag => 'N'
14107 , p_gl_transfer_mode_code => 'S'
14108 , p_acct_entry_type_code => 'E'
14109 , p_switch_side_flag => 'Y'
14110 , p_merge_duplicate_code => 'N'
14111 );
14112 --
14113 l_acc_rev_natural_side_code := 'C'; -- 4262811
14114 --
14115 --
14116 -- set accounting line type info
14117 --
14118 xla_ae_lines_pkg.SetAcctLineType
14119 (p_component_type => l_component_type
14120 ,p_event_type_code => l_event_type_code
14121 ,p_line_definition_owner_code => l_line_definition_owner_code
14122 ,p_line_definition_code => l_line_definition_code
14123 ,p_accounting_line_code => l_component_code
14124 ,p_accounting_line_type_code => l_component_type_code
14125 ,p_accounting_line_appl_id => l_component_appl_id
14126 ,p_amb_context_code => l_amb_context_code
14127 ,p_entity_code => l_entity_code
14128 ,p_event_class_code => l_event_class_code);
14129 --
14130 -- set accounting class
14131 --
14132 xla_ae_lines_pkg.SetAcctClass(
14133 p_accounting_class_code => 'RFE'
14134 , p_ae_header_id => l_ae_header_id
14135 );
14136
14137 --
14138 -- set rounding class
14139 --
14140 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
14141 'RFE';
14142
14143 --
14144 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
14145 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
14146 --
14147 -- bulk performance
14148 --
14149 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
14150
14151 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
14152 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
14153
14154 -- 4955764
14155 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
14156 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
14157
14158 -- 4458381 Public Sector Enh
14159 XLA_AE_LINES_PKG.g_rec_lines.array_encumbrance_type_id(XLA_AE_LINES_PKG.g_LineNumber) := 1060;
14160 --
14161 -- set accounting attributes for the line type
14162 --
14163 l_entered_amt_idx := 24;
14164 l_accted_amt_idx := 29;
14165 l_bflow_applied_to_amt_idx := 7; -- 5132302
14166 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
14167 l_rec_acct_attrs.array_char_value(1) := p_source_19;
14168 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
14169 l_rec_acct_attrs.array_num_value(2) :=
14170 xla_ae_sources_pkg.GetSystemSourceNum(
14171 p_source_code => 'XLA_EVENT_APPL_ID'
14172 , p_source_type_code => 'Y'
14173 , p_source_application_id => 602
14174 );
14175 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
14176 l_rec_acct_attrs.array_char_value(3) := p_source_21;
14177 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
14178 l_rec_acct_attrs.array_char_value(4) :=
14179 xla_ae_sources_pkg.GetSystemSourceChar(
14180 p_source_code => 'XLA_ENTITY_CODE'
14181 , p_source_type_code => 'Y'
14182 , p_source_application_id => 602
14183 );
14184 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
14185 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_23);
14186 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
14187 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_24);
14188 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_AMOUNT';
14189 l_rec_acct_attrs.array_num_value(7) := p_source_57;
14190 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_APPLICATION_ID';
14191 l_rec_acct_attrs.array_num_value(8) := p_source_25;
14192 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_DISTRIBUTION_TYPE';
14193 l_rec_acct_attrs.array_char_value(9) := p_source_26;
14194 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_ENTITY_CODE';
14195 l_rec_acct_attrs.array_char_value(10) := p_source_27;
14196 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_DIST_ID';
14197 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_28);
14201 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_30);
14198 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
14199 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_29);
14200 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
14202 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_TYPE';
14203 l_rec_acct_attrs.array_char_value(14) := p_source_21;
14204 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
14205 l_rec_acct_attrs.array_num_value(15) := p_source_31;
14206 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
14207 l_rec_acct_attrs.array_num_value(16) := p_source_32;
14208 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
14209 l_rec_acct_attrs.array_char_value(17) := p_source_33;
14210 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
14211 l_rec_acct_attrs.array_num_value(18) := p_source_34;
14212 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_CCID';
14213 l_rec_acct_attrs.array_num_value(19) := p_source_35;
14214 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_AMT';
14215 l_rec_acct_attrs.array_num_value(20) := p_source_36;
14216 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_CURR';
14217 l_rec_acct_attrs.array_char_value(21) := p_source_33;
14218 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_LEDGER_AMT';
14219 l_rec_acct_attrs.array_num_value(22) := p_source_37;
14220 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_OPTION';
14221 l_rec_acct_attrs.array_char_value(23) := p_source_38;
14222 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_AMOUNT';
14223 l_rec_acct_attrs.array_num_value(24) := p_source_57;
14224 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_CODE';
14225 l_rec_acct_attrs.array_char_value(25) := p_source_33;
14226 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_DATE';
14227 l_rec_acct_attrs.array_date_value(26) := p_source_39;
14228 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE';
14229 l_rec_acct_attrs.array_num_value(27) := p_source_40;
14230 l_rec_acct_attrs.array_acct_attr_code(28) := 'EXCHANGE_RATE_TYPE';
14231 l_rec_acct_attrs.array_char_value(28) := p_source_41;
14232 l_rec_acct_attrs.array_acct_attr_code(29) := 'LEDGER_AMOUNT';
14233 l_rec_acct_attrs.array_num_value(29) := p_source_8;
14234 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_END_DATE';
14235 l_rec_acct_attrs.array_date_value(30) := p_source_43;
14236 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_OPTION';
14237 l_rec_acct_attrs.array_char_value(31) := p_source_44;
14238 l_rec_acct_attrs.array_acct_attr_code(32) := 'MULTIPERIOD_START_DATE';
14239 l_rec_acct_attrs.array_date_value(32) := p_source_45;
14240 l_rec_acct_attrs.array_acct_attr_code(33) := 'OVERRIDE_ACCTD_AMT_FLAG';
14241 l_rec_acct_attrs.array_char_value(33) := p_source_46;
14242 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_ID';
14243 l_rec_acct_attrs.array_num_value(34) := p_source_47;
14244 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_SITE_ID';
14245 l_rec_acct_attrs.array_num_value(35) := p_source_48;
14246 l_rec_acct_attrs.array_acct_attr_code(36) := 'PARTY_TYPE';
14247 l_rec_acct_attrs.array_char_value(36) := p_source_49;
14248 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_ID1';
14249 l_rec_acct_attrs.array_num_value(37) := to_char(p_source_50);
14250 l_rec_acct_attrs.array_acct_attr_code(38) := 'REVERSED_DISTRIBUTION_TYPE';
14251 l_rec_acct_attrs.array_char_value(38) := p_source_21;
14252 l_rec_acct_attrs.array_acct_attr_code(39) := 'STATISTICAL_AMOUNT';
14253 l_rec_acct_attrs.array_num_value(39) := p_source_51;
14254 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_LINE_REF_ID';
14255 l_rec_acct_attrs.array_num_value(40) := p_source_52;
14256 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_REC_NREC_DIST_REF_ID';
14257 l_rec_acct_attrs.array_num_value(41) := p_source_53;
14258 l_rec_acct_attrs.array_acct_attr_code(42) := 'TAX_SUMMARY_LINE_REF_ID';
14259 l_rec_acct_attrs.array_num_value(42) := p_source_54;
14260 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_CR_ENC_TYPE_ID';
14261 l_rec_acct_attrs.array_num_value(43) := p_source_55;
14262 l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
14263 l_rec_acct_attrs.array_num_value(44) := p_source_56;
14264
14265 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
14266 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
14267
14268 ---------------------------------------------------------------------------------------------------------------
14269 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
14270 ---------------------------------------------------------------------------------------------------------------
14271 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
14272
14273 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
14274 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
14275
14276 IF xla_accounting_cache_pkg.GetValueChar
14277 (p_source_code => 'LEDGER_CATEGORY_CODE'
14278 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
14279 AND l_bflow_method_code = 'PRIOR_ENTRY'
14283 )
14280 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
14281 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
14282 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
14284 THEN
14285 xla_ae_lines_pkg.BflowUpgEntry
14286 (p_business_method_code => l_bflow_method_code
14287 ,p_business_class_code => l_bflow_class_code
14288 ,p_balance_type => l_balance_type_code);
14289 ELSE
14290 NULL;
14291 -- No business flow processing for business flow method of NONE.
14292 END IF;
14293
14294 --
14295 -- call analytical criteria
14296 --
14297
14298 --
14299 -- call description
14300 --
14301
14302 xla_ae_lines_pkg.SetLineDescription(
14303 p_ae_header_id => l_ae_header_id
14304 ,p_description => Description_2 (
14305 p_application_id => p_application_id
14306 , p_ae_header_id => l_ae_header_id
14307 , p_source_1 => p_source_1
14308 )
14309 );
14310
14311
14312 --
14313 -- call ADRs
14314 -- Bug 4922099
14315 --
14316 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
14317 (NVL(l_actual_upg_option, 'N') = 'O') OR
14318 (NVL(l_enc_upg_option, 'N') = 'O')
14319 )
14320 THEN
14321 NULL;
14322 --
14323 --
14324
14325 l_ccid := AcctDerRule_7(
14326 p_application_id => p_application_id
14327 , p_ae_header_id => l_ae_header_id
14328 , p_source_11 => p_source_11
14329 , x_transaction_coa_id => l_adr_transaction_coa_id
14330 , x_accounting_coa_id => l_adr_accounting_coa_id
14331 , x_value_type_code => l_adr_value_type_code
14332 , p_side => 'NA'
14333 );
14334
14335 xla_ae_lines_pkg.set_ccid(
14336 p_code_combination_id => l_ccid
14337 , p_value_type_code => l_adr_value_type_code
14338 , p_transaction_coa_id => l_adr_transaction_coa_id
14339 , p_accounting_coa_id => l_adr_accounting_coa_id
14340 , p_adr_code => 'AP_INVOICE_DIST'
14341 , p_adr_type_code => 'S'
14342 , p_component_type => l_component_type
14343 , p_component_code => l_component_code
14344 , p_component_type_code => l_component_type_code
14345 , p_component_appl_id => l_component_appl_id
14346 , p_amb_context_code => l_amb_context_code
14347 , p_side => 'NA'
14348 );
14349
14350
14351 --
14352 --
14353 END IF;
14354 --
14355 -- Bug 4922099
14356 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
14357 (NVL(l_enc_upg_option, 'N') = 'O')
14358 ) AND
14359 (l_bflow_method_code = 'PRIOR_ENTRY')
14360 )
14361 THEN
14362 IF
14363 --
14364 1 = 2
14365 --
14366 THEN
14367 xla_accounting_err_pkg.build_message
14368 (p_appli_s_name => 'XLA'
14369 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
14370 ,p_token_1 => 'LINE_NUMBER'
14371 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
14372 ,p_token_2 => 'LINE_TYPE_NAME'
14373 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
14374 l_component_type
14375 ,l_component_code
14376 ,l_component_type_code
14377 ,l_component_appl_id
14378 ,l_amb_context_code
14379 ,l_entity_code
14380 ,l_event_class_code
14381 )
14382 ,p_token_3 => 'OWNER'
14383 ,p_value_3 => xla_lookups_pkg.get_meaning(
14384 p_lookup_type => 'XLA_OWNER_TYPE'
14385 ,p_lookup_code => l_component_type_code
14386 )
14387 ,p_token_4 => 'PRODUCT_NAME'
14388 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
14389 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
14390 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
14391 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
14392 ,p_ae_header_id => NULL
14393 );
14394
14398 ,p_level => C_LEVEL_ERROR
14395 IF (C_LEVEL_ERROR>= g_log_level) THEN
14396 trace
14397 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
14399 ,p_module => l_log_module);
14400 END IF;
14401 END IF;
14402 END IF;
14403 --
14404 --
14405 ------------------------------------------------------------------------------------------------
14406 -- 4219869 Business Flow
14407 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
14408 -- Prior Entry. Currently, the following code is always generated.
14409 ------------------------------------------------------------------------------------------------
14410 XLA_AE_LINES_PKG.ValidateCurrentLine;
14411
14412 ------------------------------------------------------------------------------------
14413 -- 4219869 Business Flow
14414 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
14415 ------------------------------------------------------------------------------------
14416 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
14417
14418 ----------------------------------------------------------------------------------
14419 -- 4219869 Business Flow
14420 -- Update journal entry status -- Need to generate this within IF <condition>
14421 ----------------------------------------------------------------------------------
14422 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
14423 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
14424 ,p_balance_type_code => l_balance_type_code
14425 );
14426
14427 -------------------------------------------------------------------------------------------
14428 -- 4262811 - Generate the Accrual Reversal lines
14429 -------------------------------------------------------------------------------------------
14430 BEGIN
14431 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
14432 (g_array_event(p_event_id).array_value_num('header_index'));
14433 IF l_acc_rev_flag IS NULL THEN
14434 l_acc_rev_flag := 'N';
14435 END IF;
14436 EXCEPTION
14437 WHEN OTHERS THEN
14438 l_acc_rev_flag := 'N';
14439 END;
14440 --
14441 IF (l_acc_rev_flag = 'Y') THEN
14442
14443 -- 4645092 ------------------------------------------------------------------------------
14444 -- To allow MPA report to determine if it should generate report process
14445 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
14446 ------------------------------------------------------------------------------------------
14447
14448 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
14449 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
14450 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
14451 -- call ADRs
14452 -- Bug 4922099
14453 --
14454 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
14455 (NVL(l_actual_upg_option, 'N') = 'O') OR
14456 (NVL(l_enc_upg_option, 'N') = 'O')
14457 )
14458 THEN
14459 NULL;
14460 --
14461 --
14462
14463 l_ccid := AcctDerRule_7(
14464 p_application_id => p_application_id
14465 , p_ae_header_id => l_ae_header_id
14466 , p_source_11 => p_source_11
14467 , x_transaction_coa_id => l_adr_transaction_coa_id
14468 , x_accounting_coa_id => l_adr_accounting_coa_id
14469 , x_value_type_code => l_adr_value_type_code
14470 , p_side => 'NA'
14471 );
14472
14473 xla_ae_lines_pkg.set_ccid(
14474 p_code_combination_id => l_ccid
14475 , p_value_type_code => l_adr_value_type_code
14476 , p_transaction_coa_id => l_adr_transaction_coa_id
14477 , p_accounting_coa_id => l_adr_accounting_coa_id
14478 , p_adr_code => 'AP_INVOICE_DIST'
14479 , p_adr_type_code => 'S'
14480 , p_component_type => l_component_type
14481 , p_component_code => l_component_code
14482 , p_component_type_code => l_component_type_code
14483 , p_component_appl_id => l_component_appl_id
14484 , p_amb_context_code => l_amb_context_code
14485 , p_side => 'NA'
14486 );
14487
14488
14489 --
14490 --
14491 END IF;
14492
14493 --
14494 -- Update the line information that should be overwritten
14495 --
14496 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
14497 p_header_num => 1);
14498 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
14499
14500 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
14501
14502 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
14503 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
14504 END IF;
14505
14506 --
14507 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
14508 --
14509 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
14513 -- 4262811a Switch Sign
14510 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
14511 ELSE
14512 ---------------------------------------------------------------------------------------------------
14514 ---------------------------------------------------------------------------------------------------
14515 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
14516 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
14517 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
14518 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
14519 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
14520 -- 5132302
14521 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
14522 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
14523
14524 END IF;
14525
14526 -- 4955764
14527 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
14528 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
14529
14530
14531 XLA_AE_LINES_PKG.ValidateCurrentLine;
14532 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
14533
14534 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
14535 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
14536 ,p_balance_type_code => l_balance_type_code);
14537
14538 END IF;
14539
14540 -----------------------------------------------------------------------------------------
14541 -- 4262811 Multiperiod Accounting
14542 -----------------------------------------------------------------------------------------
14543 -- No MPA option is assigned.
14544
14545
14546 END IF;
14547 END IF;
14548 --
14549
14550 --
14551 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
14552 trace
14553 (p_msg => 'END of AcctLineType_30'
14554 ,p_level => C_LEVEL_PROCEDURE
14555 ,p_module => l_log_module);
14556 END IF;
14557 --
14558 EXCEPTION
14559 WHEN xla_exceptions_pkg.application_exception THEN
14560 RAISE;
14561 WHEN OTHERS THEN
14562 xla_exceptions_pkg.raise_message
14563 (p_location => 'XLA_00200_AAD_S_000006_BC_PKG.AcctLineType_30');
14564 END AcctLineType_30;
14565 --
14566
14567 ---------------------------------------
14568 --
14569 -- PRIVATE FUNCTION
14570 -- AcctLineType_31
14571 --
14572 ---------------------------------------
14573 PROCEDURE AcctLineType_31 (
14574 p_application_id IN NUMBER
14575 ,p_event_id IN NUMBER
14576 ,p_calculate_acctd_flag IN VARCHAR2
14577 ,p_calculate_g_l_flag IN VARCHAR2
14578 ,p_actual_flag IN OUT VARCHAR2
14579 ,p_balance_type_code OUT VARCHAR2
14580 ,p_gain_or_loss_ref OUT VARCHAR2
14581
14582 --Invoice Distribution Type
14583 , p_source_15 IN VARCHAR2
14584 , p_source_15_meaning IN VARCHAR2
14585 --Accrue on Receipt Option
14586 , p_source_18 IN VARCHAR2
14587 , p_source_18_meaning IN VARCHAR2
14588 --Accounting Reversal Indicator
14589 , p_source_19 IN VARCHAR2
14590 --Distribution Link Type
14591 , p_source_21 IN VARCHAR2
14592 --Allocation to Main Distribution Identifier
14593 , p_source_23 IN NUMBER
14594 --Invoice Identifier
14595 , p_source_24 IN NUMBER
14596 --Invoice Distribution Identifier
14597 , p_source_30 IN NUMBER
14598 --Payables Encumbrance Upgrade Credit Account
14599 , p_source_31 IN NUMBER
14600 --Payables Encumbrance Upgrade Credit Amount
14601 , p_source_32 IN NUMBER
14602 --Invoice Currency Code
14603 , p_source_33 IN VARCHAR2
14604 --Payables Encumbrance Upgrade Credit Base Amount
14605 , p_source_34 IN NUMBER
14606 --Payables Encumbrance Upgrade Debit Account
14607 , p_source_35 IN NUMBER
14608 --Payables Encumbrance Upgrade Debit Amount
14609 , p_source_36 IN NUMBER
14610 --Payables Encumbrance Upgrade Debit Base Amount
14611 , p_source_37 IN NUMBER
14612 --Payables Encumbrance Upgrade Option
14613 , p_source_38 IN VARCHAR2
14614 --Deferred Accounting End Date
14615 , p_source_43 IN DATE
14616 --Deferred Accounting Option
14617 , p_source_44 IN VARCHAR2
14618 --Deferred Accounting Start Date
14619 , p_source_45 IN DATE
14620 --Override Accounted Amount Indicator
14621 , p_source_46 IN VARCHAR2
14622 , p_source_46_meaning IN VARCHAR2
14623 --Third Party Type
14624 , p_source_49 IN VARCHAR2
14625 --Parent Reversal Identifier
14626 , p_source_50 IN NUMBER
14627 --Invoice Distribution Statistical Amount
14628 , p_source_51 IN NUMBER
14629 --Invoice Distribution Tax Line Identifier
14630 , p_source_52 IN NUMBER
14631 --Invoice Distribution Tax Distribution Identifier from Tax
14635 --Payables Upgrade Credit Encumbrance Type Identifier
14632 , p_source_53 IN NUMBER
14633 --Invoice Distribution Summary Tax Line Identifier
14634 , p_source_54 IN NUMBER
14636 , p_source_55 IN NUMBER
14637 --Payables Upgrade Debit Encumbrance Type Identifier
14638 , p_source_56 IN NUMBER
14639 --Invoice Distribution Amount
14640 , p_source_57 IN NUMBER
14641 --Purchase Order Distribution Identifier
14642 , p_source_58 IN NUMBER
14643 --Self-Assessed Tax Flag
14644 , p_source_59 IN VARCHAR2
14645 , p_source_59_meaning IN VARCHAR2
14646 --Business Flow Purchasing Application Identifier
14647 , p_source_60 IN NUMBER
14648 --Business Flow Purchase Order Distribution Type
14649 , p_source_61 IN VARCHAR2
14650 --Business Flow Purchase Order Entity Code
14651 , p_source_62 IN VARCHAR2
14652 --Business Flow Purchase Order Distribution Identifier
14653 , p_source_63 IN NUMBER
14654 --Business Flow Purchasing Document Identifier
14655 , p_source_64 IN NUMBER
14656 --Invoice Distribution Encumbrance Amount
14657 , p_source_65 IN NUMBER
14658 --Invoice Distribution Encumbrance Ledger Amount
14659 , p_source_66 IN NUMBER
14660 )
14661 IS
14662
14663 l_component_type VARCHAR2(80);
14664 l_component_code VARCHAR2(30);
14665 l_component_type_code VARCHAR2(1);
14666 l_component_appl_id INTEGER;
14667 l_amb_context_code VARCHAR2(30);
14668 l_entity_code VARCHAR2(30);
14669 l_event_class_code VARCHAR2(30);
14670 l_ae_header_id NUMBER;
14671 l_event_type_code VARCHAR2(30);
14672 l_line_definition_code VARCHAR2(30);
14673 l_line_definition_owner_code VARCHAR2(1);
14674 --
14675 -- adr variables
14676 l_segment VARCHAR2(30);
14677 l_ccid NUMBER;
14678 l_adr_transaction_coa_id NUMBER;
14679 l_adr_accounting_coa_id NUMBER;
14680 l_adr_flexfield_segment_code VARCHAR2(30);
14681 l_adr_flex_value_set_id NUMBER;
14682 l_adr_value_type_code VARCHAR2(30);
14683 l_adr_value_combination_id NUMBER;
14684 l_adr_value_segment_code VARCHAR2(30);
14685
14686 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
14687 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
14688 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
14689 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
14690
14691 -- 4262811 Variables ------------------------------------------------------------------------------------------
14692 l_entered_amt_idx NUMBER;
14693 l_accted_amt_idx NUMBER;
14694 l_acc_rev_flag VARCHAR2(1);
14695 l_accrual_line_num NUMBER;
14696 l_tmp_amt NUMBER;
14697 l_acc_rev_natural_side_code VARCHAR2(1);
14698
14699 l_num_entries NUMBER;
14700 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
14701 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
14702 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
14703 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
14704 l_recog_line_1 NUMBER;
14705 l_recog_line_2 NUMBER;
14706
14707 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
14708 l_bflow_applied_to_amt NUMBER; -- 5132302
14709 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
14710
14711 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
14712
14713 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
14714 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
14715
14716 ---------------------------------------------------------------------------------------------------------------
14717
14718
14719 --
14720 -- bulk performance
14721 --
14722 l_balance_type_code VARCHAR2(1);
14723 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
14724 l_log_module VARCHAR2(240);
14725
14726 --
14727 -- Upgrade strategy
14728 --
14729 l_actual_upg_option VARCHAR2(1);
14730 l_enc_upg_option VARCHAR2(1);
14731
14732 --
14733 BEGIN
14734 --
14735 IF g_log_enabled THEN
14736 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_31';
14737 END IF;
14738 --
14739 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
14740
14741 trace
14742 (p_msg => 'BEGIN of AcctLineType_31'
14743 ,p_level => C_LEVEL_PROCEDURE
14744 ,p_module => l_log_module);
14745
14746 END IF;
14747 --
14748 l_component_type := 'AMB_JLT';
14749 l_component_code := 'AP_INV_NON_REC_TAX_PO_ENC';
14750 l_component_type_code := 'S';
14751 l_component_appl_id := 200;
14752 l_amb_context_code := 'DEFAULT';
14753 l_entity_code := 'AP_INVOICES';
14754 l_event_class_code := 'INVOICES';
14755 l_event_type_code := 'INVOICES_ALL';
14756 l_line_definition_owner_code := 'S';
14757 l_line_definition_code := 'ENC_INVOICES_ALL';
14758 --
14762 l_adr_transaction_coa_id := NULL;
14759 l_balance_type_code := 'E';
14760 l_segment := NULL;
14761 l_ccid := NULL;
14763 l_adr_accounting_coa_id := NULL;
14764 l_adr_flexfield_segment_code := NULL;
14765 l_adr_flex_value_set_id := NULL;
14766 l_adr_value_type_code := NULL;
14767 l_adr_value_combination_id := NULL;
14768 l_adr_value_segment_code := NULL;
14769
14770 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
14771 l_bflow_class_code := 'PO_ENCUMBRANCE'; -- 4219869 Business Flow
14772 l_inherit_desc_flag := 'Y'; -- 4219869 Business Flow
14773 l_budgetary_control_flag := 'Y';
14774
14775 l_bflow_applied_to_amt_idx := NULL; -- 5132302
14776 l_bflow_applied_to_amt := NULL; -- 5132302
14777 l_entered_amt_idx := NULL; -- 4262811
14778 l_accted_amt_idx := NULL; -- 4262811
14779 l_acc_rev_flag := NULL; -- 4262811
14780 l_accrual_line_num := NULL; -- 4262811
14781 l_tmp_amt := NULL; -- 4262811
14782 --
14783
14784 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
14785 l_balance_type_code <> 'B' THEN
14786 IF p_source_58 IS NOT NULL AND
14787 NVL(p_source_15,'
14788 ') = 'NONREC_TAX' AND
14789 NVL(p_source_59,'
14790 ') <> 'Y' AND
14791 NVL(p_source_18,'
14792 ') <> 'Y'
14793 THEN
14794
14795 --
14796 XLA_AE_LINES_PKG.SetNewLine;
14797
14798 p_balance_type_code := l_balance_type_code;
14799 -- set the flag so later we will know whether the gain loss line needs to be created
14800
14801 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
14802 p_actual_flag :='A';
14803 END IF;
14804
14805 --
14806 -- bulk performance
14807 --
14808 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
14809 p_header_num => 0); -- 4262811
14810 --
14811 -- set accounting line options
14812 --
14813 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
14814 p_natural_side_code => 'C'
14815 , p_gain_or_loss_flag => 'N'
14816 , p_gl_transfer_mode_code => 'S'
14817 , p_acct_entry_type_code => 'E'
14818 , p_switch_side_flag => 'Y'
14819 , p_merge_duplicate_code => 'N'
14820 );
14821 --
14822 l_acc_rev_natural_side_code := 'D'; -- 4262811
14823 --
14824 --
14825 -- set accounting line type info
14826 --
14827 xla_ae_lines_pkg.SetAcctLineType
14828 (p_component_type => l_component_type
14829 ,p_event_type_code => l_event_type_code
14830 ,p_line_definition_owner_code => l_line_definition_owner_code
14831 ,p_line_definition_code => l_line_definition_code
14832 ,p_accounting_line_code => l_component_code
14833 ,p_accounting_line_type_code => l_component_type_code
14834 ,p_accounting_line_appl_id => l_component_appl_id
14835 ,p_amb_context_code => l_amb_context_code
14836 ,p_entity_code => l_entity_code
14837 ,p_event_class_code => l_event_class_code);
14838 --
14839 -- set accounting class
14840 --
14841 xla_ae_lines_pkg.SetAcctClass(
14842 p_accounting_class_code => 'PURCHASE_ORDER'
14843 , p_ae_header_id => l_ae_header_id
14844 );
14845
14846 --
14847 -- set rounding class
14848 --
14849 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
14850 'PURCHASE_ORDER';
14851
14852 --
14853 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
14854 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
14855 --
14856 -- bulk performance
14857 --
14858 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
14859
14860 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
14861 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
14862
14863 -- 4955764
14864 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
14865 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
14866
14867 -- 4458381 Public Sector Enh
14868
14869 --
14870 -- set accounting attributes for the line type
14871 --
14872 l_entered_amt_idx := 24;
14873 l_accted_amt_idx := 26;
14874 l_bflow_applied_to_amt_idx := 7; -- 5132302
14875 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
14876 l_rec_acct_attrs.array_char_value(1) := p_source_19;
14877 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
14878 l_rec_acct_attrs.array_num_value(2) :=
14879 xla_ae_sources_pkg.GetSystemSourceNum(
14880 p_source_code => 'XLA_EVENT_APPL_ID'
14881 , p_source_type_code => 'Y'
14882 , p_source_application_id => 602
14883 );
14884 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
14888 xla_ae_sources_pkg.GetSystemSourceChar(
14885 l_rec_acct_attrs.array_char_value(3) := p_source_21;
14886 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
14887 l_rec_acct_attrs.array_char_value(4) :=
14889 p_source_code => 'XLA_ENTITY_CODE'
14890 , p_source_type_code => 'Y'
14891 , p_source_application_id => 602
14892 );
14893 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
14894 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_23);
14895 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
14896 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_24);
14897 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_AMOUNT';
14898 l_rec_acct_attrs.array_num_value(7) := p_source_57;
14899 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_APPLICATION_ID';
14900 l_rec_acct_attrs.array_num_value(8) := p_source_60;
14901 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_DISTRIBUTION_TYPE';
14902 l_rec_acct_attrs.array_char_value(9) := p_source_61;
14903 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_ENTITY_CODE';
14904 l_rec_acct_attrs.array_char_value(10) := p_source_62;
14905 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_DIST_ID';
14906 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_63);
14907 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
14908 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_64);
14909 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
14910 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_30);
14911 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_TYPE';
14912 l_rec_acct_attrs.array_char_value(14) := p_source_21;
14913 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
14914 l_rec_acct_attrs.array_num_value(15) := p_source_31;
14915 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
14916 l_rec_acct_attrs.array_num_value(16) := p_source_32;
14917 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
14918 l_rec_acct_attrs.array_char_value(17) := p_source_33;
14919 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
14920 l_rec_acct_attrs.array_num_value(18) := p_source_34;
14921 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_CCID';
14922 l_rec_acct_attrs.array_num_value(19) := p_source_35;
14923 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_AMT';
14924 l_rec_acct_attrs.array_num_value(20) := p_source_36;
14925 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_CURR';
14926 l_rec_acct_attrs.array_char_value(21) := p_source_33;
14927 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_LEDGER_AMT';
14928 l_rec_acct_attrs.array_num_value(22) := p_source_37;
14929 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_OPTION';
14930 l_rec_acct_attrs.array_char_value(23) := p_source_38;
14931 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_AMOUNT';
14932 l_rec_acct_attrs.array_num_value(24) := p_source_65;
14933 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_CODE';
14934 l_rec_acct_attrs.array_char_value(25) := p_source_33;
14935 l_rec_acct_attrs.array_acct_attr_code(26) := 'LEDGER_AMOUNT';
14936 l_rec_acct_attrs.array_num_value(26) := p_source_66;
14937 l_rec_acct_attrs.array_acct_attr_code(27) := 'MULTIPERIOD_END_DATE';
14938 l_rec_acct_attrs.array_date_value(27) := p_source_43;
14939 l_rec_acct_attrs.array_acct_attr_code(28) := 'MULTIPERIOD_OPTION';
14940 l_rec_acct_attrs.array_char_value(28) := p_source_44;
14941 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_START_DATE';
14942 l_rec_acct_attrs.array_date_value(29) := p_source_45;
14943 l_rec_acct_attrs.array_acct_attr_code(30) := 'OVERRIDE_ACCTD_AMT_FLAG';
14944 l_rec_acct_attrs.array_char_value(30) := p_source_46;
14945 l_rec_acct_attrs.array_acct_attr_code(31) := 'PARTY_TYPE';
14946 l_rec_acct_attrs.array_char_value(31) := p_source_49;
14947 l_rec_acct_attrs.array_acct_attr_code(32) := 'REVERSED_DISTRIBUTION_ID1';
14948 l_rec_acct_attrs.array_num_value(32) := to_char(p_source_50);
14949 l_rec_acct_attrs.array_acct_attr_code(33) := 'REVERSED_DISTRIBUTION_TYPE';
14950 l_rec_acct_attrs.array_char_value(33) := p_source_21;
14951 l_rec_acct_attrs.array_acct_attr_code(34) := 'STATISTICAL_AMOUNT';
14952 l_rec_acct_attrs.array_num_value(34) := p_source_51;
14953 l_rec_acct_attrs.array_acct_attr_code(35) := 'TAX_LINE_REF_ID';
14954 l_rec_acct_attrs.array_num_value(35) := p_source_52;
14955 l_rec_acct_attrs.array_acct_attr_code(36) := 'TAX_REC_NREC_DIST_REF_ID';
14956 l_rec_acct_attrs.array_num_value(36) := p_source_53;
14957 l_rec_acct_attrs.array_acct_attr_code(37) := 'TAX_SUMMARY_LINE_REF_ID';
14958 l_rec_acct_attrs.array_num_value(37) := p_source_54;
14959 l_rec_acct_attrs.array_acct_attr_code(38) := 'UPG_CR_ENC_TYPE_ID';
14960 l_rec_acct_attrs.array_num_value(38) := p_source_55;
14961 l_rec_acct_attrs.array_acct_attr_code(39) := 'UPG_DR_ENC_TYPE_ID';
14962 l_rec_acct_attrs.array_num_value(39) := p_source_56;
14963
14964 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
14965 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
14966
14967 ---------------------------------------------------------------------------------------------------------------
14968 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
14972 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
14969 ---------------------------------------------------------------------------------------------------------------
14970 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
14971
14973 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
14974
14975 IF xla_accounting_cache_pkg.GetValueChar
14976 (p_source_code => 'LEDGER_CATEGORY_CODE'
14977 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
14978 AND l_bflow_method_code = 'PRIOR_ENTRY'
14979 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
14980 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
14981 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
14982 )
14983 THEN
14984 xla_ae_lines_pkg.BflowUpgEntry
14985 (p_business_method_code => l_bflow_method_code
14986 ,p_business_class_code => l_bflow_class_code
14987 ,p_balance_type => l_balance_type_code);
14988 ELSE
14989 NULL;
14990 XLA_AE_LINES_PKG.business_flow_validation(
14991 p_business_method_code => l_bflow_method_code
14992 ,p_business_class_code => l_bflow_class_code
14993 ,p_inherit_description_flag => l_inherit_desc_flag);
14994 END IF;
14995
14996 --
14997 -- call analytical criteria
14998 --
14999 -- Inherited Analytical Criteria for business flow method of Prior Entry.
15000 --
15001 -- call description
15002 --
15003 -- No description or it is inherited.
15004 --
15005 -- call ADRs
15006 -- Bug 4922099
15007 --
15008 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
15009 (NVL(l_actual_upg_option, 'N') = 'O') OR
15010 (NVL(l_enc_upg_option, 'N') = 'O')
15011 )
15012 THEN
15013 NULL;
15014 --
15015 --
15016
15017 --
15018 --
15019 END IF;
15020 --
15021 -- Bug 4922099
15022 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
15023 (NVL(l_enc_upg_option, 'N') = 'O')
15024 ) AND
15025 (l_bflow_method_code = 'PRIOR_ENTRY')
15026 )
15027 THEN
15028 IF
15029 --
15030 1 = 1
15031 --
15032 THEN
15033 xla_accounting_err_pkg.build_message
15034 (p_appli_s_name => 'XLA'
15035 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
15036 ,p_token_1 => 'LINE_NUMBER'
15037 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
15038 ,p_token_2 => 'LINE_TYPE_NAME'
15039 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
15040 l_component_type
15041 ,l_component_code
15042 ,l_component_type_code
15043 ,l_component_appl_id
15044 ,l_amb_context_code
15045 ,l_entity_code
15046 ,l_event_class_code
15047 )
15048 ,p_token_3 => 'OWNER'
15049 ,p_value_3 => xla_lookups_pkg.get_meaning(
15050 p_lookup_type => 'XLA_OWNER_TYPE'
15051 ,p_lookup_code => l_component_type_code
15052 )
15053 ,p_token_4 => 'PRODUCT_NAME'
15054 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
15055 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
15056 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
15057 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
15058 ,p_ae_header_id => NULL
15059 );
15060
15061 IF (C_LEVEL_ERROR>= g_log_level) THEN
15062 trace
15063 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
15064 ,p_level => C_LEVEL_ERROR
15065 ,p_module => l_log_module);
15066 END IF;
15067 END IF;
15068 END IF;
15069 --
15070 --
15071 ------------------------------------------------------------------------------------------------
15072 -- 4219869 Business Flow
15076 -- No ValidateCurrentLine for business flow method of Prior Entry
15073 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
15074 -- Prior Entry. Currently, the following code is always generated.
15075 ------------------------------------------------------------------------------------------------
15077
15078 ------------------------------------------------------------------------------------
15079 -- 4219869 Business Flow
15080 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
15081 ------------------------------------------------------------------------------------
15082 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
15083
15084 ----------------------------------------------------------------------------------
15085 -- 4219869 Business Flow
15086 -- Update journal entry status -- Need to generate this within IF <condition>
15087 ----------------------------------------------------------------------------------
15088 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
15089 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
15090 ,p_balance_type_code => l_balance_type_code
15091 );
15092
15093 -------------------------------------------------------------------------------------------
15094 -- 4262811 - Generate the Accrual Reversal lines
15095 -------------------------------------------------------------------------------------------
15096 BEGIN
15097 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
15098 (g_array_event(p_event_id).array_value_num('header_index'));
15099 IF l_acc_rev_flag IS NULL THEN
15100 l_acc_rev_flag := 'N';
15101 END IF;
15102 EXCEPTION
15103 WHEN OTHERS THEN
15104 l_acc_rev_flag := 'N';
15105 END;
15106 --
15107 IF (l_acc_rev_flag = 'Y') THEN
15108
15109 -- 4645092 ------------------------------------------------------------------------------
15110 -- To allow MPA report to determine if it should generate report process
15111 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
15112 ------------------------------------------------------------------------------------------
15113
15114 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
15115 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
15116 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
15117 -- call ADRs
15118 -- Bug 4922099
15119 --
15120 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
15121 (NVL(l_actual_upg_option, 'N') = 'O') OR
15122 (NVL(l_enc_upg_option, 'N') = 'O')
15123 )
15124 THEN
15125 NULL;
15126 --
15127 --
15128
15129 --
15130 --
15131 END IF;
15132
15133 --
15134 -- Update the line information that should be overwritten
15135 --
15136 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
15137 p_header_num => 1);
15138 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
15139
15140 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
15141
15142 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
15143 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
15144 END IF;
15145
15146 --
15147 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
15148 --
15149 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
15150 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
15151 ELSE
15152 ---------------------------------------------------------------------------------------------------
15153 -- 4262811a Switch Sign
15154 ---------------------------------------------------------------------------------------------------
15155 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
15156 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
15157 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
15158 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
15159 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
15160 -- 5132302
15161 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
15162 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
15163
15164 END IF;
15165
15166 -- 4955764
15167 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
15168 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
15169
15170
15171 XLA_AE_LINES_PKG.ValidateCurrentLine;
15172 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
15173
15174 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
15175 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
15179
15176 ,p_balance_type_code => l_balance_type_code);
15177
15178 END IF;
15180 -----------------------------------------------------------------------------------------
15181 -- 4262811 Multiperiod Accounting
15182 -----------------------------------------------------------------------------------------
15183 -- No MPA option is assigned.
15184
15185
15186 END IF;
15187 END IF;
15188 --
15189
15190 --
15191 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
15192 trace
15193 (p_msg => 'END of AcctLineType_31'
15194 ,p_level => C_LEVEL_PROCEDURE
15195 ,p_module => l_log_module);
15196 END IF;
15197 --
15198 EXCEPTION
15199 WHEN xla_exceptions_pkg.application_exception THEN
15200 RAISE;
15201 WHEN OTHERS THEN
15202 xla_exceptions_pkg.raise_message
15203 (p_location => 'XLA_00200_AAD_S_000006_BC_PKG.AcctLineType_31');
15204 END AcctLineType_31;
15205 --
15206
15207 ---------------------------------------
15208 --
15209 -- PRIVATE FUNCTION
15210 -- AcctLineType_32
15211 --
15212 ---------------------------------------
15213 PROCEDURE AcctLineType_32 (
15214 p_application_id IN NUMBER
15215 ,p_event_id IN NUMBER
15216 ,p_calculate_acctd_flag IN VARCHAR2
15217 ,p_calculate_g_l_flag IN VARCHAR2
15218 ,p_actual_flag IN OUT VARCHAR2
15219 ,p_balance_type_code OUT VARCHAR2
15220 ,p_gain_or_loss_ref OUT VARCHAR2
15221
15222 --Invoice Distribution Type
15223 , p_source_15 IN VARCHAR2
15224 , p_source_15_meaning IN VARCHAR2
15225 --Accrue on Receipt Option
15226 , p_source_18 IN VARCHAR2
15227 , p_source_18_meaning IN VARCHAR2
15228 --Accounting Reversal Indicator
15229 , p_source_19 IN VARCHAR2
15230 --Distribution Link Type
15231 , p_source_21 IN VARCHAR2
15232 --Allocation to Main Distribution Identifier
15233 , p_source_23 IN NUMBER
15234 --Invoice Identifier
15235 , p_source_24 IN NUMBER
15236 --Invoice Distribution Identifier
15237 , p_source_30 IN NUMBER
15238 --Payables Encumbrance Upgrade Credit Account
15239 , p_source_31 IN NUMBER
15240 --Payables Encumbrance Upgrade Credit Amount
15241 , p_source_32 IN NUMBER
15242 --Invoice Currency Code
15243 , p_source_33 IN VARCHAR2
15244 --Payables Encumbrance Upgrade Credit Base Amount
15245 , p_source_34 IN NUMBER
15246 --Payables Encumbrance Upgrade Debit Account
15247 , p_source_35 IN NUMBER
15248 --Payables Encumbrance Upgrade Debit Amount
15249 , p_source_36 IN NUMBER
15250 --Payables Encumbrance Upgrade Debit Base Amount
15251 , p_source_37 IN NUMBER
15252 --Payables Encumbrance Upgrade Option
15253 , p_source_38 IN VARCHAR2
15254 --Deferred Accounting End Date
15255 , p_source_43 IN DATE
15256 --Deferred Accounting Option
15257 , p_source_44 IN VARCHAR2
15258 --Deferred Accounting Start Date
15259 , p_source_45 IN DATE
15260 --Override Accounted Amount Indicator
15261 , p_source_46 IN VARCHAR2
15262 , p_source_46_meaning IN VARCHAR2
15263 --Third Party Type
15264 , p_source_49 IN VARCHAR2
15265 --Parent Reversal Identifier
15266 , p_source_50 IN NUMBER
15267 --Invoice Distribution Statistical Amount
15268 , p_source_51 IN NUMBER
15269 --Invoice Distribution Tax Line Identifier
15270 , p_source_52 IN NUMBER
15271 --Invoice Distribution Tax Distribution Identifier from Tax
15272 , p_source_53 IN NUMBER
15273 --Invoice Distribution Summary Tax Line Identifier
15274 , p_source_54 IN NUMBER
15275 --Payables Upgrade Credit Encumbrance Type Identifier
15276 , p_source_55 IN NUMBER
15277 --Payables Upgrade Debit Encumbrance Type Identifier
15278 , p_source_56 IN NUMBER
15279 --Invoice Distribution Amount
15280 , p_source_57 IN NUMBER
15281 --Purchase Order Distribution Identifier
15282 , p_source_58 IN NUMBER
15283 --Business Flow Purchasing Application Identifier
15284 , p_source_60 IN NUMBER
15285 --Business Flow Purchase Order Distribution Type
15286 , p_source_61 IN VARCHAR2
15287 --Business Flow Purchase Order Entity Code
15288 , p_source_62 IN VARCHAR2
15289 --Business Flow Purchase Order Distribution Identifier
15290 , p_source_63 IN NUMBER
15291 --Business Flow Purchasing Document Identifier
15292 , p_source_64 IN NUMBER
15293 --Invoice Distribution Encumbrance Amount
15294 , p_source_65 IN NUMBER
15295 --Invoice Distribution Encumbrance Ledger Amount
15296 , p_source_66 IN NUMBER
15297 )
15298 IS
15299
15300 l_component_type VARCHAR2(80);
15301 l_component_code VARCHAR2(30);
15302 l_component_type_code VARCHAR2(1);
15303 l_component_appl_id INTEGER;
15304 l_amb_context_code VARCHAR2(30);
15305 l_entity_code VARCHAR2(30);
15306 l_event_class_code VARCHAR2(30);
15307 l_ae_header_id NUMBER;
15308 l_event_type_code VARCHAR2(30);
15309 l_line_definition_code VARCHAR2(30);
15310 l_line_definition_owner_code VARCHAR2(1);
15311 --
15312 -- adr variables
15316 l_adr_accounting_coa_id NUMBER;
15313 l_segment VARCHAR2(30);
15314 l_ccid NUMBER;
15315 l_adr_transaction_coa_id NUMBER;
15317 l_adr_flexfield_segment_code VARCHAR2(30);
15318 l_adr_flex_value_set_id NUMBER;
15319 l_adr_value_type_code VARCHAR2(30);
15320 l_adr_value_combination_id NUMBER;
15321 l_adr_value_segment_code VARCHAR2(30);
15322
15323 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
15324 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
15325 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
15326 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
15327
15328 -- 4262811 Variables ------------------------------------------------------------------------------------------
15329 l_entered_amt_idx NUMBER;
15330 l_accted_amt_idx NUMBER;
15331 l_acc_rev_flag VARCHAR2(1);
15332 l_accrual_line_num NUMBER;
15333 l_tmp_amt NUMBER;
15334 l_acc_rev_natural_side_code VARCHAR2(1);
15335
15336 l_num_entries NUMBER;
15337 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
15338 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
15339 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
15340 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
15341 l_recog_line_1 NUMBER;
15342 l_recog_line_2 NUMBER;
15343
15344 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
15345 l_bflow_applied_to_amt NUMBER; -- 5132302
15346 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
15347
15348 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
15349
15350 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
15351 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
15352
15353 ---------------------------------------------------------------------------------------------------------------
15354
15355
15356 --
15357 -- bulk performance
15358 --
15359 l_balance_type_code VARCHAR2(1);
15360 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
15361 l_log_module VARCHAR2(240);
15362
15363 --
15364 -- Upgrade strategy
15365 --
15366 l_actual_upg_option VARCHAR2(1);
15367 l_enc_upg_option VARCHAR2(1);
15368
15369 --
15370 BEGIN
15371 --
15372 IF g_log_enabled THEN
15373 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_32';
15374 END IF;
15375 --
15376 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
15377
15378 trace
15379 (p_msg => 'BEGIN of AcctLineType_32'
15380 ,p_level => C_LEVEL_PROCEDURE
15381 ,p_module => l_log_module);
15382
15383 END IF;
15384 --
15385 l_component_type := 'AMB_JLT';
15386 l_component_code := 'AP_INV_PO_ENC';
15387 l_component_type_code := 'S';
15388 l_component_appl_id := 200;
15389 l_amb_context_code := 'DEFAULT';
15390 l_entity_code := 'AP_INVOICES';
15391 l_event_class_code := 'INVOICES';
15392 l_event_type_code := 'INVOICES_ALL';
15393 l_line_definition_owner_code := 'S';
15394 l_line_definition_code := 'ENC_INVOICES_ALL';
15395 --
15396 l_balance_type_code := 'E';
15397 l_segment := NULL;
15398 l_ccid := NULL;
15399 l_adr_transaction_coa_id := NULL;
15400 l_adr_accounting_coa_id := NULL;
15401 l_adr_flexfield_segment_code := NULL;
15402 l_adr_flex_value_set_id := NULL;
15403 l_adr_value_type_code := NULL;
15404 l_adr_value_combination_id := NULL;
15405 l_adr_value_segment_code := NULL;
15406
15407 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
15408 l_bflow_class_code := 'PO_ENCUMBRANCE'; -- 4219869 Business Flow
15409 l_inherit_desc_flag := 'Y'; -- 4219869 Business Flow
15410 l_budgetary_control_flag := 'Y';
15411
15412 l_bflow_applied_to_amt_idx := NULL; -- 5132302
15413 l_bflow_applied_to_amt := NULL; -- 5132302
15414 l_entered_amt_idx := NULL; -- 4262811
15415 l_accted_amt_idx := NULL; -- 4262811
15416 l_acc_rev_flag := NULL; -- 4262811
15417 l_accrual_line_num := NULL; -- 4262811
15418 l_tmp_amt := NULL; -- 4262811
15419 --
15420
15421 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
15422 l_balance_type_code <> 'B' THEN
15423 IF p_source_58 IS NOT NULL AND
15424 (NVL(p_source_15,'
15425 ') = 'ACCRUAL' OR
15426 NVL(p_source_15,'
15427 ') = 'ITEM') AND
15428 NVL(p_source_18,'
15429 ') <> 'Y'
15430 THEN
15431
15432 --
15433 XLA_AE_LINES_PKG.SetNewLine;
15434
15435 p_balance_type_code := l_balance_type_code;
15436 -- set the flag so later we will know whether the gain loss line needs to be created
15437
15438 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
15439 p_actual_flag :='A';
15440 END IF;
15441
15442 --
15443 -- bulk performance
15447 --
15444 --
15445 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
15446 p_header_num => 0); -- 4262811
15448 -- set accounting line options
15449 --
15450 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
15451 p_natural_side_code => 'C'
15452 , p_gain_or_loss_flag => 'N'
15453 , p_gl_transfer_mode_code => 'S'
15454 , p_acct_entry_type_code => 'E'
15455 , p_switch_side_flag => 'Y'
15456 , p_merge_duplicate_code => 'N'
15457 );
15458 --
15459 l_acc_rev_natural_side_code := 'D'; -- 4262811
15460 --
15461 --
15462 -- set accounting line type info
15463 --
15464 xla_ae_lines_pkg.SetAcctLineType
15465 (p_component_type => l_component_type
15466 ,p_event_type_code => l_event_type_code
15467 ,p_line_definition_owner_code => l_line_definition_owner_code
15468 ,p_line_definition_code => l_line_definition_code
15469 ,p_accounting_line_code => l_component_code
15470 ,p_accounting_line_type_code => l_component_type_code
15471 ,p_accounting_line_appl_id => l_component_appl_id
15472 ,p_amb_context_code => l_amb_context_code
15473 ,p_entity_code => l_entity_code
15474 ,p_event_class_code => l_event_class_code);
15475 --
15476 -- set accounting class
15477 --
15478 xla_ae_lines_pkg.SetAcctClass(
15479 p_accounting_class_code => 'PURCHASE_ORDER'
15480 , p_ae_header_id => l_ae_header_id
15481 );
15482
15483 --
15484 -- set rounding class
15485 --
15486 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
15487 'PURCHASE_ORDER';
15488
15489 --
15490 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
15491 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
15492 --
15493 -- bulk performance
15494 --
15495 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
15496
15497 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
15498 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
15499
15500 -- 4955764
15501 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
15502 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
15503
15504 -- 4458381 Public Sector Enh
15505
15506 --
15507 -- set accounting attributes for the line type
15508 --
15509 l_entered_amt_idx := 24;
15510 l_accted_amt_idx := 26;
15511 l_bflow_applied_to_amt_idx := 7; -- 5132302
15512 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
15513 l_rec_acct_attrs.array_char_value(1) := p_source_19;
15514 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
15515 l_rec_acct_attrs.array_num_value(2) :=
15516 xla_ae_sources_pkg.GetSystemSourceNum(
15517 p_source_code => 'XLA_EVENT_APPL_ID'
15518 , p_source_type_code => 'Y'
15519 , p_source_application_id => 602
15520 );
15521 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
15522 l_rec_acct_attrs.array_char_value(3) := p_source_21;
15523 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
15524 l_rec_acct_attrs.array_char_value(4) :=
15525 xla_ae_sources_pkg.GetSystemSourceChar(
15526 p_source_code => 'XLA_ENTITY_CODE'
15527 , p_source_type_code => 'Y'
15528 , p_source_application_id => 602
15529 );
15530 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
15531 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_23);
15532 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
15533 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_24);
15534 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_AMOUNT';
15535 l_rec_acct_attrs.array_num_value(7) := p_source_57;
15536 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_APPLICATION_ID';
15537 l_rec_acct_attrs.array_num_value(8) := p_source_60;
15538 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_DISTRIBUTION_TYPE';
15539 l_rec_acct_attrs.array_char_value(9) := p_source_61;
15540 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_ENTITY_CODE';
15541 l_rec_acct_attrs.array_char_value(10) := p_source_62;
15542 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_DIST_ID';
15543 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_63);
15544 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
15545 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_64);
15546 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
15547 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_30);
15548 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_TYPE';
15549 l_rec_acct_attrs.array_char_value(14) := p_source_21;
15550 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
15551 l_rec_acct_attrs.array_num_value(15) := p_source_31;
15552 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
15556 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
15553 l_rec_acct_attrs.array_num_value(16) := p_source_32;
15554 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
15555 l_rec_acct_attrs.array_char_value(17) := p_source_33;
15557 l_rec_acct_attrs.array_num_value(18) := p_source_34;
15558 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_CCID';
15559 l_rec_acct_attrs.array_num_value(19) := p_source_35;
15560 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_AMT';
15561 l_rec_acct_attrs.array_num_value(20) := p_source_36;
15562 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_CURR';
15563 l_rec_acct_attrs.array_char_value(21) := p_source_33;
15564 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_LEDGER_AMT';
15565 l_rec_acct_attrs.array_num_value(22) := p_source_37;
15566 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_OPTION';
15567 l_rec_acct_attrs.array_char_value(23) := p_source_38;
15568 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_AMOUNT';
15569 l_rec_acct_attrs.array_num_value(24) := p_source_65;
15570 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_CODE';
15571 l_rec_acct_attrs.array_char_value(25) := p_source_33;
15572 l_rec_acct_attrs.array_acct_attr_code(26) := 'LEDGER_AMOUNT';
15573 l_rec_acct_attrs.array_num_value(26) := p_source_66;
15574 l_rec_acct_attrs.array_acct_attr_code(27) := 'MULTIPERIOD_END_DATE';
15575 l_rec_acct_attrs.array_date_value(27) := p_source_43;
15576 l_rec_acct_attrs.array_acct_attr_code(28) := 'MULTIPERIOD_OPTION';
15577 l_rec_acct_attrs.array_char_value(28) := p_source_44;
15578 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_START_DATE';
15579 l_rec_acct_attrs.array_date_value(29) := p_source_45;
15580 l_rec_acct_attrs.array_acct_attr_code(30) := 'OVERRIDE_ACCTD_AMT_FLAG';
15581 l_rec_acct_attrs.array_char_value(30) := p_source_46;
15582 l_rec_acct_attrs.array_acct_attr_code(31) := 'PARTY_TYPE';
15583 l_rec_acct_attrs.array_char_value(31) := p_source_49;
15584 l_rec_acct_attrs.array_acct_attr_code(32) := 'REVERSED_DISTRIBUTION_ID1';
15585 l_rec_acct_attrs.array_num_value(32) := to_char(p_source_50);
15586 l_rec_acct_attrs.array_acct_attr_code(33) := 'REVERSED_DISTRIBUTION_TYPE';
15587 l_rec_acct_attrs.array_char_value(33) := p_source_21;
15588 l_rec_acct_attrs.array_acct_attr_code(34) := 'STATISTICAL_AMOUNT';
15589 l_rec_acct_attrs.array_num_value(34) := p_source_51;
15590 l_rec_acct_attrs.array_acct_attr_code(35) := 'TAX_LINE_REF_ID';
15591 l_rec_acct_attrs.array_num_value(35) := p_source_52;
15592 l_rec_acct_attrs.array_acct_attr_code(36) := 'TAX_REC_NREC_DIST_REF_ID';
15593 l_rec_acct_attrs.array_num_value(36) := p_source_53;
15594 l_rec_acct_attrs.array_acct_attr_code(37) := 'TAX_SUMMARY_LINE_REF_ID';
15595 l_rec_acct_attrs.array_num_value(37) := p_source_54;
15596 l_rec_acct_attrs.array_acct_attr_code(38) := 'UPG_CR_ENC_TYPE_ID';
15597 l_rec_acct_attrs.array_num_value(38) := p_source_55;
15598 l_rec_acct_attrs.array_acct_attr_code(39) := 'UPG_DR_ENC_TYPE_ID';
15599 l_rec_acct_attrs.array_num_value(39) := p_source_56;
15600
15601 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
15602 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
15603
15604 ---------------------------------------------------------------------------------------------------------------
15605 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
15606 ---------------------------------------------------------------------------------------------------------------
15607 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
15608
15609 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
15610 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
15611
15612 IF xla_accounting_cache_pkg.GetValueChar
15613 (p_source_code => 'LEDGER_CATEGORY_CODE'
15614 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
15615 AND l_bflow_method_code = 'PRIOR_ENTRY'
15616 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
15617 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
15618 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
15619 )
15620 THEN
15621 xla_ae_lines_pkg.BflowUpgEntry
15622 (p_business_method_code => l_bflow_method_code
15623 ,p_business_class_code => l_bflow_class_code
15624 ,p_balance_type => l_balance_type_code);
15625 ELSE
15626 NULL;
15627 XLA_AE_LINES_PKG.business_flow_validation(
15628 p_business_method_code => l_bflow_method_code
15629 ,p_business_class_code => l_bflow_class_code
15630 ,p_inherit_description_flag => l_inherit_desc_flag);
15631 END IF;
15632
15633 --
15634 -- call analytical criteria
15635 --
15636 -- Inherited Analytical Criteria for business flow method of Prior Entry.
15637 --
15638 -- call description
15639 --
15640 -- No description or it is inherited.
15641 --
15642 -- call ADRs
15643 -- Bug 4922099
15644 --
15645 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
15649 THEN
15646 (NVL(l_actual_upg_option, 'N') = 'O') OR
15647 (NVL(l_enc_upg_option, 'N') = 'O')
15648 )
15650 NULL;
15651 --
15652 --
15653
15654 --
15655 --
15656 END IF;
15657 --
15658 -- Bug 4922099
15659 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
15660 (NVL(l_enc_upg_option, 'N') = 'O')
15661 ) AND
15662 (l_bflow_method_code = 'PRIOR_ENTRY')
15663 )
15664 THEN
15665 IF
15666 --
15667 1 = 1
15668 --
15669 THEN
15670 xla_accounting_err_pkg.build_message
15671 (p_appli_s_name => 'XLA'
15672 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
15673 ,p_token_1 => 'LINE_NUMBER'
15674 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
15675 ,p_token_2 => 'LINE_TYPE_NAME'
15676 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
15677 l_component_type
15678 ,l_component_code
15679 ,l_component_type_code
15680 ,l_component_appl_id
15681 ,l_amb_context_code
15682 ,l_entity_code
15683 ,l_event_class_code
15684 )
15685 ,p_token_3 => 'OWNER'
15686 ,p_value_3 => xla_lookups_pkg.get_meaning(
15687 p_lookup_type => 'XLA_OWNER_TYPE'
15688 ,p_lookup_code => l_component_type_code
15689 )
15690 ,p_token_4 => 'PRODUCT_NAME'
15691 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
15692 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
15693 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
15694 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
15695 ,p_ae_header_id => NULL
15696 );
15697
15698 IF (C_LEVEL_ERROR>= g_log_level) THEN
15699 trace
15700 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
15701 ,p_level => C_LEVEL_ERROR
15702 ,p_module => l_log_module);
15703 END IF;
15704 END IF;
15705 END IF;
15706 --
15707 --
15708 ------------------------------------------------------------------------------------------------
15709 -- 4219869 Business Flow
15710 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
15711 -- Prior Entry. Currently, the following code is always generated.
15712 ------------------------------------------------------------------------------------------------
15713 -- No ValidateCurrentLine for business flow method of Prior Entry
15714
15715 ------------------------------------------------------------------------------------
15716 -- 4219869 Business Flow
15717 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
15718 ------------------------------------------------------------------------------------
15719 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
15720
15721 ----------------------------------------------------------------------------------
15722 -- 4219869 Business Flow
15723 -- Update journal entry status -- Need to generate this within IF <condition>
15724 ----------------------------------------------------------------------------------
15725 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
15726 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
15727 ,p_balance_type_code => l_balance_type_code
15728 );
15729
15730 -------------------------------------------------------------------------------------------
15731 -- 4262811 - Generate the Accrual Reversal lines
15732 -------------------------------------------------------------------------------------------
15733 BEGIN
15734 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
15735 (g_array_event(p_event_id).array_value_num('header_index'));
15736 IF l_acc_rev_flag IS NULL THEN
15737 l_acc_rev_flag := 'N';
15738 END IF;
15739 EXCEPTION
15740 WHEN OTHERS THEN
15741 l_acc_rev_flag := 'N';
15742 END;
15743 --
15744 IF (l_acc_rev_flag = 'Y') THEN
15745
15746 -- 4645092 ------------------------------------------------------------------------------
15747 -- To allow MPA report to determine if it should generate report process
15751 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
15748 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
15749 ------------------------------------------------------------------------------------------
15750
15752 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
15753 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
15754 -- call ADRs
15755 -- Bug 4922099
15756 --
15757 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
15758 (NVL(l_actual_upg_option, 'N') = 'O') OR
15759 (NVL(l_enc_upg_option, 'N') = 'O')
15760 )
15761 THEN
15762 NULL;
15763 --
15764 --
15765
15766 --
15767 --
15768 END IF;
15769
15770 --
15771 -- Update the line information that should be overwritten
15772 --
15773 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
15774 p_header_num => 1);
15775 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
15776
15777 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
15778
15779 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
15780 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
15781 END IF;
15782
15783 --
15784 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
15785 --
15786 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
15787 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
15788 ELSE
15789 ---------------------------------------------------------------------------------------------------
15790 -- 4262811a Switch Sign
15791 ---------------------------------------------------------------------------------------------------
15792 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
15793 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
15794 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
15795 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
15796 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
15797 -- 5132302
15798 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
15799 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
15800
15801 END IF;
15802
15803 -- 4955764
15804 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
15805 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
15806
15807
15808 XLA_AE_LINES_PKG.ValidateCurrentLine;
15809 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
15810
15811 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
15812 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
15813 ,p_balance_type_code => l_balance_type_code);
15814
15815 END IF;
15816
15817 -----------------------------------------------------------------------------------------
15818 -- 4262811 Multiperiod Accounting
15819 -----------------------------------------------------------------------------------------
15820 -- No MPA option is assigned.
15821
15822
15823 END IF;
15824 END IF;
15825 --
15826
15827 --
15828 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
15829 trace
15830 (p_msg => 'END of AcctLineType_32'
15831 ,p_level => C_LEVEL_PROCEDURE
15832 ,p_module => l_log_module);
15833 END IF;
15834 --
15835 EXCEPTION
15836 WHEN xla_exceptions_pkg.application_exception THEN
15837 RAISE;
15838 WHEN OTHERS THEN
15839 xla_exceptions_pkg.raise_message
15840 (p_location => 'XLA_00200_AAD_S_000006_BC_PKG.AcctLineType_32');
15841 END AcctLineType_32;
15842 --
15843
15844 ---------------------------------------
15845 --
15846 -- PRIVATE FUNCTION
15847 -- AcctLineType_33
15848 --
15849 ---------------------------------------
15850 PROCEDURE AcctLineType_33 (
15851 p_application_id IN NUMBER
15852 ,p_event_id IN NUMBER
15853 ,p_calculate_acctd_flag IN VARCHAR2
15854 ,p_calculate_g_l_flag IN VARCHAR2
15855 ,p_actual_flag IN OUT VARCHAR2
15856 ,p_balance_type_code OUT VARCHAR2
15857 ,p_gain_or_loss_ref OUT VARCHAR2
15858
15859 --Invoice Distribution Description
15860 , p_source_1 IN VARCHAR2
15861 --Invoice Distribution Account
15862 , p_source_11 IN NUMBER
15863 --Invoice Distribution Type
15864 , p_source_15 IN VARCHAR2
15865 , p_source_15_meaning IN VARCHAR2
15866 --Purchasing Encumbrance Option
15867 , p_source_17 IN VARCHAR2
15868 , p_source_17_meaning IN VARCHAR2
15869 --Accounting Reversal Indicator
15870 , p_source_19 IN VARCHAR2
15871 --Distribution Link Type
15872 , p_source_21 IN VARCHAR2
15876 , p_source_24 IN NUMBER
15873 --Allocation to Main Distribution Identifier
15874 , p_source_23 IN NUMBER
15875 --Invoice Identifier
15877 --Business Flow Accounts Payable Application Identifier
15878 , p_source_25 IN NUMBER
15879 --Business Flow Invoice Distribution Type
15880 , p_source_26 IN VARCHAR2
15881 --Business Flow Invoice Entity Code
15882 , p_source_27 IN VARCHAR2
15883 --Business Flow Invoice Distribution Identifier
15884 , p_source_28 IN NUMBER
15885 --Business Flow Invoice Identifier
15886 , p_source_29 IN NUMBER
15887 --Invoice Distribution Identifier
15888 , p_source_30 IN NUMBER
15889 --Payables Encumbrance Upgrade Credit Account
15890 , p_source_31 IN NUMBER
15891 --Payables Encumbrance Upgrade Credit Amount
15892 , p_source_32 IN NUMBER
15893 --Invoice Currency Code
15894 , p_source_33 IN VARCHAR2
15895 --Payables Encumbrance Upgrade Credit Base Amount
15896 , p_source_34 IN NUMBER
15897 --Payables Encumbrance Upgrade Debit Account
15898 , p_source_35 IN NUMBER
15899 --Payables Encumbrance Upgrade Debit Amount
15900 , p_source_36 IN NUMBER
15901 --Payables Encumbrance Upgrade Debit Base Amount
15902 , p_source_37 IN NUMBER
15903 --Payables Encumbrance Upgrade Option
15904 , p_source_38 IN VARCHAR2
15905 --Invoice Exchange Date
15906 , p_source_39 IN DATE
15907 --Invoice Exchange Rate
15908 , p_source_40 IN NUMBER
15909 --Invoice Exchange Rate Type
15910 , p_source_41 IN VARCHAR2
15911 --Deferred Accounting End Date
15912 , p_source_43 IN DATE
15913 --Deferred Accounting Option
15914 , p_source_44 IN VARCHAR2
15915 --Deferred Accounting Start Date
15916 , p_source_45 IN DATE
15917 --Override Accounted Amount Indicator
15918 , p_source_46 IN VARCHAR2
15919 , p_source_46_meaning IN VARCHAR2
15920 --Invoice Supplier Identifier
15921 , p_source_47 IN NUMBER
15922 --Invoice Supplier Site Identifier
15923 , p_source_48 IN NUMBER
15924 --Third Party Type
15925 , p_source_49 IN VARCHAR2
15926 --Parent Reversal Identifier
15927 , p_source_50 IN NUMBER
15928 --Invoice Distribution Statistical Amount
15929 , p_source_51 IN NUMBER
15930 --Invoice Distribution Tax Line Identifier
15931 , p_source_52 IN NUMBER
15932 --Invoice Distribution Tax Distribution Identifier from Tax
15933 , p_source_53 IN NUMBER
15934 --Invoice Distribution Summary Tax Line Identifier
15935 , p_source_54 IN NUMBER
15936 --Payables Upgrade Credit Encumbrance Type Identifier
15937 , p_source_55 IN NUMBER
15938 --Payables Upgrade Debit Encumbrance Type Identifier
15939 , p_source_56 IN NUMBER
15940 --Invoice Distribution Encumbrance Amount
15941 , p_source_65 IN NUMBER
15942 --Invoice Distribution Encumbrance Ledger Amount
15943 , p_source_66 IN NUMBER
15944 )
15945 IS
15946
15947 l_component_type VARCHAR2(80);
15948 l_component_code VARCHAR2(30);
15949 l_component_type_code VARCHAR2(1);
15950 l_component_appl_id INTEGER;
15951 l_amb_context_code VARCHAR2(30);
15952 l_entity_code VARCHAR2(30);
15953 l_event_class_code VARCHAR2(30);
15954 l_ae_header_id NUMBER;
15955 l_event_type_code VARCHAR2(30);
15956 l_line_definition_code VARCHAR2(30);
15957 l_line_definition_owner_code VARCHAR2(1);
15958 --
15959 -- adr variables
15960 l_segment VARCHAR2(30);
15961 l_ccid NUMBER;
15962 l_adr_transaction_coa_id NUMBER;
15963 l_adr_accounting_coa_id NUMBER;
15964 l_adr_flexfield_segment_code VARCHAR2(30);
15965 l_adr_flex_value_set_id NUMBER;
15966 l_adr_value_type_code VARCHAR2(30);
15967 l_adr_value_combination_id NUMBER;
15968 l_adr_value_segment_code VARCHAR2(30);
15969
15970 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
15971 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
15972 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
15973 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
15974
15975 -- 4262811 Variables ------------------------------------------------------------------------------------------
15976 l_entered_amt_idx NUMBER;
15977 l_accted_amt_idx NUMBER;
15978 l_acc_rev_flag VARCHAR2(1);
15979 l_accrual_line_num NUMBER;
15980 l_tmp_amt NUMBER;
15981 l_acc_rev_natural_side_code VARCHAR2(1);
15982
15983 l_num_entries NUMBER;
15984 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
15985 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
15986 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
15987 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
15988 l_recog_line_1 NUMBER;
15989 l_recog_line_2 NUMBER;
15990
15991 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
15992 l_bflow_applied_to_amt NUMBER; -- 5132302
15996
15993 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
15994
15995 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
15997 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
15998 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
15999
16000 ---------------------------------------------------------------------------------------------------------------
16001
16002
16003 --
16004 -- bulk performance
16005 --
16006 l_balance_type_code VARCHAR2(1);
16007 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
16008 l_log_module VARCHAR2(240);
16009
16010 --
16011 -- Upgrade strategy
16012 --
16013 l_actual_upg_option VARCHAR2(1);
16014 l_enc_upg_option VARCHAR2(1);
16015
16016 --
16017 BEGIN
16018 --
16019 IF g_log_enabled THEN
16020 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_33';
16021 END IF;
16022 --
16023 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
16024
16025 trace
16026 (p_msg => 'BEGIN of AcctLineType_33'
16027 ,p_level => C_LEVEL_PROCEDURE
16028 ,p_module => l_log_module);
16029
16030 END IF;
16031 --
16032 l_component_type := 'AMB_JLT';
16033 l_component_code := 'AP_INV_PRICE_VAR_CM_ENC_DR';
16034 l_component_type_code := 'S';
16035 l_component_appl_id := 200;
16036 l_amb_context_code := 'DEFAULT';
16037 l_entity_code := 'AP_INVOICES';
16038 l_event_class_code := 'CREDIT MEMOS';
16039 l_event_type_code := 'CREDIT MEMOS_ALL';
16040 l_line_definition_owner_code := 'S';
16041 l_line_definition_code := 'ENC_CM_ALL';
16042 --
16043 l_balance_type_code := 'E';
16044 l_segment := NULL;
16045 l_ccid := NULL;
16046 l_adr_transaction_coa_id := NULL;
16047 l_adr_accounting_coa_id := NULL;
16048 l_adr_flexfield_segment_code := NULL;
16049 l_adr_flex_value_set_id := NULL;
16050 l_adr_value_type_code := NULL;
16051 l_adr_value_combination_id := NULL;
16052 l_adr_value_segment_code := NULL;
16053
16054 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
16055 l_bflow_class_code := 'AP_INV_ENCUM'; -- 4219869 Business Flow
16056 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
16057 l_budgetary_control_flag := 'Y';
16058
16059 l_bflow_applied_to_amt_idx := NULL; -- 5132302
16060 l_bflow_applied_to_amt := NULL; -- 5132302
16061 l_entered_amt_idx := NULL; -- 4262811
16062 l_accted_amt_idx := NULL; -- 4262811
16063 l_acc_rev_flag := NULL; -- 4262811
16064 l_accrual_line_num := NULL; -- 4262811
16065 l_tmp_amt := NULL; -- 4262811
16066 --
16067
16068 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
16069 l_balance_type_code <> 'B' THEN
16070 IF NVL(p_source_15,'
16071 ') = 'IPV' AND
16072 NVL(p_source_17,'
16073 ') = 'Y'
16074 THEN
16075
16076 --
16077 XLA_AE_LINES_PKG.SetNewLine;
16078
16079 p_balance_type_code := l_balance_type_code;
16080 -- set the flag so later we will know whether the gain loss line needs to be created
16081
16082 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
16083 p_actual_flag :='A';
16084 END IF;
16085
16086 --
16087 -- bulk performance
16088 --
16089 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
16090 p_header_num => 0); -- 4262811
16091 --
16092 -- set accounting line options
16093 --
16094 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
16095 p_natural_side_code => 'D'
16096 , p_gain_or_loss_flag => 'N'
16097 , p_gl_transfer_mode_code => 'S'
16098 , p_acct_entry_type_code => 'E'
16099 , p_switch_side_flag => 'Y'
16100 , p_merge_duplicate_code => 'N'
16101 );
16102 --
16103 l_acc_rev_natural_side_code := 'C'; -- 4262811
16104 --
16105 --
16106 -- set accounting line type info
16107 --
16108 xla_ae_lines_pkg.SetAcctLineType
16109 (p_component_type => l_component_type
16110 ,p_event_type_code => l_event_type_code
16111 ,p_line_definition_owner_code => l_line_definition_owner_code
16112 ,p_line_definition_code => l_line_definition_code
16113 ,p_accounting_line_code => l_component_code
16114 ,p_accounting_line_type_code => l_component_type_code
16115 ,p_accounting_line_appl_id => l_component_appl_id
16116 ,p_amb_context_code => l_amb_context_code
16117 ,p_entity_code => l_entity_code
16118 ,p_event_class_code => l_event_class_code);
16119 --
16120 -- set accounting class
16121 --
16122 xla_ae_lines_pkg.SetAcctClass(
16123 p_accounting_class_code => 'IPV'
16124 , p_ae_header_id => l_ae_header_id
16125 );
16126
16127 --
16128 -- set rounding class
16129 --
16133 --
16130 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
16131 'IPV';
16132
16134 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
16135 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
16136 --
16137 -- bulk performance
16138 --
16139 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
16140
16141 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
16142 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
16143
16144 -- 4955764
16145 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
16146 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
16147
16148 -- 4458381 Public Sector Enh
16149 XLA_AE_LINES_PKG.g_rec_lines.array_encumbrance_type_id(XLA_AE_LINES_PKG.g_LineNumber) := 1060;
16150 --
16151 -- set accounting attributes for the line type
16152 --
16153 l_entered_amt_idx := 23;
16154 l_accted_amt_idx := 28;
16155 l_bflow_applied_to_amt_idx := NULL; -- 5132302
16156 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
16157 l_rec_acct_attrs.array_char_value(1) := p_source_19;
16158 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
16159 l_rec_acct_attrs.array_num_value(2) :=
16160 xla_ae_sources_pkg.GetSystemSourceNum(
16161 p_source_code => 'XLA_EVENT_APPL_ID'
16162 , p_source_type_code => 'Y'
16163 , p_source_application_id => 602
16164 );
16165 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
16166 l_rec_acct_attrs.array_char_value(3) := p_source_21;
16167 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
16168 l_rec_acct_attrs.array_char_value(4) :=
16169 xla_ae_sources_pkg.GetSystemSourceChar(
16170 p_source_code => 'XLA_ENTITY_CODE'
16171 , p_source_type_code => 'Y'
16172 , p_source_application_id => 602
16173 );
16174 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
16175 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_23);
16176 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
16177 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_24);
16178 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
16179 l_rec_acct_attrs.array_num_value(7) := p_source_25;
16180 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
16181 l_rec_acct_attrs.array_char_value(8) := p_source_26;
16182 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
16183 l_rec_acct_attrs.array_char_value(9) := p_source_27;
16184 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
16185 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_28);
16186 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
16187 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_29);
16188 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
16189 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_30);
16190 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
16191 l_rec_acct_attrs.array_char_value(13) := p_source_21;
16192 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
16193 l_rec_acct_attrs.array_num_value(14) := p_source_31;
16194 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
16195 l_rec_acct_attrs.array_num_value(15) := p_source_32;
16196 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
16197 l_rec_acct_attrs.array_char_value(16) := p_source_33;
16198 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
16199 l_rec_acct_attrs.array_num_value(17) := p_source_34;
16200 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
16201 l_rec_acct_attrs.array_num_value(18) := p_source_35;
16202 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
16203 l_rec_acct_attrs.array_num_value(19) := p_source_36;
16204 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
16205 l_rec_acct_attrs.array_char_value(20) := p_source_33;
16206 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
16207 l_rec_acct_attrs.array_num_value(21) := p_source_37;
16208 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
16209 l_rec_acct_attrs.array_char_value(22) := p_source_38;
16210 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
16211 l_rec_acct_attrs.array_num_value(23) := p_source_65;
16212 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
16213 l_rec_acct_attrs.array_char_value(24) := p_source_33;
16214 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
16215 l_rec_acct_attrs.array_date_value(25) := p_source_39;
16216 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
16217 l_rec_acct_attrs.array_num_value(26) := p_source_40;
16218 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
16219 l_rec_acct_attrs.array_char_value(27) := p_source_41;
16220 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
16221 l_rec_acct_attrs.array_num_value(28) := p_source_66;
16225 l_rec_acct_attrs.array_char_value(30) := p_source_44;
16222 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
16223 l_rec_acct_attrs.array_date_value(29) := p_source_43;
16224 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
16226 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
16227 l_rec_acct_attrs.array_date_value(31) := p_source_45;
16228 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
16229 l_rec_acct_attrs.array_char_value(32) := p_source_46;
16230 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
16231 l_rec_acct_attrs.array_num_value(33) := p_source_47;
16232 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
16233 l_rec_acct_attrs.array_num_value(34) := p_source_48;
16234 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
16235 l_rec_acct_attrs.array_char_value(35) := p_source_49;
16236 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
16237 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_50);
16238 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
16239 l_rec_acct_attrs.array_char_value(37) := p_source_21;
16240 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
16241 l_rec_acct_attrs.array_num_value(38) := p_source_51;
16242 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
16243 l_rec_acct_attrs.array_num_value(39) := p_source_52;
16244 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
16245 l_rec_acct_attrs.array_num_value(40) := p_source_53;
16246 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
16247 l_rec_acct_attrs.array_num_value(41) := p_source_54;
16248 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
16249 l_rec_acct_attrs.array_num_value(42) := p_source_55;
16250 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
16251 l_rec_acct_attrs.array_num_value(43) := p_source_56;
16252
16253 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
16254 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
16255
16256 ---------------------------------------------------------------------------------------------------------------
16257 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
16258 ---------------------------------------------------------------------------------------------------------------
16259 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
16260
16261 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
16262 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
16263
16264 IF xla_accounting_cache_pkg.GetValueChar
16265 (p_source_code => 'LEDGER_CATEGORY_CODE'
16266 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
16267 AND l_bflow_method_code = 'PRIOR_ENTRY'
16268 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
16269 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
16270 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
16271 )
16272 THEN
16273 xla_ae_lines_pkg.BflowUpgEntry
16274 (p_business_method_code => l_bflow_method_code
16275 ,p_business_class_code => l_bflow_class_code
16276 ,p_balance_type => l_balance_type_code);
16277 ELSE
16278 NULL;
16279 -- No business flow processing for business flow method of NONE.
16280 END IF;
16281
16282 --
16283 -- call analytical criteria
16284 --
16285
16286 --
16287 -- call description
16288 --
16289
16290 xla_ae_lines_pkg.SetLineDescription(
16291 p_ae_header_id => l_ae_header_id
16292 ,p_description => Description_2 (
16293 p_application_id => p_application_id
16294 , p_ae_header_id => l_ae_header_id
16295 , p_source_1 => p_source_1
16296 )
16297 );
16298
16299
16300 --
16301 -- call ADRs
16302 -- Bug 4922099
16303 --
16304 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
16305 (NVL(l_actual_upg_option, 'N') = 'O') OR
16306 (NVL(l_enc_upg_option, 'N') = 'O')
16307 )
16308 THEN
16309 NULL;
16310 --
16311 --
16312
16313 l_ccid := AcctDerRule_7(
16314 p_application_id => p_application_id
16315 , p_ae_header_id => l_ae_header_id
16316 , p_source_11 => p_source_11
16317 , x_transaction_coa_id => l_adr_transaction_coa_id
16318 , x_accounting_coa_id => l_adr_accounting_coa_id
16319 , x_value_type_code => l_adr_value_type_code
16320 , p_side => 'NA'
16321 );
16322
16323 xla_ae_lines_pkg.set_ccid(
16324 p_code_combination_id => l_ccid
16325 , p_value_type_code => l_adr_value_type_code
16326 , p_transaction_coa_id => l_adr_transaction_coa_id
16327 , p_accounting_coa_id => l_adr_accounting_coa_id
16328 , p_adr_code => 'AP_INVOICE_DIST'
16329 , p_adr_type_code => 'S'
16330 , p_component_type => l_component_type
16334 , p_amb_context_code => l_amb_context_code
16331 , p_component_code => l_component_code
16332 , p_component_type_code => l_component_type_code
16333 , p_component_appl_id => l_component_appl_id
16335 , p_side => 'NA'
16336 );
16337
16338
16339 --
16340 --
16341 END IF;
16342 --
16343 -- Bug 4922099
16344 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
16345 (NVL(l_enc_upg_option, 'N') = 'O')
16346 ) AND
16347 (l_bflow_method_code = 'PRIOR_ENTRY')
16348 )
16349 THEN
16350 IF
16351 --
16352 1 = 2
16353 --
16354 THEN
16355 xla_accounting_err_pkg.build_message
16356 (p_appli_s_name => 'XLA'
16357 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
16358 ,p_token_1 => 'LINE_NUMBER'
16359 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
16360 ,p_token_2 => 'LINE_TYPE_NAME'
16361 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
16362 l_component_type
16363 ,l_component_code
16364 ,l_component_type_code
16365 ,l_component_appl_id
16366 ,l_amb_context_code
16367 ,l_entity_code
16368 ,l_event_class_code
16369 )
16370 ,p_token_3 => 'OWNER'
16371 ,p_value_3 => xla_lookups_pkg.get_meaning(
16372 p_lookup_type => 'XLA_OWNER_TYPE'
16373 ,p_lookup_code => l_component_type_code
16374 )
16375 ,p_token_4 => 'PRODUCT_NAME'
16376 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
16377 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
16378 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
16379 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
16380 ,p_ae_header_id => NULL
16381 );
16382
16383 IF (C_LEVEL_ERROR>= g_log_level) THEN
16384 trace
16385 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
16386 ,p_level => C_LEVEL_ERROR
16387 ,p_module => l_log_module);
16388 END IF;
16389 END IF;
16390 END IF;
16391 --
16392 --
16393 ------------------------------------------------------------------------------------------------
16394 -- 4219869 Business Flow
16395 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
16396 -- Prior Entry. Currently, the following code is always generated.
16397 ------------------------------------------------------------------------------------------------
16398 XLA_AE_LINES_PKG.ValidateCurrentLine;
16399
16400 ------------------------------------------------------------------------------------
16401 -- 4219869 Business Flow
16402 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
16403 ------------------------------------------------------------------------------------
16404 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
16405
16406 ----------------------------------------------------------------------------------
16407 -- 4219869 Business Flow
16408 -- Update journal entry status -- Need to generate this within IF <condition>
16409 ----------------------------------------------------------------------------------
16410 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
16411 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
16412 ,p_balance_type_code => l_balance_type_code
16413 );
16414
16415 -------------------------------------------------------------------------------------------
16416 -- 4262811 - Generate the Accrual Reversal lines
16417 -------------------------------------------------------------------------------------------
16418 BEGIN
16419 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
16420 (g_array_event(p_event_id).array_value_num('header_index'));
16421 IF l_acc_rev_flag IS NULL THEN
16422 l_acc_rev_flag := 'N';
16423 END IF;
16424 EXCEPTION
16425 WHEN OTHERS THEN
16426 l_acc_rev_flag := 'N';
16427 END;
16428 --
16432 -- To allow MPA report to determine if it should generate report process
16429 IF (l_acc_rev_flag = 'Y') THEN
16430
16431 -- 4645092 ------------------------------------------------------------------------------
16433 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
16434 ------------------------------------------------------------------------------------------
16435
16436 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
16437 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
16438 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
16439 -- call ADRs
16440 -- Bug 4922099
16441 --
16442 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
16443 (NVL(l_actual_upg_option, 'N') = 'O') OR
16444 (NVL(l_enc_upg_option, 'N') = 'O')
16445 )
16446 THEN
16447 NULL;
16448 --
16449 --
16450
16451 l_ccid := AcctDerRule_7(
16452 p_application_id => p_application_id
16453 , p_ae_header_id => l_ae_header_id
16454 , p_source_11 => p_source_11
16455 , x_transaction_coa_id => l_adr_transaction_coa_id
16456 , x_accounting_coa_id => l_adr_accounting_coa_id
16457 , x_value_type_code => l_adr_value_type_code
16458 , p_side => 'NA'
16459 );
16460
16461 xla_ae_lines_pkg.set_ccid(
16462 p_code_combination_id => l_ccid
16463 , p_value_type_code => l_adr_value_type_code
16464 , p_transaction_coa_id => l_adr_transaction_coa_id
16465 , p_accounting_coa_id => l_adr_accounting_coa_id
16466 , p_adr_code => 'AP_INVOICE_DIST'
16467 , p_adr_type_code => 'S'
16468 , p_component_type => l_component_type
16469 , p_component_code => l_component_code
16470 , p_component_type_code => l_component_type_code
16471 , p_component_appl_id => l_component_appl_id
16472 , p_amb_context_code => l_amb_context_code
16473 , p_side => 'NA'
16474 );
16475
16476
16477 --
16478 --
16479 END IF;
16480
16481 --
16482 -- Update the line information that should be overwritten
16483 --
16484 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
16485 p_header_num => 1);
16486 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
16487
16488 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
16489
16490 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
16491 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
16492 END IF;
16493
16494 --
16495 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
16496 --
16497 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
16498 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
16499 ELSE
16500 ---------------------------------------------------------------------------------------------------
16501 -- 4262811a Switch Sign
16502 ---------------------------------------------------------------------------------------------------
16503 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
16504 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
16505 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
16506 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
16507 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
16508 -- 5132302
16509 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
16510 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
16511
16512 END IF;
16513
16514 -- 4955764
16515 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
16516 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
16517
16518
16519 XLA_AE_LINES_PKG.ValidateCurrentLine;
16520 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
16521
16522 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
16523 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
16524 ,p_balance_type_code => l_balance_type_code);
16525
16526 END IF;
16527
16528 -----------------------------------------------------------------------------------------
16529 -- 4262811 Multiperiod Accounting
16530 -----------------------------------------------------------------------------------------
16531 -- No MPA option is assigned.
16532
16533
16534 END IF;
16535 END IF;
16536 --
16537
16538 --
16539 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
16540 trace
16541 (p_msg => 'END of AcctLineType_33'
16542 ,p_level => C_LEVEL_PROCEDURE
16543 ,p_module => l_log_module);
16544 END IF;
16545 --
16546 EXCEPTION
16547 WHEN xla_exceptions_pkg.application_exception THEN
16548 RAISE;
16549 WHEN OTHERS THEN
16550 xla_exceptions_pkg.raise_message
16554
16551 (p_location => 'XLA_00200_AAD_S_000006_BC_PKG.AcctLineType_33');
16552 END AcctLineType_33;
16553 --
16555 ---------------------------------------
16556 --
16557 -- PRIVATE FUNCTION
16558 -- AcctLineType_34
16559 --
16560 ---------------------------------------
16561 PROCEDURE AcctLineType_34 (
16562 p_application_id IN NUMBER
16563 ,p_event_id IN NUMBER
16564 ,p_calculate_acctd_flag IN VARCHAR2
16565 ,p_calculate_g_l_flag IN VARCHAR2
16566 ,p_actual_flag IN OUT VARCHAR2
16567 ,p_balance_type_code OUT VARCHAR2
16568 ,p_gain_or_loss_ref OUT VARCHAR2
16569
16570 --Invoice Distribution Description
16571 , p_source_1 IN VARCHAR2
16572 --Invoice Distribution Account
16573 , p_source_11 IN NUMBER
16574 --Invoice Distribution Type
16575 , p_source_15 IN VARCHAR2
16576 , p_source_15_meaning IN VARCHAR2
16577 --Purchasing Encumbrance Option
16578 , p_source_17 IN VARCHAR2
16579 , p_source_17_meaning IN VARCHAR2
16580 --Accounting Reversal Indicator
16581 , p_source_19 IN VARCHAR2
16582 --Distribution Link Type
16583 , p_source_21 IN VARCHAR2
16584 --Allocation to Main Distribution Identifier
16585 , p_source_23 IN NUMBER
16586 --Invoice Identifier
16587 , p_source_24 IN NUMBER
16588 --Business Flow Accounts Payable Application Identifier
16589 , p_source_25 IN NUMBER
16590 --Business Flow Invoice Distribution Type
16591 , p_source_26 IN VARCHAR2
16592 --Business Flow Invoice Entity Code
16593 , p_source_27 IN VARCHAR2
16594 --Business Flow Invoice Distribution Identifier
16595 , p_source_28 IN NUMBER
16596 --Business Flow Invoice Identifier
16597 , p_source_29 IN NUMBER
16598 --Invoice Distribution Identifier
16599 , p_source_30 IN NUMBER
16600 --Payables Encumbrance Upgrade Credit Account
16601 , p_source_31 IN NUMBER
16602 --Payables Encumbrance Upgrade Credit Amount
16603 , p_source_32 IN NUMBER
16604 --Invoice Currency Code
16605 , p_source_33 IN VARCHAR2
16606 --Payables Encumbrance Upgrade Credit Base Amount
16607 , p_source_34 IN NUMBER
16608 --Payables Encumbrance Upgrade Debit Account
16609 , p_source_35 IN NUMBER
16610 --Payables Encumbrance Upgrade Debit Amount
16611 , p_source_36 IN NUMBER
16612 --Payables Encumbrance Upgrade Debit Base Amount
16613 , p_source_37 IN NUMBER
16614 --Payables Encumbrance Upgrade Option
16615 , p_source_38 IN VARCHAR2
16616 --Invoice Exchange Date
16617 , p_source_39 IN DATE
16618 --Invoice Exchange Rate
16619 , p_source_40 IN NUMBER
16620 --Invoice Exchange Rate Type
16621 , p_source_41 IN VARCHAR2
16622 --Deferred Accounting End Date
16623 , p_source_43 IN DATE
16624 --Deferred Accounting Option
16625 , p_source_44 IN VARCHAR2
16626 --Deferred Accounting Start Date
16627 , p_source_45 IN DATE
16628 --Override Accounted Amount Indicator
16629 , p_source_46 IN VARCHAR2
16630 , p_source_46_meaning IN VARCHAR2
16631 --Invoice Supplier Identifier
16632 , p_source_47 IN NUMBER
16633 --Invoice Supplier Site Identifier
16634 , p_source_48 IN NUMBER
16635 --Third Party Type
16636 , p_source_49 IN VARCHAR2
16637 --Parent Reversal Identifier
16638 , p_source_50 IN NUMBER
16639 --Invoice Distribution Tax Line Identifier
16640 , p_source_52 IN NUMBER
16641 --Invoice Distribution Tax Distribution Identifier from Tax
16642 , p_source_53 IN NUMBER
16643 --Invoice Distribution Summary Tax Line Identifier
16644 , p_source_54 IN NUMBER
16645 --Payables Upgrade Credit Encumbrance Type Identifier
16646 , p_source_55 IN NUMBER
16647 --Payables Upgrade Debit Encumbrance Type Identifier
16648 , p_source_56 IN NUMBER
16649 --Invoice Distribution Encumbrance Amount
16650 , p_source_65 IN NUMBER
16651 --Invoice Distribution Encumbrance Ledger Amount
16652 , p_source_66 IN NUMBER
16653 )
16654 IS
16655
16656 l_component_type VARCHAR2(80);
16657 l_component_code VARCHAR2(30);
16658 l_component_type_code VARCHAR2(1);
16659 l_component_appl_id INTEGER;
16660 l_amb_context_code VARCHAR2(30);
16661 l_entity_code VARCHAR2(30);
16662 l_event_class_code VARCHAR2(30);
16663 l_ae_header_id NUMBER;
16664 l_event_type_code VARCHAR2(30);
16665 l_line_definition_code VARCHAR2(30);
16666 l_line_definition_owner_code VARCHAR2(1);
16667 --
16668 -- adr variables
16669 l_segment VARCHAR2(30);
16670 l_ccid NUMBER;
16671 l_adr_transaction_coa_id NUMBER;
16672 l_adr_accounting_coa_id NUMBER;
16673 l_adr_flexfield_segment_code VARCHAR2(30);
16674 l_adr_flex_value_set_id NUMBER;
16675 l_adr_value_type_code VARCHAR2(30);
16676 l_adr_value_combination_id NUMBER;
16677 l_adr_value_segment_code VARCHAR2(30);
16678
16679 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
16680 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
16681 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
16682 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
16683
16687 l_acc_rev_flag VARCHAR2(1);
16684 -- 4262811 Variables ------------------------------------------------------------------------------------------
16685 l_entered_amt_idx NUMBER;
16686 l_accted_amt_idx NUMBER;
16688 l_accrual_line_num NUMBER;
16689 l_tmp_amt NUMBER;
16690 l_acc_rev_natural_side_code VARCHAR2(1);
16691
16692 l_num_entries NUMBER;
16693 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
16694 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
16695 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
16696 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
16697 l_recog_line_1 NUMBER;
16698 l_recog_line_2 NUMBER;
16699
16700 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
16701 l_bflow_applied_to_amt NUMBER; -- 5132302
16702 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
16703
16704 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
16705
16706 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
16707 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
16708
16709 ---------------------------------------------------------------------------------------------------------------
16710
16711
16712 --
16713 -- bulk performance
16714 --
16715 l_balance_type_code VARCHAR2(1);
16716 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
16717 l_log_module VARCHAR2(240);
16718
16719 --
16720 -- Upgrade strategy
16721 --
16722 l_actual_upg_option VARCHAR2(1);
16723 l_enc_upg_option VARCHAR2(1);
16724
16725 --
16726 BEGIN
16727 --
16728 IF g_log_enabled THEN
16729 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_34';
16730 END IF;
16731 --
16732 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
16733
16734 trace
16735 (p_msg => 'BEGIN of AcctLineType_34'
16736 ,p_level => C_LEVEL_PROCEDURE
16737 ,p_module => l_log_module);
16738
16739 END IF;
16740 --
16741 l_component_type := 'AMB_JLT';
16742 l_component_code := 'AP_INV_PRICE_VAR_DM_ENC_DR';
16743 l_component_type_code := 'S';
16744 l_component_appl_id := 200;
16745 l_amb_context_code := 'DEFAULT';
16746 l_entity_code := 'AP_INVOICES';
16747 l_event_class_code := 'DEBIT MEMOS';
16748 l_event_type_code := 'DEBIT MEMOS_ALL';
16749 l_line_definition_owner_code := 'S';
16750 l_line_definition_code := 'ENC_DM_ALL';
16751 --
16752 l_balance_type_code := 'E';
16753 l_segment := NULL;
16754 l_ccid := NULL;
16755 l_adr_transaction_coa_id := NULL;
16756 l_adr_accounting_coa_id := NULL;
16757 l_adr_flexfield_segment_code := NULL;
16758 l_adr_flex_value_set_id := NULL;
16759 l_adr_value_type_code := NULL;
16760 l_adr_value_combination_id := NULL;
16761 l_adr_value_segment_code := NULL;
16762
16763 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
16764 l_bflow_class_code := 'AP_INV_ENCUM'; -- 4219869 Business Flow
16765 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
16766 l_budgetary_control_flag := 'Y';
16767
16768 l_bflow_applied_to_amt_idx := NULL; -- 5132302
16769 l_bflow_applied_to_amt := NULL; -- 5132302
16770 l_entered_amt_idx := NULL; -- 4262811
16771 l_accted_amt_idx := NULL; -- 4262811
16772 l_acc_rev_flag := NULL; -- 4262811
16773 l_accrual_line_num := NULL; -- 4262811
16774 l_tmp_amt := NULL; -- 4262811
16775 --
16776
16777 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
16778 l_balance_type_code <> 'B' THEN
16779 IF NVL(p_source_15,'
16780 ') = 'IPV' AND
16781 NVL(p_source_17,'
16782 ') = 'Y'
16783 THEN
16784
16785 --
16786 XLA_AE_LINES_PKG.SetNewLine;
16787
16788 p_balance_type_code := l_balance_type_code;
16789 -- set the flag so later we will know whether the gain loss line needs to be created
16790
16791 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
16792 p_actual_flag :='A';
16793 END IF;
16794
16795 --
16796 -- bulk performance
16797 --
16798 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
16799 p_header_num => 0); -- 4262811
16800 --
16801 -- set accounting line options
16802 --
16803 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
16804 p_natural_side_code => 'D'
16805 , p_gain_or_loss_flag => 'N'
16806 , p_gl_transfer_mode_code => 'S'
16807 , p_acct_entry_type_code => 'E'
16808 , p_switch_side_flag => 'Y'
16809 , p_merge_duplicate_code => 'N'
16810 );
16811 --
16812 l_acc_rev_natural_side_code := 'C'; -- 4262811
16813 --
16814 --
16815 -- set accounting line type info
16816 --
16820 ,p_line_definition_owner_code => l_line_definition_owner_code
16817 xla_ae_lines_pkg.SetAcctLineType
16818 (p_component_type => l_component_type
16819 ,p_event_type_code => l_event_type_code
16821 ,p_line_definition_code => l_line_definition_code
16822 ,p_accounting_line_code => l_component_code
16823 ,p_accounting_line_type_code => l_component_type_code
16824 ,p_accounting_line_appl_id => l_component_appl_id
16825 ,p_amb_context_code => l_amb_context_code
16826 ,p_entity_code => l_entity_code
16827 ,p_event_class_code => l_event_class_code);
16828 --
16829 -- set accounting class
16830 --
16831 xla_ae_lines_pkg.SetAcctClass(
16832 p_accounting_class_code => 'IPV'
16833 , p_ae_header_id => l_ae_header_id
16834 );
16835
16836 --
16837 -- set rounding class
16838 --
16839 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
16840 'IPV';
16841
16842 --
16843 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
16844 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
16845 --
16846 -- bulk performance
16847 --
16848 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
16849
16850 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
16851 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
16852
16853 -- 4955764
16854 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
16855 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
16856
16857 -- 4458381 Public Sector Enh
16858 XLA_AE_LINES_PKG.g_rec_lines.array_encumbrance_type_id(XLA_AE_LINES_PKG.g_LineNumber) := 1060;
16859 --
16860 -- set accounting attributes for the line type
16861 --
16862 l_entered_amt_idx := 23;
16863 l_accted_amt_idx := 28;
16864 l_bflow_applied_to_amt_idx := NULL; -- 5132302
16865 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
16866 l_rec_acct_attrs.array_char_value(1) := p_source_19;
16867 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
16868 l_rec_acct_attrs.array_num_value(2) :=
16869 xla_ae_sources_pkg.GetSystemSourceNum(
16870 p_source_code => 'XLA_EVENT_APPL_ID'
16871 , p_source_type_code => 'Y'
16872 , p_source_application_id => 602
16873 );
16874 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
16875 l_rec_acct_attrs.array_char_value(3) := p_source_21;
16876 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
16877 l_rec_acct_attrs.array_char_value(4) :=
16878 xla_ae_sources_pkg.GetSystemSourceChar(
16879 p_source_code => 'XLA_ENTITY_CODE'
16880 , p_source_type_code => 'Y'
16881 , p_source_application_id => 602
16882 );
16883 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
16884 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_23);
16885 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
16886 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_24);
16887 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
16888 l_rec_acct_attrs.array_num_value(7) := p_source_25;
16889 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
16890 l_rec_acct_attrs.array_char_value(8) := p_source_26;
16891 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
16892 l_rec_acct_attrs.array_char_value(9) := p_source_27;
16893 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
16894 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_28);
16895 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
16896 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_29);
16897 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
16898 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_30);
16899 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
16900 l_rec_acct_attrs.array_char_value(13) := p_source_21;
16901 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
16902 l_rec_acct_attrs.array_num_value(14) := p_source_31;
16903 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
16904 l_rec_acct_attrs.array_num_value(15) := p_source_32;
16905 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
16906 l_rec_acct_attrs.array_char_value(16) := p_source_33;
16907 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
16908 l_rec_acct_attrs.array_num_value(17) := p_source_34;
16909 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
16910 l_rec_acct_attrs.array_num_value(18) := p_source_35;
16911 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
16912 l_rec_acct_attrs.array_num_value(19) := p_source_36;
16913 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
16914 l_rec_acct_attrs.array_char_value(20) := p_source_33;
16915 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
16916 l_rec_acct_attrs.array_num_value(21) := p_source_37;
16917 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
16921 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
16918 l_rec_acct_attrs.array_char_value(22) := p_source_38;
16919 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
16920 l_rec_acct_attrs.array_num_value(23) := p_source_65;
16922 l_rec_acct_attrs.array_char_value(24) := p_source_33;
16923 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
16924 l_rec_acct_attrs.array_date_value(25) := p_source_39;
16925 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
16926 l_rec_acct_attrs.array_num_value(26) := p_source_40;
16927 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
16928 l_rec_acct_attrs.array_char_value(27) := p_source_41;
16929 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
16930 l_rec_acct_attrs.array_num_value(28) := p_source_66;
16931 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
16932 l_rec_acct_attrs.array_date_value(29) := p_source_43;
16933 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
16934 l_rec_acct_attrs.array_char_value(30) := p_source_44;
16935 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
16936 l_rec_acct_attrs.array_date_value(31) := p_source_45;
16937 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
16938 l_rec_acct_attrs.array_char_value(32) := p_source_46;
16939 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
16940 l_rec_acct_attrs.array_num_value(33) := p_source_47;
16941 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
16942 l_rec_acct_attrs.array_num_value(34) := p_source_48;
16943 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
16944 l_rec_acct_attrs.array_char_value(35) := p_source_49;
16945 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
16946 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_50);
16947 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
16948 l_rec_acct_attrs.array_char_value(37) := p_source_21;
16949 l_rec_acct_attrs.array_acct_attr_code(38) := 'TAX_LINE_REF_ID';
16950 l_rec_acct_attrs.array_num_value(38) := p_source_52;
16951 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_REC_NREC_DIST_REF_ID';
16952 l_rec_acct_attrs.array_num_value(39) := p_source_53;
16953 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_SUMMARY_LINE_REF_ID';
16954 l_rec_acct_attrs.array_num_value(40) := p_source_54;
16955 l_rec_acct_attrs.array_acct_attr_code(41) := 'UPG_CR_ENC_TYPE_ID';
16956 l_rec_acct_attrs.array_num_value(41) := p_source_55;
16957 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_DR_ENC_TYPE_ID';
16958 l_rec_acct_attrs.array_num_value(42) := p_source_56;
16959
16960 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
16961 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
16962
16963 ---------------------------------------------------------------------------------------------------------------
16964 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
16965 ---------------------------------------------------------------------------------------------------------------
16966 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
16967
16968 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
16969 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
16970
16971 IF xla_accounting_cache_pkg.GetValueChar
16972 (p_source_code => 'LEDGER_CATEGORY_CODE'
16973 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
16974 AND l_bflow_method_code = 'PRIOR_ENTRY'
16975 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
16976 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
16977 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
16978 )
16979 THEN
16980 xla_ae_lines_pkg.BflowUpgEntry
16981 (p_business_method_code => l_bflow_method_code
16982 ,p_business_class_code => l_bflow_class_code
16983 ,p_balance_type => l_balance_type_code);
16984 ELSE
16985 NULL;
16986 -- No business flow processing for business flow method of NONE.
16987 END IF;
16988
16989 --
16990 -- call analytical criteria
16991 --
16992
16993 --
16994 -- call description
16995 --
16996
16997 xla_ae_lines_pkg.SetLineDescription(
16998 p_ae_header_id => l_ae_header_id
16999 ,p_description => Description_2 (
17000 p_application_id => p_application_id
17001 , p_ae_header_id => l_ae_header_id
17002 , p_source_1 => p_source_1
17003 )
17004 );
17005
17006
17007 --
17008 -- call ADRs
17009 -- Bug 4922099
17010 --
17011 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
17012 (NVL(l_actual_upg_option, 'N') = 'O') OR
17013 (NVL(l_enc_upg_option, 'N') = 'O')
17014 )
17015 THEN
17016 NULL;
17017 --
17018 --
17019
17020 l_ccid := AcctDerRule_7(
17021 p_application_id => p_application_id
17022 , p_ae_header_id => l_ae_header_id
17023 , p_source_11 => p_source_11
17024 , x_transaction_coa_id => l_adr_transaction_coa_id
17028 );
17025 , x_accounting_coa_id => l_adr_accounting_coa_id
17026 , x_value_type_code => l_adr_value_type_code
17027 , p_side => 'NA'
17029
17030 xla_ae_lines_pkg.set_ccid(
17031 p_code_combination_id => l_ccid
17032 , p_value_type_code => l_adr_value_type_code
17033 , p_transaction_coa_id => l_adr_transaction_coa_id
17034 , p_accounting_coa_id => l_adr_accounting_coa_id
17035 , p_adr_code => 'AP_INVOICE_DIST'
17036 , p_adr_type_code => 'S'
17037 , p_component_type => l_component_type
17038 , p_component_code => l_component_code
17039 , p_component_type_code => l_component_type_code
17040 , p_component_appl_id => l_component_appl_id
17041 , p_amb_context_code => l_amb_context_code
17042 , p_side => 'NA'
17043 );
17044
17045
17046 --
17047 --
17048 END IF;
17049 --
17050 -- Bug 4922099
17051 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
17052 (NVL(l_enc_upg_option, 'N') = 'O')
17053 ) AND
17054 (l_bflow_method_code = 'PRIOR_ENTRY')
17055 )
17056 THEN
17057 IF
17058 --
17059 1 = 2
17060 --
17061 THEN
17062 xla_accounting_err_pkg.build_message
17063 (p_appli_s_name => 'XLA'
17064 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
17065 ,p_token_1 => 'LINE_NUMBER'
17066 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
17067 ,p_token_2 => 'LINE_TYPE_NAME'
17068 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
17069 l_component_type
17070 ,l_component_code
17071 ,l_component_type_code
17072 ,l_component_appl_id
17073 ,l_amb_context_code
17074 ,l_entity_code
17075 ,l_event_class_code
17076 )
17077 ,p_token_3 => 'OWNER'
17078 ,p_value_3 => xla_lookups_pkg.get_meaning(
17079 p_lookup_type => 'XLA_OWNER_TYPE'
17080 ,p_lookup_code => l_component_type_code
17081 )
17082 ,p_token_4 => 'PRODUCT_NAME'
17083 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
17084 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
17085 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
17086 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
17087 ,p_ae_header_id => NULL
17088 );
17089
17090 IF (C_LEVEL_ERROR>= g_log_level) THEN
17091 trace
17092 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
17093 ,p_level => C_LEVEL_ERROR
17094 ,p_module => l_log_module);
17095 END IF;
17096 END IF;
17097 END IF;
17098 --
17099 --
17100 ------------------------------------------------------------------------------------------------
17101 -- 4219869 Business Flow
17102 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
17103 -- Prior Entry. Currently, the following code is always generated.
17104 ------------------------------------------------------------------------------------------------
17105 XLA_AE_LINES_PKG.ValidateCurrentLine;
17106
17107 ------------------------------------------------------------------------------------
17108 -- 4219869 Business Flow
17109 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
17110 ------------------------------------------------------------------------------------
17111 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
17112
17113 ----------------------------------------------------------------------------------
17114 -- 4219869 Business Flow
17115 -- Update journal entry status -- Need to generate this within IF <condition>
17116 ----------------------------------------------------------------------------------
17117 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
17118 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
17119 ,p_balance_type_code => l_balance_type_code
17120 );
17121
17125 BEGIN
17122 -------------------------------------------------------------------------------------------
17123 -- 4262811 - Generate the Accrual Reversal lines
17124 -------------------------------------------------------------------------------------------
17126 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
17127 (g_array_event(p_event_id).array_value_num('header_index'));
17128 IF l_acc_rev_flag IS NULL THEN
17129 l_acc_rev_flag := 'N';
17130 END IF;
17131 EXCEPTION
17132 WHEN OTHERS THEN
17133 l_acc_rev_flag := 'N';
17134 END;
17135 --
17136 IF (l_acc_rev_flag = 'Y') THEN
17137
17138 -- 4645092 ------------------------------------------------------------------------------
17139 -- To allow MPA report to determine if it should generate report process
17140 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
17141 ------------------------------------------------------------------------------------------
17142
17143 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
17144 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
17145 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
17146 -- call ADRs
17147 -- Bug 4922099
17148 --
17149 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
17150 (NVL(l_actual_upg_option, 'N') = 'O') OR
17151 (NVL(l_enc_upg_option, 'N') = 'O')
17152 )
17153 THEN
17154 NULL;
17155 --
17156 --
17157
17158 l_ccid := AcctDerRule_7(
17159 p_application_id => p_application_id
17160 , p_ae_header_id => l_ae_header_id
17161 , p_source_11 => p_source_11
17162 , x_transaction_coa_id => l_adr_transaction_coa_id
17163 , x_accounting_coa_id => l_adr_accounting_coa_id
17164 , x_value_type_code => l_adr_value_type_code
17165 , p_side => 'NA'
17166 );
17167
17168 xla_ae_lines_pkg.set_ccid(
17169 p_code_combination_id => l_ccid
17170 , p_value_type_code => l_adr_value_type_code
17171 , p_transaction_coa_id => l_adr_transaction_coa_id
17172 , p_accounting_coa_id => l_adr_accounting_coa_id
17173 , p_adr_code => 'AP_INVOICE_DIST'
17174 , p_adr_type_code => 'S'
17175 , p_component_type => l_component_type
17176 , p_component_code => l_component_code
17177 , p_component_type_code => l_component_type_code
17178 , p_component_appl_id => l_component_appl_id
17179 , p_amb_context_code => l_amb_context_code
17180 , p_side => 'NA'
17181 );
17182
17183
17184 --
17185 --
17186 END IF;
17187
17188 --
17189 -- Update the line information that should be overwritten
17190 --
17191 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
17192 p_header_num => 1);
17193 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
17194
17195 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
17196
17197 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
17198 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
17199 END IF;
17200
17201 --
17202 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
17203 --
17204 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
17205 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
17206 ELSE
17207 ---------------------------------------------------------------------------------------------------
17208 -- 4262811a Switch Sign
17209 ---------------------------------------------------------------------------------------------------
17210 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
17211 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
17212 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
17213 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
17214 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
17215 -- 5132302
17216 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
17217 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
17218
17219 END IF;
17220
17221 -- 4955764
17222 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
17223 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
17224
17225
17226 XLA_AE_LINES_PKG.ValidateCurrentLine;
17227 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
17228
17229 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
17230 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
17234
17231 ,p_balance_type_code => l_balance_type_code);
17232
17233 END IF;
17235 -----------------------------------------------------------------------------------------
17236 -- 4262811 Multiperiod Accounting
17237 -----------------------------------------------------------------------------------------
17238 -- No MPA option is assigned.
17239
17240
17241 END IF;
17242 END IF;
17243 --
17244
17245 --
17246 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
17247 trace
17248 (p_msg => 'END of AcctLineType_34'
17249 ,p_level => C_LEVEL_PROCEDURE
17250 ,p_module => l_log_module);
17251 END IF;
17252 --
17253 EXCEPTION
17254 WHEN xla_exceptions_pkg.application_exception THEN
17255 RAISE;
17256 WHEN OTHERS THEN
17257 xla_exceptions_pkg.raise_message
17258 (p_location => 'XLA_00200_AAD_S_000006_BC_PKG.AcctLineType_34');
17259 END AcctLineType_34;
17260 --
17261
17262 ---------------------------------------
17263 --
17264 -- PRIVATE FUNCTION
17265 -- AcctLineType_35
17266 --
17267 ---------------------------------------
17268 PROCEDURE AcctLineType_35 (
17269 p_application_id IN NUMBER
17270 ,p_event_id IN NUMBER
17271 ,p_calculate_acctd_flag IN VARCHAR2
17272 ,p_calculate_g_l_flag IN VARCHAR2
17273 ,p_actual_flag IN OUT VARCHAR2
17274 ,p_balance_type_code OUT VARCHAR2
17275 ,p_gain_or_loss_ref OUT VARCHAR2
17276
17277 --Invoice Distribution Description
17278 , p_source_1 IN VARCHAR2
17279 --Invoice Distribution Account
17280 , p_source_11 IN NUMBER
17281 --Invoice Distribution Type
17282 , p_source_15 IN VARCHAR2
17283 , p_source_15_meaning IN VARCHAR2
17284 --Purchasing Encumbrance Option
17285 , p_source_17 IN VARCHAR2
17286 , p_source_17_meaning IN VARCHAR2
17287 --Accounting Reversal Indicator
17288 , p_source_19 IN VARCHAR2
17289 --Distribution Link Type
17290 , p_source_21 IN VARCHAR2
17291 --Allocation to Main Distribution Identifier
17292 , p_source_23 IN NUMBER
17293 --Invoice Identifier
17294 , p_source_24 IN NUMBER
17295 --Business Flow Accounts Payable Application Identifier
17296 , p_source_25 IN NUMBER
17297 --Business Flow Invoice Distribution Type
17298 , p_source_26 IN VARCHAR2
17299 --Business Flow Invoice Entity Code
17300 , p_source_27 IN VARCHAR2
17301 --Business Flow Invoice Distribution Identifier
17302 , p_source_28 IN NUMBER
17303 --Business Flow Invoice Identifier
17304 , p_source_29 IN NUMBER
17305 --Invoice Distribution Identifier
17306 , p_source_30 IN NUMBER
17307 --Payables Encumbrance Upgrade Credit Account
17308 , p_source_31 IN NUMBER
17309 --Payables Encumbrance Upgrade Credit Amount
17310 , p_source_32 IN NUMBER
17311 --Invoice Currency Code
17312 , p_source_33 IN VARCHAR2
17313 --Payables Encumbrance Upgrade Credit Base Amount
17314 , p_source_34 IN NUMBER
17315 --Payables Encumbrance Upgrade Debit Account
17316 , p_source_35 IN NUMBER
17317 --Payables Encumbrance Upgrade Debit Amount
17318 , p_source_36 IN NUMBER
17319 --Payables Encumbrance Upgrade Debit Base Amount
17320 , p_source_37 IN NUMBER
17321 --Payables Encumbrance Upgrade Option
17322 , p_source_38 IN VARCHAR2
17323 --Invoice Exchange Date
17324 , p_source_39 IN DATE
17325 --Invoice Exchange Rate
17326 , p_source_40 IN NUMBER
17327 --Invoice Exchange Rate Type
17328 , p_source_41 IN VARCHAR2
17329 --Deferred Accounting End Date
17330 , p_source_43 IN DATE
17331 --Deferred Accounting Option
17332 , p_source_44 IN VARCHAR2
17333 --Deferred Accounting Start Date
17334 , p_source_45 IN DATE
17335 --Override Accounted Amount Indicator
17336 , p_source_46 IN VARCHAR2
17337 , p_source_46_meaning IN VARCHAR2
17338 --Invoice Supplier Identifier
17339 , p_source_47 IN NUMBER
17340 --Invoice Supplier Site Identifier
17341 , p_source_48 IN NUMBER
17342 --Third Party Type
17343 , p_source_49 IN VARCHAR2
17344 --Parent Reversal Identifier
17345 , p_source_50 IN NUMBER
17346 --Invoice Distribution Statistical Amount
17347 , p_source_51 IN NUMBER
17348 --Invoice Distribution Tax Line Identifier
17349 , p_source_52 IN NUMBER
17350 --Invoice Distribution Tax Distribution Identifier from Tax
17351 , p_source_53 IN NUMBER
17352 --Invoice Distribution Summary Tax Line Identifier
17353 , p_source_54 IN NUMBER
17354 --Payables Upgrade Credit Encumbrance Type Identifier
17355 , p_source_55 IN NUMBER
17356 --Payables Upgrade Debit Encumbrance Type Identifier
17357 , p_source_56 IN NUMBER
17358 --Invoice Distribution Amount
17359 , p_source_57 IN NUMBER
17360 --Invoice Distribution Encumbrance Amount
17361 , p_source_65 IN NUMBER
17362 --Invoice Distribution Encumbrance Ledger Amount
17363 , p_source_66 IN NUMBER
17364 )
17365 IS
17366
17367 l_component_type VARCHAR2(80);
17368 l_component_code VARCHAR2(30);
17372 l_entity_code VARCHAR2(30);
17369 l_component_type_code VARCHAR2(1);
17370 l_component_appl_id INTEGER;
17371 l_amb_context_code VARCHAR2(30);
17373 l_event_class_code VARCHAR2(30);
17374 l_ae_header_id NUMBER;
17375 l_event_type_code VARCHAR2(30);
17376 l_line_definition_code VARCHAR2(30);
17377 l_line_definition_owner_code VARCHAR2(1);
17378 --
17379 -- adr variables
17380 l_segment VARCHAR2(30);
17381 l_ccid NUMBER;
17382 l_adr_transaction_coa_id NUMBER;
17383 l_adr_accounting_coa_id NUMBER;
17384 l_adr_flexfield_segment_code VARCHAR2(30);
17385 l_adr_flex_value_set_id NUMBER;
17386 l_adr_value_type_code VARCHAR2(30);
17387 l_adr_value_combination_id NUMBER;
17388 l_adr_value_segment_code VARCHAR2(30);
17389
17390 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
17391 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
17392 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
17393 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
17394
17395 -- 4262811 Variables ------------------------------------------------------------------------------------------
17396 l_entered_amt_idx NUMBER;
17397 l_accted_amt_idx NUMBER;
17398 l_acc_rev_flag VARCHAR2(1);
17399 l_accrual_line_num NUMBER;
17400 l_tmp_amt NUMBER;
17401 l_acc_rev_natural_side_code VARCHAR2(1);
17402
17403 l_num_entries NUMBER;
17404 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
17405 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
17406 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
17407 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
17408 l_recog_line_1 NUMBER;
17409 l_recog_line_2 NUMBER;
17410
17411 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
17412 l_bflow_applied_to_amt NUMBER; -- 5132302
17413 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
17414
17415 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
17416
17417 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
17418 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
17419
17420 ---------------------------------------------------------------------------------------------------------------
17421
17422
17423 --
17424 -- bulk performance
17425 --
17426 l_balance_type_code VARCHAR2(1);
17427 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
17428 l_log_module VARCHAR2(240);
17429
17430 --
17431 -- Upgrade strategy
17432 --
17433 l_actual_upg_option VARCHAR2(1);
17434 l_enc_upg_option VARCHAR2(1);
17435
17436 --
17437 BEGIN
17438 --
17439 IF g_log_enabled THEN
17440 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_35';
17441 END IF;
17442 --
17443 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
17444
17445 trace
17446 (p_msg => 'BEGIN of AcctLineType_35'
17447 ,p_level => C_LEVEL_PROCEDURE
17448 ,p_module => l_log_module);
17449
17450 END IF;
17451 --
17452 l_component_type := 'AMB_JLT';
17453 l_component_code := 'AP_INV_PRICE_VAR_INV_ENC_DR';
17454 l_component_type_code := 'S';
17455 l_component_appl_id := 200;
17456 l_amb_context_code := 'DEFAULT';
17457 l_entity_code := 'AP_INVOICES';
17458 l_event_class_code := 'INVOICES';
17459 l_event_type_code := 'INVOICES_ALL';
17460 l_line_definition_owner_code := 'S';
17461 l_line_definition_code := 'ENC_INVOICES_ALL';
17462 --
17463 l_balance_type_code := 'E';
17464 l_segment := NULL;
17465 l_ccid := NULL;
17466 l_adr_transaction_coa_id := NULL;
17467 l_adr_accounting_coa_id := NULL;
17468 l_adr_flexfield_segment_code := NULL;
17469 l_adr_flex_value_set_id := NULL;
17470 l_adr_value_type_code := NULL;
17471 l_adr_value_combination_id := NULL;
17472 l_adr_value_segment_code := NULL;
17473
17474 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
17475 l_bflow_class_code := 'AP_INV_ENCUM'; -- 4219869 Business Flow
17476 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
17477 l_budgetary_control_flag := 'Y';
17478
17479 l_bflow_applied_to_amt_idx := NULL; -- 5132302
17480 l_bflow_applied_to_amt := NULL; -- 5132302
17481 l_entered_amt_idx := NULL; -- 4262811
17482 l_accted_amt_idx := NULL; -- 4262811
17483 l_acc_rev_flag := NULL; -- 4262811
17484 l_accrual_line_num := NULL; -- 4262811
17485 l_tmp_amt := NULL; -- 4262811
17486 --
17487
17488 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
17489 l_balance_type_code <> 'B' THEN
17490 IF NVL(p_source_15,'
17491 ') = 'IPV' AND
17492 NVL(p_source_17,'
17493 ') = 'Y'
17494 THEN
17495
17496 --
17497 XLA_AE_LINES_PKG.SetNewLine;
17498
17499 p_balance_type_code := l_balance_type_code;
17503 p_actual_flag :='A';
17500 -- set the flag so later we will know whether the gain loss line needs to be created
17501
17502 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
17504 END IF;
17505
17506 --
17507 -- bulk performance
17508 --
17509 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
17510 p_header_num => 0); -- 4262811
17511 --
17512 -- set accounting line options
17513 --
17514 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
17515 p_natural_side_code => 'D'
17516 , p_gain_or_loss_flag => 'N'
17517 , p_gl_transfer_mode_code => 'S'
17518 , p_acct_entry_type_code => 'E'
17519 , p_switch_side_flag => 'Y'
17520 , p_merge_duplicate_code => 'N'
17521 );
17522 --
17523 l_acc_rev_natural_side_code := 'C'; -- 4262811
17524 --
17525 --
17526 -- set accounting line type info
17527 --
17528 xla_ae_lines_pkg.SetAcctLineType
17529 (p_component_type => l_component_type
17530 ,p_event_type_code => l_event_type_code
17531 ,p_line_definition_owner_code => l_line_definition_owner_code
17532 ,p_line_definition_code => l_line_definition_code
17533 ,p_accounting_line_code => l_component_code
17534 ,p_accounting_line_type_code => l_component_type_code
17535 ,p_accounting_line_appl_id => l_component_appl_id
17536 ,p_amb_context_code => l_amb_context_code
17537 ,p_entity_code => l_entity_code
17538 ,p_event_class_code => l_event_class_code);
17539 --
17540 -- set accounting class
17541 --
17542 xla_ae_lines_pkg.SetAcctClass(
17543 p_accounting_class_code => 'IPV'
17544 , p_ae_header_id => l_ae_header_id
17545 );
17546
17547 --
17548 -- set rounding class
17549 --
17550 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
17551 'IPV';
17552
17553 --
17554 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
17555 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
17556 --
17557 -- bulk performance
17558 --
17559 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
17560
17561 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
17562 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
17563
17564 -- 4955764
17565 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
17566 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
17567
17568 -- 4458381 Public Sector Enh
17569 XLA_AE_LINES_PKG.g_rec_lines.array_encumbrance_type_id(XLA_AE_LINES_PKG.g_LineNumber) := 1060;
17570 --
17571 -- set accounting attributes for the line type
17572 --
17573 l_entered_amt_idx := 24;
17574 l_accted_amt_idx := 29;
17575 l_bflow_applied_to_amt_idx := 7; -- 5132302
17576 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
17577 l_rec_acct_attrs.array_char_value(1) := p_source_19;
17578 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
17579 l_rec_acct_attrs.array_num_value(2) :=
17580 xla_ae_sources_pkg.GetSystemSourceNum(
17581 p_source_code => 'XLA_EVENT_APPL_ID'
17582 , p_source_type_code => 'Y'
17583 , p_source_application_id => 602
17584 );
17585 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
17586 l_rec_acct_attrs.array_char_value(3) := p_source_21;
17587 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
17588 l_rec_acct_attrs.array_char_value(4) :=
17589 xla_ae_sources_pkg.GetSystemSourceChar(
17590 p_source_code => 'XLA_ENTITY_CODE'
17591 , p_source_type_code => 'Y'
17592 , p_source_application_id => 602
17593 );
17594 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
17595 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_23);
17596 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
17597 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_24);
17598 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_AMOUNT';
17599 l_rec_acct_attrs.array_num_value(7) := p_source_57;
17600 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_APPLICATION_ID';
17601 l_rec_acct_attrs.array_num_value(8) := p_source_25;
17602 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_DISTRIBUTION_TYPE';
17603 l_rec_acct_attrs.array_char_value(9) := p_source_26;
17604 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_ENTITY_CODE';
17605 l_rec_acct_attrs.array_char_value(10) := p_source_27;
17606 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_DIST_ID';
17607 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_28);
17608 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
17609 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_29);
17610 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
17611 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_30);
17615 l_rec_acct_attrs.array_num_value(15) := p_source_31;
17612 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_TYPE';
17613 l_rec_acct_attrs.array_char_value(14) := p_source_21;
17614 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
17616 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
17617 l_rec_acct_attrs.array_num_value(16) := p_source_32;
17618 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
17619 l_rec_acct_attrs.array_char_value(17) := p_source_33;
17620 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
17621 l_rec_acct_attrs.array_num_value(18) := p_source_34;
17622 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_CCID';
17623 l_rec_acct_attrs.array_num_value(19) := p_source_35;
17624 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_AMT';
17625 l_rec_acct_attrs.array_num_value(20) := p_source_36;
17626 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_CURR';
17627 l_rec_acct_attrs.array_char_value(21) := p_source_33;
17628 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_LEDGER_AMT';
17629 l_rec_acct_attrs.array_num_value(22) := p_source_37;
17630 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_OPTION';
17631 l_rec_acct_attrs.array_char_value(23) := p_source_38;
17632 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_AMOUNT';
17633 l_rec_acct_attrs.array_num_value(24) := p_source_65;
17634 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_CODE';
17635 l_rec_acct_attrs.array_char_value(25) := p_source_33;
17636 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_DATE';
17637 l_rec_acct_attrs.array_date_value(26) := p_source_39;
17638 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE';
17639 l_rec_acct_attrs.array_num_value(27) := p_source_40;
17640 l_rec_acct_attrs.array_acct_attr_code(28) := 'EXCHANGE_RATE_TYPE';
17641 l_rec_acct_attrs.array_char_value(28) := p_source_41;
17642 l_rec_acct_attrs.array_acct_attr_code(29) := 'LEDGER_AMOUNT';
17643 l_rec_acct_attrs.array_num_value(29) := p_source_66;
17644 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_END_DATE';
17645 l_rec_acct_attrs.array_date_value(30) := p_source_43;
17646 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_OPTION';
17647 l_rec_acct_attrs.array_char_value(31) := p_source_44;
17648 l_rec_acct_attrs.array_acct_attr_code(32) := 'MULTIPERIOD_START_DATE';
17649 l_rec_acct_attrs.array_date_value(32) := p_source_45;
17650 l_rec_acct_attrs.array_acct_attr_code(33) := 'OVERRIDE_ACCTD_AMT_FLAG';
17651 l_rec_acct_attrs.array_char_value(33) := p_source_46;
17652 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_ID';
17653 l_rec_acct_attrs.array_num_value(34) := p_source_47;
17654 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_SITE_ID';
17655 l_rec_acct_attrs.array_num_value(35) := p_source_48;
17656 l_rec_acct_attrs.array_acct_attr_code(36) := 'PARTY_TYPE';
17657 l_rec_acct_attrs.array_char_value(36) := p_source_49;
17658 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_ID1';
17659 l_rec_acct_attrs.array_num_value(37) := to_char(p_source_50);
17660 l_rec_acct_attrs.array_acct_attr_code(38) := 'REVERSED_DISTRIBUTION_TYPE';
17661 l_rec_acct_attrs.array_char_value(38) := p_source_21;
17662 l_rec_acct_attrs.array_acct_attr_code(39) := 'STATISTICAL_AMOUNT';
17663 l_rec_acct_attrs.array_num_value(39) := p_source_51;
17664 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_LINE_REF_ID';
17665 l_rec_acct_attrs.array_num_value(40) := p_source_52;
17666 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_REC_NREC_DIST_REF_ID';
17667 l_rec_acct_attrs.array_num_value(41) := p_source_53;
17668 l_rec_acct_attrs.array_acct_attr_code(42) := 'TAX_SUMMARY_LINE_REF_ID';
17669 l_rec_acct_attrs.array_num_value(42) := p_source_54;
17670 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_CR_ENC_TYPE_ID';
17671 l_rec_acct_attrs.array_num_value(43) := p_source_55;
17672 l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
17673 l_rec_acct_attrs.array_num_value(44) := p_source_56;
17674
17675 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
17676 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
17677
17678 ---------------------------------------------------------------------------------------------------------------
17679 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
17680 ---------------------------------------------------------------------------------------------------------------
17681 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
17682
17683 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
17684 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
17685
17686 IF xla_accounting_cache_pkg.GetValueChar
17687 (p_source_code => 'LEDGER_CATEGORY_CODE'
17688 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
17689 AND l_bflow_method_code = 'PRIOR_ENTRY'
17690 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
17691 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
17692 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
17693 )
17694 THEN
17695 xla_ae_lines_pkg.BflowUpgEntry
17696 (p_business_method_code => l_bflow_method_code
17697 ,p_business_class_code => l_bflow_class_code
17701 -- No business flow processing for business flow method of NONE.
17698 ,p_balance_type => l_balance_type_code);
17699 ELSE
17700 NULL;
17702 END IF;
17703
17704 --
17705 -- call analytical criteria
17706 --
17707
17708 --
17709 -- call description
17710 --
17711
17712 xla_ae_lines_pkg.SetLineDescription(
17713 p_ae_header_id => l_ae_header_id
17714 ,p_description => Description_2 (
17715 p_application_id => p_application_id
17716 , p_ae_header_id => l_ae_header_id
17717 , p_source_1 => p_source_1
17718 )
17719 );
17720
17721
17722 --
17723 -- call ADRs
17724 -- Bug 4922099
17725 --
17726 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
17727 (NVL(l_actual_upg_option, 'N') = 'O') OR
17728 (NVL(l_enc_upg_option, 'N') = 'O')
17729 )
17730 THEN
17731 NULL;
17732 --
17733 --
17734
17735 l_ccid := AcctDerRule_7(
17736 p_application_id => p_application_id
17737 , p_ae_header_id => l_ae_header_id
17738 , p_source_11 => p_source_11
17739 , x_transaction_coa_id => l_adr_transaction_coa_id
17740 , x_accounting_coa_id => l_adr_accounting_coa_id
17741 , x_value_type_code => l_adr_value_type_code
17742 , p_side => 'NA'
17743 );
17744
17745 xla_ae_lines_pkg.set_ccid(
17746 p_code_combination_id => l_ccid
17747 , p_value_type_code => l_adr_value_type_code
17748 , p_transaction_coa_id => l_adr_transaction_coa_id
17749 , p_accounting_coa_id => l_adr_accounting_coa_id
17750 , p_adr_code => 'AP_INVOICE_DIST'
17751 , p_adr_type_code => 'S'
17752 , p_component_type => l_component_type
17753 , p_component_code => l_component_code
17754 , p_component_type_code => l_component_type_code
17755 , p_component_appl_id => l_component_appl_id
17756 , p_amb_context_code => l_amb_context_code
17757 , p_side => 'NA'
17758 );
17759
17760
17761 --
17762 --
17763 END IF;
17764 --
17765 -- Bug 4922099
17766 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
17767 (NVL(l_enc_upg_option, 'N') = 'O')
17768 ) AND
17769 (l_bflow_method_code = 'PRIOR_ENTRY')
17770 )
17771 THEN
17772 IF
17773 --
17774 1 = 2
17775 --
17776 THEN
17777 xla_accounting_err_pkg.build_message
17778 (p_appli_s_name => 'XLA'
17779 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
17780 ,p_token_1 => 'LINE_NUMBER'
17781 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
17782 ,p_token_2 => 'LINE_TYPE_NAME'
17783 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
17784 l_component_type
17785 ,l_component_code
17786 ,l_component_type_code
17787 ,l_component_appl_id
17788 ,l_amb_context_code
17789 ,l_entity_code
17790 ,l_event_class_code
17791 )
17792 ,p_token_3 => 'OWNER'
17793 ,p_value_3 => xla_lookups_pkg.get_meaning(
17794 p_lookup_type => 'XLA_OWNER_TYPE'
17795 ,p_lookup_code => l_component_type_code
17796 )
17797 ,p_token_4 => 'PRODUCT_NAME'
17798 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
17799 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
17800 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
17801 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
17802 ,p_ae_header_id => NULL
17803 );
17804
17805 IF (C_LEVEL_ERROR>= g_log_level) THEN
17806 trace
17807 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
17808 ,p_level => C_LEVEL_ERROR
17809 ,p_module => l_log_module);
17810 END IF;
17811 END IF;
17812 END IF;
17813 --
17814 --
17818 -- Prior Entry. Currently, the following code is always generated.
17815 ------------------------------------------------------------------------------------------------
17816 -- 4219869 Business Flow
17817 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
17819 ------------------------------------------------------------------------------------------------
17820 XLA_AE_LINES_PKG.ValidateCurrentLine;
17821
17822 ------------------------------------------------------------------------------------
17823 -- 4219869 Business Flow
17824 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
17825 ------------------------------------------------------------------------------------
17826 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
17827
17828 ----------------------------------------------------------------------------------
17829 -- 4219869 Business Flow
17830 -- Update journal entry status -- Need to generate this within IF <condition>
17831 ----------------------------------------------------------------------------------
17832 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
17833 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
17834 ,p_balance_type_code => l_balance_type_code
17835 );
17836
17837 -------------------------------------------------------------------------------------------
17838 -- 4262811 - Generate the Accrual Reversal lines
17839 -------------------------------------------------------------------------------------------
17840 BEGIN
17841 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
17842 (g_array_event(p_event_id).array_value_num('header_index'));
17843 IF l_acc_rev_flag IS NULL THEN
17844 l_acc_rev_flag := 'N';
17845 END IF;
17846 EXCEPTION
17847 WHEN OTHERS THEN
17848 l_acc_rev_flag := 'N';
17849 END;
17850 --
17851 IF (l_acc_rev_flag = 'Y') THEN
17852
17853 -- 4645092 ------------------------------------------------------------------------------
17854 -- To allow MPA report to determine if it should generate report process
17855 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
17856 ------------------------------------------------------------------------------------------
17857
17858 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
17859 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
17860 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
17861 -- call ADRs
17862 -- Bug 4922099
17863 --
17864 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
17865 (NVL(l_actual_upg_option, 'N') = 'O') OR
17866 (NVL(l_enc_upg_option, 'N') = 'O')
17867 )
17868 THEN
17869 NULL;
17870 --
17871 --
17872
17873 l_ccid := AcctDerRule_7(
17874 p_application_id => p_application_id
17875 , p_ae_header_id => l_ae_header_id
17876 , p_source_11 => p_source_11
17877 , x_transaction_coa_id => l_adr_transaction_coa_id
17878 , x_accounting_coa_id => l_adr_accounting_coa_id
17879 , x_value_type_code => l_adr_value_type_code
17880 , p_side => 'NA'
17881 );
17882
17883 xla_ae_lines_pkg.set_ccid(
17884 p_code_combination_id => l_ccid
17885 , p_value_type_code => l_adr_value_type_code
17886 , p_transaction_coa_id => l_adr_transaction_coa_id
17887 , p_accounting_coa_id => l_adr_accounting_coa_id
17888 , p_adr_code => 'AP_INVOICE_DIST'
17889 , p_adr_type_code => 'S'
17890 , p_component_type => l_component_type
17891 , p_component_code => l_component_code
17892 , p_component_type_code => l_component_type_code
17893 , p_component_appl_id => l_component_appl_id
17894 , p_amb_context_code => l_amb_context_code
17895 , p_side => 'NA'
17896 );
17897
17898
17899 --
17900 --
17901 END IF;
17902
17903 --
17904 -- Update the line information that should be overwritten
17905 --
17906 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
17907 p_header_num => 1);
17908 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
17909
17910 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
17911
17912 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
17913 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
17914 END IF;
17915
17916 --
17917 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
17918 --
17919 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
17920 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
17921 ELSE
17922 ---------------------------------------------------------------------------------------------------
17923 -- 4262811a Switch Sign
17927 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
17924 ---------------------------------------------------------------------------------------------------
17925 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
17926 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
17928 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
17929 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
17930 -- 5132302
17931 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
17932 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
17933
17934 END IF;
17935
17936 -- 4955764
17937 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
17938 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
17939
17940
17941 XLA_AE_LINES_PKG.ValidateCurrentLine;
17942 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
17943
17944 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
17945 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
17946 ,p_balance_type_code => l_balance_type_code);
17947
17948 END IF;
17949
17950 -----------------------------------------------------------------------------------------
17951 -- 4262811 Multiperiod Accounting
17952 -----------------------------------------------------------------------------------------
17953 -- No MPA option is assigned.
17954
17955
17956 END IF;
17957 END IF;
17958 --
17959
17960 --
17961 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
17962 trace
17963 (p_msg => 'END of AcctLineType_35'
17964 ,p_level => C_LEVEL_PROCEDURE
17965 ,p_module => l_log_module);
17966 END IF;
17967 --
17968 EXCEPTION
17969 WHEN xla_exceptions_pkg.application_exception THEN
17970 RAISE;
17971 WHEN OTHERS THEN
17972 xla_exceptions_pkg.raise_message
17973 (p_location => 'XLA_00200_AAD_S_000006_BC_PKG.AcctLineType_35');
17974 END AcctLineType_35;
17975 --
17976
17977 ---------------------------------------
17978 --
17979 -- PRIVATE FUNCTION
17980 -- AcctLineType_36
17981 --
17982 ---------------------------------------
17983 PROCEDURE AcctLineType_36 (
17984 p_application_id IN NUMBER
17985 ,p_event_id IN NUMBER
17986 ,p_calculate_acctd_flag IN VARCHAR2
17987 ,p_calculate_g_l_flag IN VARCHAR2
17988 ,p_actual_flag IN OUT VARCHAR2
17989 ,p_balance_type_code OUT VARCHAR2
17990 ,p_gain_or_loss_ref OUT VARCHAR2
17991
17992 --Invoice Distribution Description
17993 , p_source_1 IN VARCHAR2
17994 --Invoice Distribution Account
17995 , p_source_11 IN NUMBER
17996 --Invoice Distribution Type
17997 , p_source_15 IN VARCHAR2
17998 , p_source_15_meaning IN VARCHAR2
17999 --Purchasing Encumbrance Option
18000 , p_source_17 IN VARCHAR2
18001 , p_source_17_meaning IN VARCHAR2
18002 --Accounting Reversal Indicator
18003 , p_source_19 IN VARCHAR2
18004 --Distribution Link Type
18005 , p_source_21 IN VARCHAR2
18006 --Allocation to Main Distribution Identifier
18007 , p_source_23 IN NUMBER
18008 --Invoice Identifier
18009 , p_source_24 IN NUMBER
18010 --Business Flow Accounts Payable Application Identifier
18011 , p_source_25 IN NUMBER
18012 --Business Flow Invoice Distribution Type
18013 , p_source_26 IN VARCHAR2
18014 --Business Flow Invoice Entity Code
18015 , p_source_27 IN VARCHAR2
18016 --Business Flow Invoice Distribution Identifier
18017 , p_source_28 IN NUMBER
18018 --Business Flow Invoice Identifier
18019 , p_source_29 IN NUMBER
18020 --Invoice Distribution Identifier
18021 , p_source_30 IN NUMBER
18022 --Payables Encumbrance Upgrade Credit Account
18023 , p_source_31 IN NUMBER
18024 --Payables Encumbrance Upgrade Credit Amount
18025 , p_source_32 IN NUMBER
18026 --Invoice Currency Code
18027 , p_source_33 IN VARCHAR2
18028 --Payables Encumbrance Upgrade Credit Base Amount
18029 , p_source_34 IN NUMBER
18030 --Payables Encumbrance Upgrade Debit Account
18031 , p_source_35 IN NUMBER
18032 --Payables Encumbrance Upgrade Debit Amount
18033 , p_source_36 IN NUMBER
18034 --Payables Encumbrance Upgrade Debit Base Amount
18035 , p_source_37 IN NUMBER
18036 --Payables Encumbrance Upgrade Option
18037 , p_source_38 IN VARCHAR2
18038 --Invoice Exchange Date
18039 , p_source_39 IN DATE
18040 --Invoice Exchange Rate
18041 , p_source_40 IN NUMBER
18042 --Invoice Exchange Rate Type
18043 , p_source_41 IN VARCHAR2
18044 --Deferred Accounting End Date
18045 , p_source_43 IN DATE
18046 --Deferred Accounting Option
18047 , p_source_44 IN VARCHAR2
18048 --Deferred Accounting Start Date
18049 , p_source_45 IN DATE
18050 --Override Accounted Amount Indicator
18051 , p_source_46 IN VARCHAR2
18052 , p_source_46_meaning IN VARCHAR2
18056 , p_source_48 IN NUMBER
18053 --Invoice Supplier Identifier
18054 , p_source_47 IN NUMBER
18055 --Invoice Supplier Site Identifier
18057 --Third Party Type
18058 , p_source_49 IN VARCHAR2
18059 --Parent Reversal Identifier
18060 , p_source_50 IN NUMBER
18061 --Invoice Distribution Statistical Amount
18062 , p_source_51 IN NUMBER
18063 --Invoice Distribution Tax Line Identifier
18064 , p_source_52 IN NUMBER
18065 --Invoice Distribution Tax Distribution Identifier from Tax
18066 , p_source_53 IN NUMBER
18067 --Invoice Distribution Summary Tax Line Identifier
18068 , p_source_54 IN NUMBER
18069 --Payables Upgrade Credit Encumbrance Type Identifier
18070 , p_source_55 IN NUMBER
18071 --Payables Upgrade Debit Encumbrance Type Identifier
18072 , p_source_56 IN NUMBER
18073 --Invoice Distribution Encumbrance Amount
18074 , p_source_65 IN NUMBER
18075 --Invoice Distribution Encumbrance Ledger Amount
18076 , p_source_66 IN NUMBER
18077 )
18078 IS
18079
18080 l_component_type VARCHAR2(80);
18081 l_component_code VARCHAR2(30);
18082 l_component_type_code VARCHAR2(1);
18083 l_component_appl_id INTEGER;
18084 l_amb_context_code VARCHAR2(30);
18085 l_entity_code VARCHAR2(30);
18086 l_event_class_code VARCHAR2(30);
18087 l_ae_header_id NUMBER;
18088 l_event_type_code VARCHAR2(30);
18089 l_line_definition_code VARCHAR2(30);
18090 l_line_definition_owner_code VARCHAR2(1);
18091 --
18092 -- adr variables
18093 l_segment VARCHAR2(30);
18094 l_ccid NUMBER;
18095 l_adr_transaction_coa_id NUMBER;
18096 l_adr_accounting_coa_id NUMBER;
18097 l_adr_flexfield_segment_code VARCHAR2(30);
18098 l_adr_flex_value_set_id NUMBER;
18099 l_adr_value_type_code VARCHAR2(30);
18100 l_adr_value_combination_id NUMBER;
18101 l_adr_value_segment_code VARCHAR2(30);
18102
18103 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
18104 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
18105 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
18106 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
18107
18108 -- 4262811 Variables ------------------------------------------------------------------------------------------
18109 l_entered_amt_idx NUMBER;
18110 l_accted_amt_idx NUMBER;
18111 l_acc_rev_flag VARCHAR2(1);
18112 l_accrual_line_num NUMBER;
18113 l_tmp_amt NUMBER;
18114 l_acc_rev_natural_side_code VARCHAR2(1);
18115
18116 l_num_entries NUMBER;
18117 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
18118 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
18119 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
18120 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
18121 l_recog_line_1 NUMBER;
18122 l_recog_line_2 NUMBER;
18123
18124 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
18125 l_bflow_applied_to_amt NUMBER; -- 5132302
18126 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
18127
18128 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
18129
18130 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
18131 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
18132
18133 ---------------------------------------------------------------------------------------------------------------
18134
18135
18136 --
18137 -- bulk performance
18138 --
18139 l_balance_type_code VARCHAR2(1);
18140 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
18141 l_log_module VARCHAR2(240);
18142
18143 --
18144 -- Upgrade strategy
18145 --
18146 l_actual_upg_option VARCHAR2(1);
18147 l_enc_upg_option VARCHAR2(1);
18148
18149 --
18150 BEGIN
18151 --
18152 IF g_log_enabled THEN
18153 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_36';
18154 END IF;
18155 --
18156 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
18157
18158 trace
18159 (p_msg => 'BEGIN of AcctLineType_36'
18160 ,p_level => C_LEVEL_PROCEDURE
18161 ,p_module => l_log_module);
18162
18163 END IF;
18164 --
18165 l_component_type := 'AMB_JLT';
18166 l_component_code := 'AP_INV_PRICE_VAR_PP_ENC_DR';
18167 l_component_type_code := 'S';
18168 l_component_appl_id := 200;
18169 l_amb_context_code := 'DEFAULT';
18170 l_entity_code := 'AP_INVOICES';
18171 l_event_class_code := 'PREPAYMENTS';
18172 l_event_type_code := 'PREPAYMENTS_ALL';
18173 l_line_definition_owner_code := 'S';
18174 l_line_definition_code := 'ENC_PREPAY_ALL';
18175 --
18176 l_balance_type_code := 'E';
18177 l_segment := NULL;
18178 l_ccid := NULL;
18179 l_adr_transaction_coa_id := NULL;
18180 l_adr_accounting_coa_id := NULL;
18181 l_adr_flexfield_segment_code := NULL;
18185 l_adr_value_segment_code := NULL;
18182 l_adr_flex_value_set_id := NULL;
18183 l_adr_value_type_code := NULL;
18184 l_adr_value_combination_id := NULL;
18186
18187 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
18188 l_bflow_class_code := 'AP_INV_ENCUM'; -- 4219869 Business Flow
18189 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
18190 l_budgetary_control_flag := 'Y';
18191
18192 l_bflow_applied_to_amt_idx := NULL; -- 5132302
18193 l_bflow_applied_to_amt := NULL; -- 5132302
18194 l_entered_amt_idx := NULL; -- 4262811
18195 l_accted_amt_idx := NULL; -- 4262811
18196 l_acc_rev_flag := NULL; -- 4262811
18197 l_accrual_line_num := NULL; -- 4262811
18198 l_tmp_amt := NULL; -- 4262811
18199 --
18200
18201 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
18202 l_balance_type_code <> 'B' THEN
18203 IF NVL(p_source_15,'
18204 ') = 'IPV' AND
18205 NVL(p_source_17,'
18206 ') = 'Y'
18207 THEN
18208
18209 --
18210 XLA_AE_LINES_PKG.SetNewLine;
18211
18212 p_balance_type_code := l_balance_type_code;
18213 -- set the flag so later we will know whether the gain loss line needs to be created
18214
18215 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
18216 p_actual_flag :='A';
18217 END IF;
18218
18219 --
18220 -- bulk performance
18221 --
18222 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
18223 p_header_num => 0); -- 4262811
18224 --
18225 -- set accounting line options
18226 --
18227 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
18228 p_natural_side_code => 'D'
18229 , p_gain_or_loss_flag => 'N'
18230 , p_gl_transfer_mode_code => 'S'
18231 , p_acct_entry_type_code => 'E'
18232 , p_switch_side_flag => 'Y'
18233 , p_merge_duplicate_code => 'N'
18234 );
18235 --
18236 l_acc_rev_natural_side_code := 'C'; -- 4262811
18237 --
18238 --
18239 -- set accounting line type info
18240 --
18241 xla_ae_lines_pkg.SetAcctLineType
18242 (p_component_type => l_component_type
18243 ,p_event_type_code => l_event_type_code
18244 ,p_line_definition_owner_code => l_line_definition_owner_code
18245 ,p_line_definition_code => l_line_definition_code
18246 ,p_accounting_line_code => l_component_code
18247 ,p_accounting_line_type_code => l_component_type_code
18248 ,p_accounting_line_appl_id => l_component_appl_id
18249 ,p_amb_context_code => l_amb_context_code
18250 ,p_entity_code => l_entity_code
18251 ,p_event_class_code => l_event_class_code);
18252 --
18253 -- set accounting class
18254 --
18255 xla_ae_lines_pkg.SetAcctClass(
18256 p_accounting_class_code => 'IPV'
18257 , p_ae_header_id => l_ae_header_id
18258 );
18259
18260 --
18261 -- set rounding class
18262 --
18263 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
18264 'IPV';
18265
18266 --
18267 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
18268 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
18269 --
18270 -- bulk performance
18271 --
18272 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
18273
18274 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
18275 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
18276
18277 -- 4955764
18278 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
18279 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
18280
18281 -- 4458381 Public Sector Enh
18282 XLA_AE_LINES_PKG.g_rec_lines.array_encumbrance_type_id(XLA_AE_LINES_PKG.g_LineNumber) := 1060;
18283 --
18284 -- set accounting attributes for the line type
18285 --
18286 l_entered_amt_idx := 23;
18287 l_accted_amt_idx := 28;
18288 l_bflow_applied_to_amt_idx := NULL; -- 5132302
18289 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
18290 l_rec_acct_attrs.array_char_value(1) := p_source_19;
18291 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
18292 l_rec_acct_attrs.array_num_value(2) :=
18293 xla_ae_sources_pkg.GetSystemSourceNum(
18294 p_source_code => 'XLA_EVENT_APPL_ID'
18295 , p_source_type_code => 'Y'
18296 , p_source_application_id => 602
18297 );
18298 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
18299 l_rec_acct_attrs.array_char_value(3) := p_source_21;
18300 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
18301 l_rec_acct_attrs.array_char_value(4) :=
18302 xla_ae_sources_pkg.GetSystemSourceChar(
18303 p_source_code => 'XLA_ENTITY_CODE'
18304 , p_source_type_code => 'Y'
18305 , p_source_application_id => 602
18306 );
18307 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
18311 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
18308 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_23);
18309 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
18310 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_24);
18312 l_rec_acct_attrs.array_num_value(7) := p_source_25;
18313 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
18314 l_rec_acct_attrs.array_char_value(8) := p_source_26;
18315 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
18316 l_rec_acct_attrs.array_char_value(9) := p_source_27;
18317 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
18318 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_28);
18319 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
18320 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_29);
18321 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
18322 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_30);
18323 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
18324 l_rec_acct_attrs.array_char_value(13) := p_source_21;
18325 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
18326 l_rec_acct_attrs.array_num_value(14) := p_source_31;
18327 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
18328 l_rec_acct_attrs.array_num_value(15) := p_source_32;
18329 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
18330 l_rec_acct_attrs.array_char_value(16) := p_source_33;
18331 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
18332 l_rec_acct_attrs.array_num_value(17) := p_source_34;
18333 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
18334 l_rec_acct_attrs.array_num_value(18) := p_source_35;
18335 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
18336 l_rec_acct_attrs.array_num_value(19) := p_source_36;
18337 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
18338 l_rec_acct_attrs.array_char_value(20) := p_source_33;
18339 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
18340 l_rec_acct_attrs.array_num_value(21) := p_source_37;
18341 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
18342 l_rec_acct_attrs.array_char_value(22) := p_source_38;
18343 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
18344 l_rec_acct_attrs.array_num_value(23) := p_source_65;
18345 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
18346 l_rec_acct_attrs.array_char_value(24) := p_source_33;
18347 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
18348 l_rec_acct_attrs.array_date_value(25) := p_source_39;
18349 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
18350 l_rec_acct_attrs.array_num_value(26) := p_source_40;
18351 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
18352 l_rec_acct_attrs.array_char_value(27) := p_source_41;
18353 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
18354 l_rec_acct_attrs.array_num_value(28) := p_source_66;
18355 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
18356 l_rec_acct_attrs.array_date_value(29) := p_source_43;
18357 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
18358 l_rec_acct_attrs.array_char_value(30) := p_source_44;
18359 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
18360 l_rec_acct_attrs.array_date_value(31) := p_source_45;
18361 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
18362 l_rec_acct_attrs.array_char_value(32) := p_source_46;
18363 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
18364 l_rec_acct_attrs.array_num_value(33) := p_source_47;
18365 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
18366 l_rec_acct_attrs.array_num_value(34) := p_source_48;
18367 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
18368 l_rec_acct_attrs.array_char_value(35) := p_source_49;
18369 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
18370 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_50);
18371 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
18372 l_rec_acct_attrs.array_char_value(37) := p_source_21;
18373 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
18374 l_rec_acct_attrs.array_num_value(38) := p_source_51;
18375 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
18376 l_rec_acct_attrs.array_num_value(39) := p_source_52;
18377 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
18378 l_rec_acct_attrs.array_num_value(40) := p_source_53;
18379 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
18380 l_rec_acct_attrs.array_num_value(41) := p_source_54;
18381 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
18382 l_rec_acct_attrs.array_num_value(42) := p_source_55;
18383 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
18384 l_rec_acct_attrs.array_num_value(43) := p_source_56;
18385
18386 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
18387 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
18388
18389 ---------------------------------------------------------------------------------------------------------------
18393
18390 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
18391 ---------------------------------------------------------------------------------------------------------------
18392 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
18394 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
18395 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
18396
18397 IF xla_accounting_cache_pkg.GetValueChar
18398 (p_source_code => 'LEDGER_CATEGORY_CODE'
18399 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
18400 AND l_bflow_method_code = 'PRIOR_ENTRY'
18401 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
18402 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
18403 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
18404 )
18405 THEN
18406 xla_ae_lines_pkg.BflowUpgEntry
18407 (p_business_method_code => l_bflow_method_code
18408 ,p_business_class_code => l_bflow_class_code
18409 ,p_balance_type => l_balance_type_code);
18410 ELSE
18411 NULL;
18412 -- No business flow processing for business flow method of NONE.
18413 END IF;
18414
18415 --
18416 -- call analytical criteria
18417 --
18418
18419 --
18420 -- call description
18421 --
18422
18423 xla_ae_lines_pkg.SetLineDescription(
18424 p_ae_header_id => l_ae_header_id
18425 ,p_description => Description_2 (
18426 p_application_id => p_application_id
18427 , p_ae_header_id => l_ae_header_id
18428 , p_source_1 => p_source_1
18429 )
18430 );
18431
18432
18433 --
18434 -- call ADRs
18435 -- Bug 4922099
18436 --
18437 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
18438 (NVL(l_actual_upg_option, 'N') = 'O') OR
18439 (NVL(l_enc_upg_option, 'N') = 'O')
18440 )
18441 THEN
18442 NULL;
18443 --
18444 --
18445
18446 l_ccid := AcctDerRule_7(
18447 p_application_id => p_application_id
18448 , p_ae_header_id => l_ae_header_id
18449 , p_source_11 => p_source_11
18450 , x_transaction_coa_id => l_adr_transaction_coa_id
18451 , x_accounting_coa_id => l_adr_accounting_coa_id
18452 , x_value_type_code => l_adr_value_type_code
18453 , p_side => 'NA'
18454 );
18455
18456 xla_ae_lines_pkg.set_ccid(
18457 p_code_combination_id => l_ccid
18458 , p_value_type_code => l_adr_value_type_code
18459 , p_transaction_coa_id => l_adr_transaction_coa_id
18460 , p_accounting_coa_id => l_adr_accounting_coa_id
18461 , p_adr_code => 'AP_INVOICE_DIST'
18462 , p_adr_type_code => 'S'
18463 , p_component_type => l_component_type
18464 , p_component_code => l_component_code
18465 , p_component_type_code => l_component_type_code
18466 , p_component_appl_id => l_component_appl_id
18467 , p_amb_context_code => l_amb_context_code
18468 , p_side => 'NA'
18469 );
18470
18471
18472 --
18473 --
18474 END IF;
18475 --
18476 -- Bug 4922099
18477 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
18478 (NVL(l_enc_upg_option, 'N') = 'O')
18479 ) AND
18480 (l_bflow_method_code = 'PRIOR_ENTRY')
18481 )
18482 THEN
18483 IF
18484 --
18485 1 = 2
18486 --
18487 THEN
18488 xla_accounting_err_pkg.build_message
18489 (p_appli_s_name => 'XLA'
18490 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
18491 ,p_token_1 => 'LINE_NUMBER'
18492 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
18493 ,p_token_2 => 'LINE_TYPE_NAME'
18494 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
18495 l_component_type
18496 ,l_component_code
18497 ,l_component_type_code
18498 ,l_component_appl_id
18499 ,l_amb_context_code
18500 ,l_entity_code
18501 ,l_event_class_code
18502 )
18503 ,p_token_3 => 'OWNER'
18504 ,p_value_3 => xla_lookups_pkg.get_meaning(
18505 p_lookup_type => 'XLA_OWNER_TYPE'
18509 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
18506 ,p_lookup_code => l_component_type_code
18507 )
18508 ,p_token_4 => 'PRODUCT_NAME'
18510 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
18511 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
18512 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
18513 ,p_ae_header_id => NULL
18514 );
18515
18516 IF (C_LEVEL_ERROR>= g_log_level) THEN
18517 trace
18518 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
18519 ,p_level => C_LEVEL_ERROR
18520 ,p_module => l_log_module);
18521 END IF;
18522 END IF;
18523 END IF;
18524 --
18525 --
18526 ------------------------------------------------------------------------------------------------
18527 -- 4219869 Business Flow
18528 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
18529 -- Prior Entry. Currently, the following code is always generated.
18530 ------------------------------------------------------------------------------------------------
18531 XLA_AE_LINES_PKG.ValidateCurrentLine;
18532
18533 ------------------------------------------------------------------------------------
18534 -- 4219869 Business Flow
18535 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
18536 ------------------------------------------------------------------------------------
18537 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
18538
18539 ----------------------------------------------------------------------------------
18540 -- 4219869 Business Flow
18541 -- Update journal entry status -- Need to generate this within IF <condition>
18542 ----------------------------------------------------------------------------------
18543 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
18544 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
18545 ,p_balance_type_code => l_balance_type_code
18546 );
18547
18548 -------------------------------------------------------------------------------------------
18549 -- 4262811 - Generate the Accrual Reversal lines
18550 -------------------------------------------------------------------------------------------
18551 BEGIN
18552 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
18553 (g_array_event(p_event_id).array_value_num('header_index'));
18554 IF l_acc_rev_flag IS NULL THEN
18555 l_acc_rev_flag := 'N';
18556 END IF;
18557 EXCEPTION
18558 WHEN OTHERS THEN
18559 l_acc_rev_flag := 'N';
18560 END;
18561 --
18562 IF (l_acc_rev_flag = 'Y') THEN
18563
18564 -- 4645092 ------------------------------------------------------------------------------
18565 -- To allow MPA report to determine if it should generate report process
18566 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
18567 ------------------------------------------------------------------------------------------
18568
18569 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
18570 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
18571 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
18572 -- call ADRs
18573 -- Bug 4922099
18574 --
18575 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
18576 (NVL(l_actual_upg_option, 'N') = 'O') OR
18577 (NVL(l_enc_upg_option, 'N') = 'O')
18578 )
18579 THEN
18580 NULL;
18581 --
18582 --
18583
18584 l_ccid := AcctDerRule_7(
18585 p_application_id => p_application_id
18586 , p_ae_header_id => l_ae_header_id
18587 , p_source_11 => p_source_11
18588 , x_transaction_coa_id => l_adr_transaction_coa_id
18589 , x_accounting_coa_id => l_adr_accounting_coa_id
18590 , x_value_type_code => l_adr_value_type_code
18591 , p_side => 'NA'
18592 );
18593
18594 xla_ae_lines_pkg.set_ccid(
18595 p_code_combination_id => l_ccid
18596 , p_value_type_code => l_adr_value_type_code
18597 , p_transaction_coa_id => l_adr_transaction_coa_id
18598 , p_accounting_coa_id => l_adr_accounting_coa_id
18599 , p_adr_code => 'AP_INVOICE_DIST'
18600 , p_adr_type_code => 'S'
18601 , p_component_type => l_component_type
18602 , p_component_code => l_component_code
18603 , p_component_type_code => l_component_type_code
18604 , p_component_appl_id => l_component_appl_id
18605 , p_amb_context_code => l_amb_context_code
18606 , p_side => 'NA'
18607 );
18608
18609
18610 --
18611 --
18612 END IF;
18613
18614 --
18618 p_header_num => 1);
18615 -- Update the line information that should be overwritten
18616 --
18617 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
18619 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
18620
18621 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
18622
18623 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
18624 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
18625 END IF;
18626
18627 --
18628 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
18629 --
18630 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
18631 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
18632 ELSE
18633 ---------------------------------------------------------------------------------------------------
18634 -- 4262811a Switch Sign
18635 ---------------------------------------------------------------------------------------------------
18636 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
18637 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
18638 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
18639 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
18640 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
18641 -- 5132302
18642 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
18643 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
18644
18645 END IF;
18646
18647 -- 4955764
18648 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
18649 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
18650
18651
18652 XLA_AE_LINES_PKG.ValidateCurrentLine;
18653 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
18654
18655 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
18656 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
18657 ,p_balance_type_code => l_balance_type_code);
18658
18659 END IF;
18660
18661 -----------------------------------------------------------------------------------------
18662 -- 4262811 Multiperiod Accounting
18663 -----------------------------------------------------------------------------------------
18664 -- No MPA option is assigned.
18665
18666
18667 END IF;
18668 END IF;
18669 --
18670
18671 --
18672 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
18673 trace
18674 (p_msg => 'END of AcctLineType_36'
18675 ,p_level => C_LEVEL_PROCEDURE
18676 ,p_module => l_log_module);
18677 END IF;
18678 --
18679 EXCEPTION
18680 WHEN xla_exceptions_pkg.application_exception THEN
18681 RAISE;
18682 WHEN OTHERS THEN
18683 xla_exceptions_pkg.raise_message
18684 (p_location => 'XLA_00200_AAD_S_000006_BC_PKG.AcctLineType_36');
18685 END AcctLineType_36;
18686 --
18687
18688 ---------------------------------------
18689 --
18690 -- PRIVATE FUNCTION
18691 -- AcctLineType_37
18692 --
18693 ---------------------------------------
18694 PROCEDURE AcctLineType_37 (
18695 p_application_id IN NUMBER
18696 ,p_event_id IN NUMBER
18697 ,p_calculate_acctd_flag IN VARCHAR2
18698 ,p_calculate_g_l_flag IN VARCHAR2
18699 ,p_actual_flag IN OUT VARCHAR2
18700 ,p_balance_type_code OUT VARCHAR2
18701 ,p_gain_or_loss_ref OUT VARCHAR2
18702
18703 --Invoice Distribution Description
18704 , p_source_1 IN VARCHAR2
18705 --Invoice Distribution Account
18706 , p_source_11 IN NUMBER
18707 --Invoice Distribution Type
18708 , p_source_15 IN VARCHAR2
18709 , p_source_15_meaning IN VARCHAR2
18710 --Purchasing Encumbrance Option
18711 , p_source_17 IN VARCHAR2
18712 , p_source_17_meaning IN VARCHAR2
18713 --Accrue on Receipt Option
18714 , p_source_18 IN VARCHAR2
18715 , p_source_18_meaning IN VARCHAR2
18716 --Accounting Reversal Indicator
18717 , p_source_19 IN VARCHAR2
18718 --Distribution Link Type
18719 , p_source_21 IN VARCHAR2
18720 --Allocation to Main Distribution Identifier
18721 , p_source_23 IN NUMBER
18722 --Invoice Identifier
18723 , p_source_24 IN NUMBER
18724 --Business Flow Accounts Payable Application Identifier
18725 , p_source_25 IN NUMBER
18726 --Business Flow Invoice Distribution Type
18727 , p_source_26 IN VARCHAR2
18728 --Business Flow Invoice Entity Code
18729 , p_source_27 IN VARCHAR2
18730 --Business Flow Invoice Distribution Identifier
18731 , p_source_28 IN NUMBER
18732 --Business Flow Invoice Identifier
18733 , p_source_29 IN NUMBER
18734 --Invoice Distribution Identifier
18735 , p_source_30 IN NUMBER
18739 , p_source_32 IN NUMBER
18736 --Payables Encumbrance Upgrade Credit Account
18737 , p_source_31 IN NUMBER
18738 --Payables Encumbrance Upgrade Credit Amount
18740 --Invoice Currency Code
18741 , p_source_33 IN VARCHAR2
18742 --Payables Encumbrance Upgrade Credit Base Amount
18743 , p_source_34 IN NUMBER
18744 --Payables Encumbrance Upgrade Debit Account
18745 , p_source_35 IN NUMBER
18746 --Payables Encumbrance Upgrade Debit Amount
18747 , p_source_36 IN NUMBER
18748 --Payables Encumbrance Upgrade Debit Base Amount
18749 , p_source_37 IN NUMBER
18750 --Payables Encumbrance Upgrade Option
18751 , p_source_38 IN VARCHAR2
18752 --Invoice Exchange Date
18753 , p_source_39 IN DATE
18754 --Invoice Exchange Rate
18755 , p_source_40 IN NUMBER
18756 --Invoice Exchange Rate Type
18757 , p_source_41 IN VARCHAR2
18758 --Deferred Accounting End Date
18759 , p_source_43 IN DATE
18760 --Deferred Accounting Option
18761 , p_source_44 IN VARCHAR2
18762 --Deferred Accounting Start Date
18763 , p_source_45 IN DATE
18764 --Override Accounted Amount Indicator
18765 , p_source_46 IN VARCHAR2
18766 , p_source_46_meaning IN VARCHAR2
18767 --Invoice Supplier Identifier
18768 , p_source_47 IN NUMBER
18769 --Invoice Supplier Site Identifier
18770 , p_source_48 IN NUMBER
18771 --Third Party Type
18772 , p_source_49 IN VARCHAR2
18773 --Parent Reversal Identifier
18774 , p_source_50 IN NUMBER
18775 --Invoice Distribution Statistical Amount
18776 , p_source_51 IN NUMBER
18777 --Invoice Distribution Tax Line Identifier
18778 , p_source_52 IN NUMBER
18779 --Invoice Distribution Tax Distribution Identifier from Tax
18780 , p_source_53 IN NUMBER
18781 --Invoice Distribution Summary Tax Line Identifier
18782 , p_source_54 IN NUMBER
18783 --Payables Upgrade Credit Encumbrance Type Identifier
18784 , p_source_55 IN NUMBER
18785 --Payables Upgrade Debit Encumbrance Type Identifier
18786 , p_source_56 IN NUMBER
18787 --Invoice Distribution Encumbrance Amount
18788 , p_source_65 IN NUMBER
18789 --Invoice Distribution Encumbrance Ledger Amount
18790 , p_source_66 IN NUMBER
18791 )
18792 IS
18793
18794 l_component_type VARCHAR2(80);
18795 l_component_code VARCHAR2(30);
18796 l_component_type_code VARCHAR2(1);
18797 l_component_appl_id INTEGER;
18798 l_amb_context_code VARCHAR2(30);
18799 l_entity_code VARCHAR2(30);
18800 l_event_class_code VARCHAR2(30);
18801 l_ae_header_id NUMBER;
18802 l_event_type_code VARCHAR2(30);
18803 l_line_definition_code VARCHAR2(30);
18804 l_line_definition_owner_code VARCHAR2(1);
18805 --
18806 -- adr variables
18807 l_segment VARCHAR2(30);
18808 l_ccid NUMBER;
18809 l_adr_transaction_coa_id NUMBER;
18810 l_adr_accounting_coa_id NUMBER;
18811 l_adr_flexfield_segment_code VARCHAR2(30);
18812 l_adr_flex_value_set_id NUMBER;
18813 l_adr_value_type_code VARCHAR2(30);
18814 l_adr_value_combination_id NUMBER;
18815 l_adr_value_segment_code VARCHAR2(30);
18816
18817 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
18818 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
18819 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
18820 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
18821
18822 -- 4262811 Variables ------------------------------------------------------------------------------------------
18823 l_entered_amt_idx NUMBER;
18824 l_accted_amt_idx NUMBER;
18825 l_acc_rev_flag VARCHAR2(1);
18826 l_accrual_line_num NUMBER;
18827 l_tmp_amt NUMBER;
18828 l_acc_rev_natural_side_code VARCHAR2(1);
18829
18830 l_num_entries NUMBER;
18831 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
18832 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
18833 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
18834 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
18835 l_recog_line_1 NUMBER;
18836 l_recog_line_2 NUMBER;
18837
18838 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
18839 l_bflow_applied_to_amt NUMBER; -- 5132302
18840 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
18841
18842 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
18843
18844 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
18845 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
18846
18847 ---------------------------------------------------------------------------------------------------------------
18848
18849
18850 --
18851 -- bulk performance
18852 --
18853 l_balance_type_code VARCHAR2(1);
18854 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
18855 l_log_module VARCHAR2(240);
18856
18857 --
18858 -- Upgrade strategy
18859 --
18860 l_actual_upg_option VARCHAR2(1);
18864 BEGIN
18861 l_enc_upg_option VARCHAR2(1);
18862
18863 --
18865 --
18866 IF g_log_enabled THEN
18867 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_37';
18868 END IF;
18869 --
18870 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
18871
18872 trace
18873 (p_msg => 'BEGIN of AcctLineType_37'
18874 ,p_level => C_LEVEL_PROCEDURE
18875 ,p_module => l_log_module);
18876
18877 END IF;
18878 --
18879 l_component_type := 'AMB_JLT';
18880 l_component_code := 'AP_ITEM_EXPENSE_CM_ENC_DR';
18881 l_component_type_code := 'S';
18882 l_component_appl_id := 200;
18883 l_amb_context_code := 'DEFAULT';
18884 l_entity_code := 'AP_INVOICES';
18885 l_event_class_code := 'CREDIT MEMOS';
18886 l_event_type_code := 'CREDIT MEMOS_ALL';
18887 l_line_definition_owner_code := 'S';
18888 l_line_definition_code := 'ENC_CM_ALL';
18889 --
18890 l_balance_type_code := 'E';
18891 l_segment := NULL;
18892 l_ccid := NULL;
18893 l_adr_transaction_coa_id := NULL;
18894 l_adr_accounting_coa_id := NULL;
18895 l_adr_flexfield_segment_code := NULL;
18896 l_adr_flex_value_set_id := NULL;
18897 l_adr_value_type_code := NULL;
18898 l_adr_value_combination_id := NULL;
18899 l_adr_value_segment_code := NULL;
18900
18901 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
18902 l_bflow_class_code := 'AP_INV_ENCUM'; -- 4219869 Business Flow
18903 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
18904 l_budgetary_control_flag := 'Y';
18905
18906 l_bflow_applied_to_amt_idx := NULL; -- 5132302
18907 l_bflow_applied_to_amt := NULL; -- 5132302
18908 l_entered_amt_idx := NULL; -- 4262811
18909 l_accted_amt_idx := NULL; -- 4262811
18910 l_acc_rev_flag := NULL; -- 4262811
18911 l_accrual_line_num := NULL; -- 4262811
18912 l_tmp_amt := NULL; -- 4262811
18913 --
18914
18915 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
18916 l_balance_type_code <> 'B' THEN
18917 IF NVL(p_source_15,'
18918 ') = 'ITEM' AND
18919 NVL(p_source_18,'
18920 ') <> 'Y' AND
18921 NVL(p_source_17,'
18922 ') = 'Y'
18923 THEN
18924
18925 --
18926 XLA_AE_LINES_PKG.SetNewLine;
18927
18928 p_balance_type_code := l_balance_type_code;
18929 -- set the flag so later we will know whether the gain loss line needs to be created
18930
18931 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
18932 p_actual_flag :='A';
18933 END IF;
18934
18935 --
18936 -- bulk performance
18937 --
18938 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
18939 p_header_num => 0); -- 4262811
18940 --
18941 -- set accounting line options
18942 --
18943 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
18944 p_natural_side_code => 'D'
18945 , p_gain_or_loss_flag => 'N'
18946 , p_gl_transfer_mode_code => 'S'
18947 , p_acct_entry_type_code => 'E'
18948 , p_switch_side_flag => 'Y'
18949 , p_merge_duplicate_code => 'N'
18950 );
18951 --
18952 l_acc_rev_natural_side_code := 'C'; -- 4262811
18953 --
18954 --
18955 -- set accounting line type info
18956 --
18957 xla_ae_lines_pkg.SetAcctLineType
18958 (p_component_type => l_component_type
18959 ,p_event_type_code => l_event_type_code
18960 ,p_line_definition_owner_code => l_line_definition_owner_code
18961 ,p_line_definition_code => l_line_definition_code
18962 ,p_accounting_line_code => l_component_code
18963 ,p_accounting_line_type_code => l_component_type_code
18964 ,p_accounting_line_appl_id => l_component_appl_id
18965 ,p_amb_context_code => l_amb_context_code
18966 ,p_entity_code => l_entity_code
18967 ,p_event_class_code => l_event_class_code);
18968 --
18969 -- set accounting class
18970 --
18971 xla_ae_lines_pkg.SetAcctClass(
18972 p_accounting_class_code => 'ITEM EXPENSE'
18973 , p_ae_header_id => l_ae_header_id
18974 );
18975
18976 --
18977 -- set rounding class
18978 --
18979 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
18980 'ITEM EXPENSE';
18981
18982 --
18983 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
18984 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
18985 --
18986 -- bulk performance
18987 --
18988 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
18989
18990 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
18991 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
18992
18993 -- 4955764
18994 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
18998 XLA_AE_LINES_PKG.g_rec_lines.array_encumbrance_type_id(XLA_AE_LINES_PKG.g_LineNumber) := 1060;
18995 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
18996
18997 -- 4458381 Public Sector Enh
18999 --
19000 -- set accounting attributes for the line type
19001 --
19002 l_entered_amt_idx := 23;
19003 l_accted_amt_idx := 28;
19004 l_bflow_applied_to_amt_idx := NULL; -- 5132302
19005 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
19006 l_rec_acct_attrs.array_char_value(1) := p_source_19;
19007 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
19008 l_rec_acct_attrs.array_num_value(2) :=
19009 xla_ae_sources_pkg.GetSystemSourceNum(
19010 p_source_code => 'XLA_EVENT_APPL_ID'
19011 , p_source_type_code => 'Y'
19012 , p_source_application_id => 602
19013 );
19014 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
19015 l_rec_acct_attrs.array_char_value(3) := p_source_21;
19016 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
19017 l_rec_acct_attrs.array_char_value(4) :=
19018 xla_ae_sources_pkg.GetSystemSourceChar(
19019 p_source_code => 'XLA_ENTITY_CODE'
19020 , p_source_type_code => 'Y'
19021 , p_source_application_id => 602
19022 );
19023 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
19024 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_23);
19025 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
19026 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_24);
19027 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
19028 l_rec_acct_attrs.array_num_value(7) := p_source_25;
19029 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
19030 l_rec_acct_attrs.array_char_value(8) := p_source_26;
19031 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
19032 l_rec_acct_attrs.array_char_value(9) := p_source_27;
19033 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
19034 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_28);
19035 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
19036 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_29);
19037 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
19038 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_30);
19039 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
19040 l_rec_acct_attrs.array_char_value(13) := p_source_21;
19041 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
19042 l_rec_acct_attrs.array_num_value(14) := p_source_31;
19043 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
19044 l_rec_acct_attrs.array_num_value(15) := p_source_32;
19045 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
19046 l_rec_acct_attrs.array_char_value(16) := p_source_33;
19047 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
19048 l_rec_acct_attrs.array_num_value(17) := p_source_34;
19049 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
19050 l_rec_acct_attrs.array_num_value(18) := p_source_35;
19051 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
19052 l_rec_acct_attrs.array_num_value(19) := p_source_36;
19053 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
19054 l_rec_acct_attrs.array_char_value(20) := p_source_33;
19055 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
19056 l_rec_acct_attrs.array_num_value(21) := p_source_37;
19057 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
19058 l_rec_acct_attrs.array_char_value(22) := p_source_38;
19059 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
19060 l_rec_acct_attrs.array_num_value(23) := p_source_65;
19061 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
19062 l_rec_acct_attrs.array_char_value(24) := p_source_33;
19063 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
19064 l_rec_acct_attrs.array_date_value(25) := p_source_39;
19065 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
19066 l_rec_acct_attrs.array_num_value(26) := p_source_40;
19067 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
19068 l_rec_acct_attrs.array_char_value(27) := p_source_41;
19069 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
19070 l_rec_acct_attrs.array_num_value(28) := p_source_66;
19071 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
19072 l_rec_acct_attrs.array_date_value(29) := p_source_43;
19073 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
19074 l_rec_acct_attrs.array_char_value(30) := p_source_44;
19075 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
19076 l_rec_acct_attrs.array_date_value(31) := p_source_45;
19077 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
19078 l_rec_acct_attrs.array_char_value(32) := p_source_46;
19079 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
19080 l_rec_acct_attrs.array_num_value(33) := p_source_47;
19081 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
19082 l_rec_acct_attrs.array_num_value(34) := p_source_48;
19083 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
19084 l_rec_acct_attrs.array_char_value(35) := p_source_49;
19088 l_rec_acct_attrs.array_char_value(37) := p_source_21;
19085 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
19086 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_50);
19087 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
19089 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
19090 l_rec_acct_attrs.array_num_value(38) := p_source_51;
19091 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
19092 l_rec_acct_attrs.array_num_value(39) := p_source_52;
19093 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
19094 l_rec_acct_attrs.array_num_value(40) := p_source_53;
19095 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
19096 l_rec_acct_attrs.array_num_value(41) := p_source_54;
19097 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
19098 l_rec_acct_attrs.array_num_value(42) := p_source_55;
19099 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
19100 l_rec_acct_attrs.array_num_value(43) := p_source_56;
19101
19102 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
19103 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
19104
19105 ---------------------------------------------------------------------------------------------------------------
19106 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
19107 ---------------------------------------------------------------------------------------------------------------
19108 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
19109
19110 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
19111 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
19112
19113 IF xla_accounting_cache_pkg.GetValueChar
19114 (p_source_code => 'LEDGER_CATEGORY_CODE'
19115 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
19116 AND l_bflow_method_code = 'PRIOR_ENTRY'
19117 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
19118 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
19119 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
19120 )
19121 THEN
19122 xla_ae_lines_pkg.BflowUpgEntry
19123 (p_business_method_code => l_bflow_method_code
19124 ,p_business_class_code => l_bflow_class_code
19125 ,p_balance_type => l_balance_type_code);
19126 ELSE
19127 NULL;
19128 -- No business flow processing for business flow method of NONE.
19129 END IF;
19130
19131 --
19132 -- call analytical criteria
19133 --
19134
19135 --
19136 -- call description
19137 --
19138
19139 xla_ae_lines_pkg.SetLineDescription(
19140 p_ae_header_id => l_ae_header_id
19141 ,p_description => Description_2 (
19142 p_application_id => p_application_id
19143 , p_ae_header_id => l_ae_header_id
19144 , p_source_1 => p_source_1
19145 )
19146 );
19147
19148
19149 --
19150 -- call ADRs
19151 -- Bug 4922099
19152 --
19153 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
19154 (NVL(l_actual_upg_option, 'N') = 'O') OR
19155 (NVL(l_enc_upg_option, 'N') = 'O')
19156 )
19157 THEN
19158 NULL;
19159 --
19160 --
19161
19162 l_ccid := AcctDerRule_7(
19163 p_application_id => p_application_id
19164 , p_ae_header_id => l_ae_header_id
19165 , p_source_11 => p_source_11
19166 , x_transaction_coa_id => l_adr_transaction_coa_id
19167 , x_accounting_coa_id => l_adr_accounting_coa_id
19168 , x_value_type_code => l_adr_value_type_code
19169 , p_side => 'NA'
19170 );
19171
19172 xla_ae_lines_pkg.set_ccid(
19173 p_code_combination_id => l_ccid
19174 , p_value_type_code => l_adr_value_type_code
19175 , p_transaction_coa_id => l_adr_transaction_coa_id
19176 , p_accounting_coa_id => l_adr_accounting_coa_id
19177 , p_adr_code => 'AP_INVOICE_DIST'
19178 , p_adr_type_code => 'S'
19179 , p_component_type => l_component_type
19180 , p_component_code => l_component_code
19181 , p_component_type_code => l_component_type_code
19182 , p_component_appl_id => l_component_appl_id
19183 , p_amb_context_code => l_amb_context_code
19184 , p_side => 'NA'
19185 );
19186
19187
19188 --
19189 --
19190 END IF;
19191 --
19192 -- Bug 4922099
19193 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
19194 (NVL(l_enc_upg_option, 'N') = 'O')
19195 ) AND
19196 (l_bflow_method_code = 'PRIOR_ENTRY')
19197 )
19198 THEN
19199 IF
19200 --
19201 1 = 2
19202 --
19203 THEN
19204 xla_accounting_err_pkg.build_message
19205 (p_appli_s_name => 'XLA'
19209 ,p_token_2 => 'LINE_TYPE_NAME'
19206 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
19207 ,p_token_1 => 'LINE_NUMBER'
19208 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
19210 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
19211 l_component_type
19212 ,l_component_code
19213 ,l_component_type_code
19214 ,l_component_appl_id
19215 ,l_amb_context_code
19216 ,l_entity_code
19217 ,l_event_class_code
19218 )
19219 ,p_token_3 => 'OWNER'
19220 ,p_value_3 => xla_lookups_pkg.get_meaning(
19221 p_lookup_type => 'XLA_OWNER_TYPE'
19222 ,p_lookup_code => l_component_type_code
19223 )
19224 ,p_token_4 => 'PRODUCT_NAME'
19225 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
19226 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
19227 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
19228 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
19229 ,p_ae_header_id => NULL
19230 );
19231
19232 IF (C_LEVEL_ERROR>= g_log_level) THEN
19233 trace
19234 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
19235 ,p_level => C_LEVEL_ERROR
19236 ,p_module => l_log_module);
19237 END IF;
19238 END IF;
19239 END IF;
19240 --
19241 --
19242 ------------------------------------------------------------------------------------------------
19243 -- 4219869 Business Flow
19244 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
19245 -- Prior Entry. Currently, the following code is always generated.
19246 ------------------------------------------------------------------------------------------------
19247 XLA_AE_LINES_PKG.ValidateCurrentLine;
19248
19249 ------------------------------------------------------------------------------------
19250 -- 4219869 Business Flow
19251 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
19252 ------------------------------------------------------------------------------------
19253 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
19254
19255 ----------------------------------------------------------------------------------
19256 -- 4219869 Business Flow
19257 -- Update journal entry status -- Need to generate this within IF <condition>
19258 ----------------------------------------------------------------------------------
19259 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
19260 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
19261 ,p_balance_type_code => l_balance_type_code
19262 );
19263
19264 -------------------------------------------------------------------------------------------
19265 -- 4262811 - Generate the Accrual Reversal lines
19266 -------------------------------------------------------------------------------------------
19267 BEGIN
19268 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
19269 (g_array_event(p_event_id).array_value_num('header_index'));
19270 IF l_acc_rev_flag IS NULL THEN
19271 l_acc_rev_flag := 'N';
19272 END IF;
19273 EXCEPTION
19274 WHEN OTHERS THEN
19275 l_acc_rev_flag := 'N';
19276 END;
19277 --
19278 IF (l_acc_rev_flag = 'Y') THEN
19279
19280 -- 4645092 ------------------------------------------------------------------------------
19281 -- To allow MPA report to determine if it should generate report process
19282 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
19283 ------------------------------------------------------------------------------------------
19284
19285 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
19286 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
19287 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
19288 -- call ADRs
19289 -- Bug 4922099
19290 --
19291 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
19292 (NVL(l_actual_upg_option, 'N') = 'O') OR
19293 (NVL(l_enc_upg_option, 'N') = 'O')
19294 )
19295 THEN
19296 NULL;
19297 --
19298 --
19299
19303 , p_source_11 => p_source_11
19300 l_ccid := AcctDerRule_7(
19301 p_application_id => p_application_id
19302 , p_ae_header_id => l_ae_header_id
19304 , x_transaction_coa_id => l_adr_transaction_coa_id
19305 , x_accounting_coa_id => l_adr_accounting_coa_id
19306 , x_value_type_code => l_adr_value_type_code
19307 , p_side => 'NA'
19308 );
19309
19310 xla_ae_lines_pkg.set_ccid(
19311 p_code_combination_id => l_ccid
19312 , p_value_type_code => l_adr_value_type_code
19313 , p_transaction_coa_id => l_adr_transaction_coa_id
19314 , p_accounting_coa_id => l_adr_accounting_coa_id
19315 , p_adr_code => 'AP_INVOICE_DIST'
19316 , p_adr_type_code => 'S'
19317 , p_component_type => l_component_type
19318 , p_component_code => l_component_code
19319 , p_component_type_code => l_component_type_code
19320 , p_component_appl_id => l_component_appl_id
19321 , p_amb_context_code => l_amb_context_code
19322 , p_side => 'NA'
19323 );
19324
19325
19326 --
19327 --
19328 END IF;
19329
19330 --
19331 -- Update the line information that should be overwritten
19332 --
19333 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
19334 p_header_num => 1);
19335 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
19336
19337 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
19338
19339 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
19340 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
19341 END IF;
19342
19343 --
19344 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
19345 --
19346 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
19347 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
19348 ELSE
19349 ---------------------------------------------------------------------------------------------------
19350 -- 4262811a Switch Sign
19351 ---------------------------------------------------------------------------------------------------
19352 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
19353 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
19354 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
19355 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
19356 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
19357 -- 5132302
19358 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
19359 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
19360
19361 END IF;
19362
19363 -- 4955764
19364 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
19365 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
19366
19367
19368 XLA_AE_LINES_PKG.ValidateCurrentLine;
19369 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
19370
19371 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
19372 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
19373 ,p_balance_type_code => l_balance_type_code);
19374
19375 END IF;
19376
19377 -----------------------------------------------------------------------------------------
19378 -- 4262811 Multiperiod Accounting
19379 -----------------------------------------------------------------------------------------
19380 -- No MPA option is assigned.
19381
19382
19383 END IF;
19384 END IF;
19385 --
19386
19387 --
19388 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
19389 trace
19390 (p_msg => 'END of AcctLineType_37'
19391 ,p_level => C_LEVEL_PROCEDURE
19392 ,p_module => l_log_module);
19393 END IF;
19394 --
19395 EXCEPTION
19396 WHEN xla_exceptions_pkg.application_exception THEN
19397 RAISE;
19398 WHEN OTHERS THEN
19399 xla_exceptions_pkg.raise_message
19400 (p_location => 'XLA_00200_AAD_S_000006_BC_PKG.AcctLineType_37');
19401 END AcctLineType_37;
19402 --
19403
19404 ---------------------------------------
19405 --
19406 -- PRIVATE FUNCTION
19407 -- AcctLineType_38
19408 --
19409 ---------------------------------------
19410 PROCEDURE AcctLineType_38 (
19411 p_application_id IN NUMBER
19412 ,p_event_id IN NUMBER
19413 ,p_calculate_acctd_flag IN VARCHAR2
19414 ,p_calculate_g_l_flag IN VARCHAR2
19415 ,p_actual_flag IN OUT VARCHAR2
19416 ,p_balance_type_code OUT VARCHAR2
19417 ,p_gain_or_loss_ref OUT VARCHAR2
19418
19419 --Invoice Distribution Description
19420 , p_source_1 IN VARCHAR2
19424 , p_source_15 IN VARCHAR2
19421 --Invoice Distribution Account
19422 , p_source_11 IN NUMBER
19423 --Invoice Distribution Type
19425 , p_source_15_meaning IN VARCHAR2
19426 --Purchasing Encumbrance Option
19427 , p_source_17 IN VARCHAR2
19428 , p_source_17_meaning IN VARCHAR2
19429 --Accrue on Receipt Option
19430 , p_source_18 IN VARCHAR2
19431 , p_source_18_meaning IN VARCHAR2
19432 --Accounting Reversal Indicator
19433 , p_source_19 IN VARCHAR2
19434 --Distribution Link Type
19435 , p_source_21 IN VARCHAR2
19436 --Allocation to Main Distribution Identifier
19437 , p_source_23 IN NUMBER
19438 --Invoice Identifier
19439 , p_source_24 IN NUMBER
19440 --Business Flow Accounts Payable Application Identifier
19441 , p_source_25 IN NUMBER
19442 --Business Flow Invoice Distribution Type
19443 , p_source_26 IN VARCHAR2
19444 --Business Flow Invoice Entity Code
19445 , p_source_27 IN VARCHAR2
19446 --Business Flow Invoice Distribution Identifier
19447 , p_source_28 IN NUMBER
19448 --Business Flow Invoice Identifier
19449 , p_source_29 IN NUMBER
19450 --Invoice Distribution Identifier
19451 , p_source_30 IN NUMBER
19452 --Payables Encumbrance Upgrade Credit Account
19453 , p_source_31 IN NUMBER
19454 --Payables Encumbrance Upgrade Credit Amount
19455 , p_source_32 IN NUMBER
19456 --Invoice Currency Code
19457 , p_source_33 IN VARCHAR2
19458 --Payables Encumbrance Upgrade Credit Base Amount
19459 , p_source_34 IN NUMBER
19460 --Payables Encumbrance Upgrade Debit Account
19461 , p_source_35 IN NUMBER
19462 --Payables Encumbrance Upgrade Debit Amount
19463 , p_source_36 IN NUMBER
19464 --Payables Encumbrance Upgrade Debit Base Amount
19465 , p_source_37 IN NUMBER
19466 --Payables Encumbrance Upgrade Option
19467 , p_source_38 IN VARCHAR2
19468 --Invoice Exchange Date
19469 , p_source_39 IN DATE
19470 --Invoice Exchange Rate
19471 , p_source_40 IN NUMBER
19472 --Invoice Exchange Rate Type
19473 , p_source_41 IN VARCHAR2
19474 --Deferred Accounting End Date
19475 , p_source_43 IN DATE
19476 --Deferred Accounting Option
19477 , p_source_44 IN VARCHAR2
19478 --Deferred Accounting Start Date
19479 , p_source_45 IN DATE
19480 --Override Accounted Amount Indicator
19481 , p_source_46 IN VARCHAR2
19482 , p_source_46_meaning IN VARCHAR2
19483 --Invoice Supplier Identifier
19484 , p_source_47 IN NUMBER
19485 --Invoice Supplier Site Identifier
19486 , p_source_48 IN NUMBER
19487 --Third Party Type
19488 , p_source_49 IN VARCHAR2
19489 --Parent Reversal Identifier
19490 , p_source_50 IN NUMBER
19491 --Invoice Distribution Tax Line Identifier
19492 , p_source_52 IN NUMBER
19493 --Invoice Distribution Tax Distribution Identifier from Tax
19494 , p_source_53 IN NUMBER
19495 --Invoice Distribution Summary Tax Line Identifier
19496 , p_source_54 IN NUMBER
19497 --Payables Upgrade Credit Encumbrance Type Identifier
19498 , p_source_55 IN NUMBER
19499 --Payables Upgrade Debit Encumbrance Type Identifier
19500 , p_source_56 IN NUMBER
19501 --Invoice Distribution Encumbrance Amount
19502 , p_source_65 IN NUMBER
19503 --Invoice Distribution Encumbrance Ledger Amount
19504 , p_source_66 IN NUMBER
19505 )
19506 IS
19507
19508 l_component_type VARCHAR2(80);
19509 l_component_code VARCHAR2(30);
19510 l_component_type_code VARCHAR2(1);
19511 l_component_appl_id INTEGER;
19512 l_amb_context_code VARCHAR2(30);
19513 l_entity_code VARCHAR2(30);
19514 l_event_class_code VARCHAR2(30);
19515 l_ae_header_id NUMBER;
19516 l_event_type_code VARCHAR2(30);
19517 l_line_definition_code VARCHAR2(30);
19518 l_line_definition_owner_code VARCHAR2(1);
19519 --
19520 -- adr variables
19521 l_segment VARCHAR2(30);
19522 l_ccid NUMBER;
19523 l_adr_transaction_coa_id NUMBER;
19524 l_adr_accounting_coa_id NUMBER;
19525 l_adr_flexfield_segment_code VARCHAR2(30);
19526 l_adr_flex_value_set_id NUMBER;
19527 l_adr_value_type_code VARCHAR2(30);
19528 l_adr_value_combination_id NUMBER;
19529 l_adr_value_segment_code VARCHAR2(30);
19530
19531 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
19532 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
19533 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
19534 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
19535
19536 -- 4262811 Variables ------------------------------------------------------------------------------------------
19537 l_entered_amt_idx NUMBER;
19538 l_accted_amt_idx NUMBER;
19539 l_acc_rev_flag VARCHAR2(1);
19540 l_accrual_line_num NUMBER;
19541 l_tmp_amt NUMBER;
19542 l_acc_rev_natural_side_code VARCHAR2(1);
19543
19544 l_num_entries NUMBER;
19545 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
19546 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
19547 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
19551
19548 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
19549 l_recog_line_1 NUMBER;
19550 l_recog_line_2 NUMBER;
19552 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
19553 l_bflow_applied_to_amt NUMBER; -- 5132302
19554 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
19555
19556 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
19557
19558 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
19559 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
19560
19561 ---------------------------------------------------------------------------------------------------------------
19562
19563
19564 --
19565 -- bulk performance
19566 --
19567 l_balance_type_code VARCHAR2(1);
19568 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
19569 l_log_module VARCHAR2(240);
19570
19571 --
19572 -- Upgrade strategy
19573 --
19574 l_actual_upg_option VARCHAR2(1);
19575 l_enc_upg_option VARCHAR2(1);
19576
19577 --
19578 BEGIN
19579 --
19580 IF g_log_enabled THEN
19581 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_38';
19582 END IF;
19583 --
19584 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
19585
19586 trace
19587 (p_msg => 'BEGIN of AcctLineType_38'
19588 ,p_level => C_LEVEL_PROCEDURE
19589 ,p_module => l_log_module);
19590
19591 END IF;
19592 --
19593 l_component_type := 'AMB_JLT';
19594 l_component_code := 'AP_ITEM_EXPENSE_DM_ENC_DR';
19595 l_component_type_code := 'S';
19596 l_component_appl_id := 200;
19597 l_amb_context_code := 'DEFAULT';
19598 l_entity_code := 'AP_INVOICES';
19599 l_event_class_code := 'DEBIT MEMOS';
19600 l_event_type_code := 'DEBIT MEMOS_ALL';
19601 l_line_definition_owner_code := 'S';
19602 l_line_definition_code := 'ENC_DM_ALL';
19603 --
19604 l_balance_type_code := 'E';
19605 l_segment := NULL;
19606 l_ccid := NULL;
19607 l_adr_transaction_coa_id := NULL;
19608 l_adr_accounting_coa_id := NULL;
19609 l_adr_flexfield_segment_code := NULL;
19610 l_adr_flex_value_set_id := NULL;
19611 l_adr_value_type_code := NULL;
19612 l_adr_value_combination_id := NULL;
19613 l_adr_value_segment_code := NULL;
19614
19615 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
19616 l_bflow_class_code := 'AP_INV_ENCUM'; -- 4219869 Business Flow
19617 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
19618 l_budgetary_control_flag := 'Y';
19619
19620 l_bflow_applied_to_amt_idx := NULL; -- 5132302
19621 l_bflow_applied_to_amt := NULL; -- 5132302
19622 l_entered_amt_idx := NULL; -- 4262811
19623 l_accted_amt_idx := NULL; -- 4262811
19624 l_acc_rev_flag := NULL; -- 4262811
19625 l_accrual_line_num := NULL; -- 4262811
19626 l_tmp_amt := NULL; -- 4262811
19627 --
19628
19629 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
19630 l_balance_type_code <> 'B' THEN
19631 IF NVL(p_source_15,'
19632 ') = 'ITEM' AND
19633 NVL(p_source_18,'
19634 ') <> 'Y' AND
19635 NVL(p_source_17,'
19636 ') = 'Y'
19637 THEN
19638
19639 --
19640 XLA_AE_LINES_PKG.SetNewLine;
19641
19642 p_balance_type_code := l_balance_type_code;
19643 -- set the flag so later we will know whether the gain loss line needs to be created
19644
19645 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
19646 p_actual_flag :='A';
19647 END IF;
19648
19649 --
19650 -- bulk performance
19651 --
19652 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
19653 p_header_num => 0); -- 4262811
19654 --
19655 -- set accounting line options
19656 --
19657 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
19658 p_natural_side_code => 'D'
19659 , p_gain_or_loss_flag => 'N'
19660 , p_gl_transfer_mode_code => 'S'
19661 , p_acct_entry_type_code => 'E'
19662 , p_switch_side_flag => 'Y'
19663 , p_merge_duplicate_code => 'N'
19664 );
19665 --
19666 l_acc_rev_natural_side_code := 'C'; -- 4262811
19667 --
19668 --
19669 -- set accounting line type info
19670 --
19671 xla_ae_lines_pkg.SetAcctLineType
19672 (p_component_type => l_component_type
19673 ,p_event_type_code => l_event_type_code
19674 ,p_line_definition_owner_code => l_line_definition_owner_code
19675 ,p_line_definition_code => l_line_definition_code
19676 ,p_accounting_line_code => l_component_code
19677 ,p_accounting_line_type_code => l_component_type_code
19678 ,p_accounting_line_appl_id => l_component_appl_id
19679 ,p_amb_context_code => l_amb_context_code
19683 -- set accounting class
19680 ,p_entity_code => l_entity_code
19681 ,p_event_class_code => l_event_class_code);
19682 --
19684 --
19685 xla_ae_lines_pkg.SetAcctClass(
19686 p_accounting_class_code => 'ITEM EXPENSE'
19687 , p_ae_header_id => l_ae_header_id
19688 );
19689
19690 --
19691 -- set rounding class
19692 --
19693 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
19694 'ITEM EXPENSE';
19695
19696 --
19697 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
19698 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
19699 --
19700 -- bulk performance
19701 --
19702 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
19703
19704 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
19705 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
19706
19707 -- 4955764
19708 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
19709 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
19710
19711 -- 4458381 Public Sector Enh
19712 XLA_AE_LINES_PKG.g_rec_lines.array_encumbrance_type_id(XLA_AE_LINES_PKG.g_LineNumber) := 1060;
19713 --
19714 -- set accounting attributes for the line type
19715 --
19716 l_entered_amt_idx := 23;
19717 l_accted_amt_idx := 28;
19718 l_bflow_applied_to_amt_idx := NULL; -- 5132302
19719 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
19720 l_rec_acct_attrs.array_char_value(1) := p_source_19;
19721 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
19722 l_rec_acct_attrs.array_num_value(2) :=
19723 xla_ae_sources_pkg.GetSystemSourceNum(
19724 p_source_code => 'XLA_EVENT_APPL_ID'
19725 , p_source_type_code => 'Y'
19726 , p_source_application_id => 602
19727 );
19728 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
19729 l_rec_acct_attrs.array_char_value(3) := p_source_21;
19730 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
19731 l_rec_acct_attrs.array_char_value(4) :=
19732 xla_ae_sources_pkg.GetSystemSourceChar(
19733 p_source_code => 'XLA_ENTITY_CODE'
19734 , p_source_type_code => 'Y'
19735 , p_source_application_id => 602
19736 );
19737 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
19738 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_23);
19739 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
19740 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_24);
19741 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
19742 l_rec_acct_attrs.array_num_value(7) := p_source_25;
19743 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
19744 l_rec_acct_attrs.array_char_value(8) := p_source_26;
19745 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
19746 l_rec_acct_attrs.array_char_value(9) := p_source_27;
19747 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
19748 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_28);
19749 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
19750 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_29);
19751 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
19752 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_30);
19753 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
19754 l_rec_acct_attrs.array_char_value(13) := p_source_21;
19755 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
19756 l_rec_acct_attrs.array_num_value(14) := p_source_31;
19757 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
19758 l_rec_acct_attrs.array_num_value(15) := p_source_32;
19759 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
19760 l_rec_acct_attrs.array_char_value(16) := p_source_33;
19761 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
19762 l_rec_acct_attrs.array_num_value(17) := p_source_34;
19763 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
19764 l_rec_acct_attrs.array_num_value(18) := p_source_35;
19765 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
19766 l_rec_acct_attrs.array_num_value(19) := p_source_36;
19767 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
19768 l_rec_acct_attrs.array_char_value(20) := p_source_33;
19769 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
19770 l_rec_acct_attrs.array_num_value(21) := p_source_37;
19771 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
19772 l_rec_acct_attrs.array_char_value(22) := p_source_38;
19773 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
19774 l_rec_acct_attrs.array_num_value(23) := p_source_65;
19775 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
19776 l_rec_acct_attrs.array_char_value(24) := p_source_33;
19777 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
19778 l_rec_acct_attrs.array_date_value(25) := p_source_39;
19782 l_rec_acct_attrs.array_char_value(27) := p_source_41;
19779 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
19780 l_rec_acct_attrs.array_num_value(26) := p_source_40;
19781 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
19783 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
19784 l_rec_acct_attrs.array_num_value(28) := p_source_66;
19785 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
19786 l_rec_acct_attrs.array_date_value(29) := p_source_43;
19787 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
19788 l_rec_acct_attrs.array_char_value(30) := p_source_44;
19789 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
19790 l_rec_acct_attrs.array_date_value(31) := p_source_45;
19791 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
19792 l_rec_acct_attrs.array_char_value(32) := p_source_46;
19793 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
19794 l_rec_acct_attrs.array_num_value(33) := p_source_47;
19795 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
19796 l_rec_acct_attrs.array_num_value(34) := p_source_48;
19797 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
19798 l_rec_acct_attrs.array_char_value(35) := p_source_49;
19799 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
19800 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_50);
19801 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
19802 l_rec_acct_attrs.array_char_value(37) := p_source_21;
19803 l_rec_acct_attrs.array_acct_attr_code(38) := 'TAX_LINE_REF_ID';
19804 l_rec_acct_attrs.array_num_value(38) := p_source_52;
19805 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_REC_NREC_DIST_REF_ID';
19806 l_rec_acct_attrs.array_num_value(39) := p_source_53;
19807 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_SUMMARY_LINE_REF_ID';
19808 l_rec_acct_attrs.array_num_value(40) := p_source_54;
19809 l_rec_acct_attrs.array_acct_attr_code(41) := 'UPG_CR_ENC_TYPE_ID';
19810 l_rec_acct_attrs.array_num_value(41) := p_source_55;
19811 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_DR_ENC_TYPE_ID';
19812 l_rec_acct_attrs.array_num_value(42) := p_source_56;
19813
19814 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
19815 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
19816
19817 ---------------------------------------------------------------------------------------------------------------
19818 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
19819 ---------------------------------------------------------------------------------------------------------------
19820 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
19821
19822 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
19823 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
19824
19825 IF xla_accounting_cache_pkg.GetValueChar
19826 (p_source_code => 'LEDGER_CATEGORY_CODE'
19827 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
19828 AND l_bflow_method_code = 'PRIOR_ENTRY'
19829 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
19830 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
19831 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
19832 )
19833 THEN
19834 xla_ae_lines_pkg.BflowUpgEntry
19835 (p_business_method_code => l_bflow_method_code
19836 ,p_business_class_code => l_bflow_class_code
19837 ,p_balance_type => l_balance_type_code);
19838 ELSE
19839 NULL;
19840 -- No business flow processing for business flow method of NONE.
19841 END IF;
19842
19843 --
19844 -- call analytical criteria
19845 --
19846
19847 --
19848 -- call description
19849 --
19850
19851 xla_ae_lines_pkg.SetLineDescription(
19852 p_ae_header_id => l_ae_header_id
19853 ,p_description => Description_2 (
19854 p_application_id => p_application_id
19855 , p_ae_header_id => l_ae_header_id
19856 , p_source_1 => p_source_1
19857 )
19858 );
19859
19860
19861 --
19862 -- call ADRs
19863 -- Bug 4922099
19864 --
19865 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
19866 (NVL(l_actual_upg_option, 'N') = 'O') OR
19867 (NVL(l_enc_upg_option, 'N') = 'O')
19868 )
19869 THEN
19870 NULL;
19871 --
19872 --
19873
19874 l_ccid := AcctDerRule_7(
19875 p_application_id => p_application_id
19876 , p_ae_header_id => l_ae_header_id
19877 , p_source_11 => p_source_11
19878 , x_transaction_coa_id => l_adr_transaction_coa_id
19879 , x_accounting_coa_id => l_adr_accounting_coa_id
19880 , x_value_type_code => l_adr_value_type_code
19881 , p_side => 'NA'
19882 );
19883
19884 xla_ae_lines_pkg.set_ccid(
19885 p_code_combination_id => l_ccid
19886 , p_value_type_code => l_adr_value_type_code
19887 , p_transaction_coa_id => l_adr_transaction_coa_id
19891 , p_component_type => l_component_type
19888 , p_accounting_coa_id => l_adr_accounting_coa_id
19889 , p_adr_code => 'AP_INVOICE_DIST'
19890 , p_adr_type_code => 'S'
19892 , p_component_code => l_component_code
19893 , p_component_type_code => l_component_type_code
19894 , p_component_appl_id => l_component_appl_id
19895 , p_amb_context_code => l_amb_context_code
19896 , p_side => 'NA'
19897 );
19898
19899
19900 --
19901 --
19902 END IF;
19903 --
19904 -- Bug 4922099
19905 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
19906 (NVL(l_enc_upg_option, 'N') = 'O')
19907 ) AND
19908 (l_bflow_method_code = 'PRIOR_ENTRY')
19909 )
19910 THEN
19911 IF
19912 --
19913 1 = 2
19914 --
19915 THEN
19916 xla_accounting_err_pkg.build_message
19917 (p_appli_s_name => 'XLA'
19918 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
19919 ,p_token_1 => 'LINE_NUMBER'
19920 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
19921 ,p_token_2 => 'LINE_TYPE_NAME'
19922 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
19923 l_component_type
19924 ,l_component_code
19925 ,l_component_type_code
19926 ,l_component_appl_id
19927 ,l_amb_context_code
19928 ,l_entity_code
19929 ,l_event_class_code
19930 )
19931 ,p_token_3 => 'OWNER'
19932 ,p_value_3 => xla_lookups_pkg.get_meaning(
19933 p_lookup_type => 'XLA_OWNER_TYPE'
19934 ,p_lookup_code => l_component_type_code
19935 )
19936 ,p_token_4 => 'PRODUCT_NAME'
19937 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
19938 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
19939 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
19940 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
19941 ,p_ae_header_id => NULL
19942 );
19943
19944 IF (C_LEVEL_ERROR>= g_log_level) THEN
19945 trace
19946 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
19947 ,p_level => C_LEVEL_ERROR
19948 ,p_module => l_log_module);
19949 END IF;
19950 END IF;
19951 END IF;
19952 --
19953 --
19954 ------------------------------------------------------------------------------------------------
19955 -- 4219869 Business Flow
19956 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
19957 -- Prior Entry. Currently, the following code is always generated.
19958 ------------------------------------------------------------------------------------------------
19959 XLA_AE_LINES_PKG.ValidateCurrentLine;
19960
19961 ------------------------------------------------------------------------------------
19962 -- 4219869 Business Flow
19963 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
19964 ------------------------------------------------------------------------------------
19965 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
19966
19967 ----------------------------------------------------------------------------------
19968 -- 4219869 Business Flow
19969 -- Update journal entry status -- Need to generate this within IF <condition>
19970 ----------------------------------------------------------------------------------
19971 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
19972 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
19973 ,p_balance_type_code => l_balance_type_code
19974 );
19975
19976 -------------------------------------------------------------------------------------------
19977 -- 4262811 - Generate the Accrual Reversal lines
19978 -------------------------------------------------------------------------------------------
19979 BEGIN
19980 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
19981 (g_array_event(p_event_id).array_value_num('header_index'));
19982 IF l_acc_rev_flag IS NULL THEN
19986 WHEN OTHERS THEN
19983 l_acc_rev_flag := 'N';
19984 END IF;
19985 EXCEPTION
19987 l_acc_rev_flag := 'N';
19988 END;
19989 --
19990 IF (l_acc_rev_flag = 'Y') THEN
19991
19992 -- 4645092 ------------------------------------------------------------------------------
19993 -- To allow MPA report to determine if it should generate report process
19994 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
19995 ------------------------------------------------------------------------------------------
19996
19997 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
19998 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
19999 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
20000 -- call ADRs
20001 -- Bug 4922099
20002 --
20003 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
20004 (NVL(l_actual_upg_option, 'N') = 'O') OR
20005 (NVL(l_enc_upg_option, 'N') = 'O')
20006 )
20007 THEN
20008 NULL;
20009 --
20010 --
20011
20012 l_ccid := AcctDerRule_7(
20013 p_application_id => p_application_id
20014 , p_ae_header_id => l_ae_header_id
20015 , p_source_11 => p_source_11
20016 , x_transaction_coa_id => l_adr_transaction_coa_id
20017 , x_accounting_coa_id => l_adr_accounting_coa_id
20018 , x_value_type_code => l_adr_value_type_code
20019 , p_side => 'NA'
20020 );
20021
20022 xla_ae_lines_pkg.set_ccid(
20023 p_code_combination_id => l_ccid
20024 , p_value_type_code => l_adr_value_type_code
20025 , p_transaction_coa_id => l_adr_transaction_coa_id
20026 , p_accounting_coa_id => l_adr_accounting_coa_id
20027 , p_adr_code => 'AP_INVOICE_DIST'
20028 , p_adr_type_code => 'S'
20029 , p_component_type => l_component_type
20030 , p_component_code => l_component_code
20031 , p_component_type_code => l_component_type_code
20032 , p_component_appl_id => l_component_appl_id
20033 , p_amb_context_code => l_amb_context_code
20034 , p_side => 'NA'
20035 );
20036
20037
20038 --
20039 --
20040 END IF;
20041
20042 --
20043 -- Update the line information that should be overwritten
20044 --
20045 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
20046 p_header_num => 1);
20047 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
20048
20049 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
20050
20051 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
20052 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
20053 END IF;
20054
20055 --
20056 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
20057 --
20058 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
20059 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
20060 ELSE
20061 ---------------------------------------------------------------------------------------------------
20062 -- 4262811a Switch Sign
20063 ---------------------------------------------------------------------------------------------------
20064 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
20065 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
20066 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
20067 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
20068 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
20069 -- 5132302
20070 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
20071 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
20072
20073 END IF;
20074
20075 -- 4955764
20076 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
20077 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
20078
20079
20080 XLA_AE_LINES_PKG.ValidateCurrentLine;
20081 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
20082
20083 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
20084 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
20085 ,p_balance_type_code => l_balance_type_code);
20086
20087 END IF;
20088
20089 -----------------------------------------------------------------------------------------
20090 -- 4262811 Multiperiod Accounting
20091 -----------------------------------------------------------------------------------------
20092 -- No MPA option is assigned.
20093
20094
20095 END IF;
20096 END IF;
20097 --
20098
20099 --
20100 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
20101 trace
20102 (p_msg => 'END of AcctLineType_38'
20106 --
20103 ,p_level => C_LEVEL_PROCEDURE
20104 ,p_module => l_log_module);
20105 END IF;
20107 EXCEPTION
20108 WHEN xla_exceptions_pkg.application_exception THEN
20109 RAISE;
20110 WHEN OTHERS THEN
20111 xla_exceptions_pkg.raise_message
20112 (p_location => 'XLA_00200_AAD_S_000006_BC_PKG.AcctLineType_38');
20113 END AcctLineType_38;
20114 --
20115
20116 ---------------------------------------
20117 --
20118 -- PRIVATE FUNCTION
20119 -- AcctLineType_39
20120 --
20121 ---------------------------------------
20122 PROCEDURE AcctLineType_39 (
20123 p_application_id IN NUMBER
20124 ,p_event_id IN NUMBER
20125 ,p_calculate_acctd_flag IN VARCHAR2
20126 ,p_calculate_g_l_flag IN VARCHAR2
20127 ,p_actual_flag IN OUT VARCHAR2
20128 ,p_balance_type_code OUT VARCHAR2
20129 ,p_gain_or_loss_ref OUT VARCHAR2
20130
20131 --Invoice Distribution Description
20132 , p_source_1 IN VARCHAR2
20133 --Invoice Distribution Account
20134 , p_source_11 IN NUMBER
20135 --Invoice Distribution Type
20136 , p_source_15 IN VARCHAR2
20137 , p_source_15_meaning IN VARCHAR2
20138 --Purchasing Encumbrance Option
20139 , p_source_17 IN VARCHAR2
20140 , p_source_17_meaning IN VARCHAR2
20141 --Accrue on Receipt Option
20142 , p_source_18 IN VARCHAR2
20143 , p_source_18_meaning IN VARCHAR2
20144 --Accounting Reversal Indicator
20145 , p_source_19 IN VARCHAR2
20146 --Distribution Link Type
20147 , p_source_21 IN VARCHAR2
20148 --Allocation to Main Distribution Identifier
20149 , p_source_23 IN NUMBER
20150 --Invoice Identifier
20151 , p_source_24 IN NUMBER
20152 --Business Flow Accounts Payable Application Identifier
20153 , p_source_25 IN NUMBER
20154 --Business Flow Invoice Distribution Type
20155 , p_source_26 IN VARCHAR2
20156 --Business Flow Invoice Entity Code
20157 , p_source_27 IN VARCHAR2
20158 --Business Flow Invoice Distribution Identifier
20159 , p_source_28 IN NUMBER
20160 --Business Flow Invoice Identifier
20161 , p_source_29 IN NUMBER
20162 --Invoice Distribution Identifier
20163 , p_source_30 IN NUMBER
20164 --Payables Encumbrance Upgrade Credit Account
20165 , p_source_31 IN NUMBER
20166 --Payables Encumbrance Upgrade Credit Amount
20167 , p_source_32 IN NUMBER
20168 --Invoice Currency Code
20169 , p_source_33 IN VARCHAR2
20170 --Payables Encumbrance Upgrade Credit Base Amount
20171 , p_source_34 IN NUMBER
20172 --Payables Encumbrance Upgrade Debit Account
20173 , p_source_35 IN NUMBER
20174 --Payables Encumbrance Upgrade Debit Amount
20175 , p_source_36 IN NUMBER
20176 --Payables Encumbrance Upgrade Debit Base Amount
20177 , p_source_37 IN NUMBER
20178 --Payables Encumbrance Upgrade Option
20179 , p_source_38 IN VARCHAR2
20180 --Invoice Exchange Date
20181 , p_source_39 IN DATE
20182 --Invoice Exchange Rate
20183 , p_source_40 IN NUMBER
20184 --Invoice Exchange Rate Type
20185 , p_source_41 IN VARCHAR2
20186 --Deferred Accounting End Date
20187 , p_source_43 IN DATE
20188 --Deferred Accounting Option
20189 , p_source_44 IN VARCHAR2
20190 --Deferred Accounting Start Date
20191 , p_source_45 IN DATE
20192 --Override Accounted Amount Indicator
20193 , p_source_46 IN VARCHAR2
20194 , p_source_46_meaning IN VARCHAR2
20195 --Invoice Supplier Identifier
20196 , p_source_47 IN NUMBER
20197 --Invoice Supplier Site Identifier
20198 , p_source_48 IN NUMBER
20199 --Third Party Type
20200 , p_source_49 IN VARCHAR2
20201 --Parent Reversal Identifier
20202 , p_source_50 IN NUMBER
20203 --Invoice Distribution Statistical Amount
20204 , p_source_51 IN NUMBER
20205 --Invoice Distribution Tax Line Identifier
20206 , p_source_52 IN NUMBER
20207 --Invoice Distribution Tax Distribution Identifier from Tax
20208 , p_source_53 IN NUMBER
20209 --Invoice Distribution Summary Tax Line Identifier
20210 , p_source_54 IN NUMBER
20211 --Payables Upgrade Credit Encumbrance Type Identifier
20212 , p_source_55 IN NUMBER
20213 --Payables Upgrade Debit Encumbrance Type Identifier
20214 , p_source_56 IN NUMBER
20215 --Invoice Distribution Amount
20216 , p_source_57 IN NUMBER
20217 --Invoice Distribution Encumbrance Amount
20218 , p_source_65 IN NUMBER
20219 --Invoice Distribution Encumbrance Ledger Amount
20220 , p_source_66 IN NUMBER
20221 --Invoice Type
20222 , p_source_68 IN VARCHAR2
20223 , p_source_68_meaning IN VARCHAR2
20224 )
20225 IS
20226
20227 l_component_type VARCHAR2(80);
20228 l_component_code VARCHAR2(30);
20229 l_component_type_code VARCHAR2(1);
20230 l_component_appl_id INTEGER;
20231 l_amb_context_code VARCHAR2(30);
20232 l_entity_code VARCHAR2(30);
20233 l_event_class_code VARCHAR2(30);
20234 l_ae_header_id NUMBER;
20235 l_event_type_code VARCHAR2(30);
20236 l_line_definition_code VARCHAR2(30);
20240 l_segment VARCHAR2(30);
20237 l_line_definition_owner_code VARCHAR2(1);
20238 --
20239 -- adr variables
20241 l_ccid NUMBER;
20242 l_adr_transaction_coa_id NUMBER;
20243 l_adr_accounting_coa_id NUMBER;
20244 l_adr_flexfield_segment_code VARCHAR2(30);
20245 l_adr_flex_value_set_id NUMBER;
20246 l_adr_value_type_code VARCHAR2(30);
20247 l_adr_value_combination_id NUMBER;
20248 l_adr_value_segment_code VARCHAR2(30);
20249
20250 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
20251 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
20252 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
20253 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
20254
20255 -- 4262811 Variables ------------------------------------------------------------------------------------------
20256 l_entered_amt_idx NUMBER;
20257 l_accted_amt_idx NUMBER;
20258 l_acc_rev_flag VARCHAR2(1);
20259 l_accrual_line_num NUMBER;
20260 l_tmp_amt NUMBER;
20261 l_acc_rev_natural_side_code VARCHAR2(1);
20262
20263 l_num_entries NUMBER;
20264 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
20265 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
20266 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
20267 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
20268 l_recog_line_1 NUMBER;
20269 l_recog_line_2 NUMBER;
20270
20271 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
20272 l_bflow_applied_to_amt NUMBER; -- 5132302
20273 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
20274
20275 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
20276
20277 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
20278 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
20279
20280 ---------------------------------------------------------------------------------------------------------------
20281
20282
20283 --
20284 -- bulk performance
20285 --
20286 l_balance_type_code VARCHAR2(1);
20287 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
20288 l_log_module VARCHAR2(240);
20289
20290 --
20291 -- Upgrade strategy
20292 --
20293 l_actual_upg_option VARCHAR2(1);
20294 l_enc_upg_option VARCHAR2(1);
20295
20296 --
20297 BEGIN
20298 --
20299 IF g_log_enabled THEN
20300 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_39';
20301 END IF;
20302 --
20303 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
20304
20305 trace
20306 (p_msg => 'BEGIN of AcctLineType_39'
20307 ,p_level => C_LEVEL_PROCEDURE
20308 ,p_module => l_log_module);
20309
20310 END IF;
20311 --
20312 l_component_type := 'AMB_JLT';
20313 l_component_code := 'AP_ITEM_EXPENSE_INV_ENC_DR';
20314 l_component_type_code := 'S';
20315 l_component_appl_id := 200;
20316 l_amb_context_code := 'DEFAULT';
20317 l_entity_code := 'AP_INVOICES';
20318 l_event_class_code := 'INVOICES';
20319 l_event_type_code := 'INVOICES_ALL';
20320 l_line_definition_owner_code := 'S';
20321 l_line_definition_code := 'ENC_INVOICES_ALL';
20322 --
20323 l_balance_type_code := 'E';
20324 l_segment := NULL;
20325 l_ccid := NULL;
20326 l_adr_transaction_coa_id := NULL;
20327 l_adr_accounting_coa_id := NULL;
20328 l_adr_flexfield_segment_code := NULL;
20329 l_adr_flex_value_set_id := NULL;
20330 l_adr_value_type_code := NULL;
20331 l_adr_value_combination_id := NULL;
20332 l_adr_value_segment_code := NULL;
20333
20334 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
20335 l_bflow_class_code := 'AP_INV_ENCUM'; -- 4219869 Business Flow
20336 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
20337 l_budgetary_control_flag := 'Y';
20338
20339 l_bflow_applied_to_amt_idx := NULL; -- 5132302
20340 l_bflow_applied_to_amt := NULL; -- 5132302
20341 l_entered_amt_idx := NULL; -- 4262811
20342 l_accted_amt_idx := NULL; -- 4262811
20343 l_acc_rev_flag := NULL; -- 4262811
20344 l_accrual_line_num := NULL; -- 4262811
20345 l_tmp_amt := NULL; -- 4262811
20346 --
20347
20348 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
20349 l_balance_type_code <> 'B' THEN
20350 IF (NVL(p_source_68,'
20351 ') = 'STANDARD' OR
20352 NVL(p_source_68,'
20353 ') = 'MIXED' OR
20354 NVL(p_source_68,'
20355 ') = 'AWT' OR
20356 NVL(p_source_68,'
20357 ') = 'EXPENSE REPORT') AND
20358 NVL(p_source_15,'
20359 ') = 'ITEM' AND
20360 NVL(p_source_18,'
20361 ') <> 'Y' AND
20362 NVL(p_source_17,'
20363 ') = 'Y'
20364 THEN
20365
20366 --
20367 XLA_AE_LINES_PKG.SetNewLine;
20368
20372 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
20369 p_balance_type_code := l_balance_type_code;
20370 -- set the flag so later we will know whether the gain loss line needs to be created
20371
20373 p_actual_flag :='A';
20374 END IF;
20375
20376 --
20377 -- bulk performance
20378 --
20379 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
20380 p_header_num => 0); -- 4262811
20381 --
20382 -- set accounting line options
20383 --
20384 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
20385 p_natural_side_code => 'D'
20386 , p_gain_or_loss_flag => 'N'
20387 , p_gl_transfer_mode_code => 'S'
20388 , p_acct_entry_type_code => 'E'
20389 , p_switch_side_flag => 'Y'
20390 , p_merge_duplicate_code => 'N'
20391 );
20392 --
20393 l_acc_rev_natural_side_code := 'C'; -- 4262811
20394 --
20395 --
20396 -- set accounting line type info
20397 --
20398 xla_ae_lines_pkg.SetAcctLineType
20399 (p_component_type => l_component_type
20400 ,p_event_type_code => l_event_type_code
20401 ,p_line_definition_owner_code => l_line_definition_owner_code
20402 ,p_line_definition_code => l_line_definition_code
20403 ,p_accounting_line_code => l_component_code
20404 ,p_accounting_line_type_code => l_component_type_code
20405 ,p_accounting_line_appl_id => l_component_appl_id
20406 ,p_amb_context_code => l_amb_context_code
20407 ,p_entity_code => l_entity_code
20408 ,p_event_class_code => l_event_class_code);
20409 --
20410 -- set accounting class
20411 --
20412 xla_ae_lines_pkg.SetAcctClass(
20413 p_accounting_class_code => 'ITEM EXPENSE'
20414 , p_ae_header_id => l_ae_header_id
20415 );
20416
20417 --
20418 -- set rounding class
20419 --
20420 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
20421 'ITEM EXPENSE';
20422
20423 --
20424 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
20425 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
20426 --
20427 -- bulk performance
20428 --
20429 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
20430
20431 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
20432 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
20433
20434 -- 4955764
20435 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
20436 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
20437
20438 -- 4458381 Public Sector Enh
20439 XLA_AE_LINES_PKG.g_rec_lines.array_encumbrance_type_id(XLA_AE_LINES_PKG.g_LineNumber) := 1060;
20440 --
20441 -- set accounting attributes for the line type
20442 --
20443 l_entered_amt_idx := 24;
20444 l_accted_amt_idx := 29;
20445 l_bflow_applied_to_amt_idx := 7; -- 5132302
20446 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
20447 l_rec_acct_attrs.array_char_value(1) := p_source_19;
20448 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
20449 l_rec_acct_attrs.array_num_value(2) :=
20450 xla_ae_sources_pkg.GetSystemSourceNum(
20451 p_source_code => 'XLA_EVENT_APPL_ID'
20452 , p_source_type_code => 'Y'
20453 , p_source_application_id => 602
20454 );
20455 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
20456 l_rec_acct_attrs.array_char_value(3) := p_source_21;
20457 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
20458 l_rec_acct_attrs.array_char_value(4) :=
20459 xla_ae_sources_pkg.GetSystemSourceChar(
20460 p_source_code => 'XLA_ENTITY_CODE'
20461 , p_source_type_code => 'Y'
20462 , p_source_application_id => 602
20463 );
20464 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
20465 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_23);
20466 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
20467 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_24);
20468 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_AMOUNT';
20469 l_rec_acct_attrs.array_num_value(7) := p_source_57;
20470 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_APPLICATION_ID';
20471 l_rec_acct_attrs.array_num_value(8) := p_source_25;
20472 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_DISTRIBUTION_TYPE';
20473 l_rec_acct_attrs.array_char_value(9) := p_source_26;
20474 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_ENTITY_CODE';
20475 l_rec_acct_attrs.array_char_value(10) := p_source_27;
20476 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_DIST_ID';
20477 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_28);
20478 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
20479 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_29);
20480 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
20484 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
20481 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_30);
20482 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_TYPE';
20483 l_rec_acct_attrs.array_char_value(14) := p_source_21;
20485 l_rec_acct_attrs.array_num_value(15) := p_source_31;
20486 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
20487 l_rec_acct_attrs.array_num_value(16) := p_source_32;
20488 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
20489 l_rec_acct_attrs.array_char_value(17) := p_source_33;
20490 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
20491 l_rec_acct_attrs.array_num_value(18) := p_source_34;
20492 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_CCID';
20493 l_rec_acct_attrs.array_num_value(19) := p_source_35;
20494 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_AMT';
20495 l_rec_acct_attrs.array_num_value(20) := p_source_36;
20496 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_CURR';
20497 l_rec_acct_attrs.array_char_value(21) := p_source_33;
20498 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_LEDGER_AMT';
20499 l_rec_acct_attrs.array_num_value(22) := p_source_37;
20500 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_OPTION';
20501 l_rec_acct_attrs.array_char_value(23) := p_source_38;
20502 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_AMOUNT';
20503 l_rec_acct_attrs.array_num_value(24) := p_source_65;
20504 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_CODE';
20505 l_rec_acct_attrs.array_char_value(25) := p_source_33;
20506 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_DATE';
20507 l_rec_acct_attrs.array_date_value(26) := p_source_39;
20508 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE';
20509 l_rec_acct_attrs.array_num_value(27) := p_source_40;
20510 l_rec_acct_attrs.array_acct_attr_code(28) := 'EXCHANGE_RATE_TYPE';
20511 l_rec_acct_attrs.array_char_value(28) := p_source_41;
20512 l_rec_acct_attrs.array_acct_attr_code(29) := 'LEDGER_AMOUNT';
20513 l_rec_acct_attrs.array_num_value(29) := p_source_66;
20514 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_END_DATE';
20515 l_rec_acct_attrs.array_date_value(30) := p_source_43;
20516 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_OPTION';
20517 l_rec_acct_attrs.array_char_value(31) := p_source_44;
20518 l_rec_acct_attrs.array_acct_attr_code(32) := 'MULTIPERIOD_START_DATE';
20519 l_rec_acct_attrs.array_date_value(32) := p_source_45;
20520 l_rec_acct_attrs.array_acct_attr_code(33) := 'OVERRIDE_ACCTD_AMT_FLAG';
20521 l_rec_acct_attrs.array_char_value(33) := p_source_46;
20522 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_ID';
20523 l_rec_acct_attrs.array_num_value(34) := p_source_47;
20524 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_SITE_ID';
20525 l_rec_acct_attrs.array_num_value(35) := p_source_48;
20526 l_rec_acct_attrs.array_acct_attr_code(36) := 'PARTY_TYPE';
20527 l_rec_acct_attrs.array_char_value(36) := p_source_49;
20528 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_ID1';
20529 l_rec_acct_attrs.array_num_value(37) := to_char(p_source_50);
20530 l_rec_acct_attrs.array_acct_attr_code(38) := 'REVERSED_DISTRIBUTION_TYPE';
20531 l_rec_acct_attrs.array_char_value(38) := p_source_21;
20532 l_rec_acct_attrs.array_acct_attr_code(39) := 'STATISTICAL_AMOUNT';
20533 l_rec_acct_attrs.array_num_value(39) := p_source_51;
20534 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_LINE_REF_ID';
20535 l_rec_acct_attrs.array_num_value(40) := p_source_52;
20536 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_REC_NREC_DIST_REF_ID';
20537 l_rec_acct_attrs.array_num_value(41) := p_source_53;
20538 l_rec_acct_attrs.array_acct_attr_code(42) := 'TAX_SUMMARY_LINE_REF_ID';
20539 l_rec_acct_attrs.array_num_value(42) := p_source_54;
20540 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_CR_ENC_TYPE_ID';
20541 l_rec_acct_attrs.array_num_value(43) := p_source_55;
20542 l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
20543 l_rec_acct_attrs.array_num_value(44) := p_source_56;
20544
20545 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
20546 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
20547
20548 ---------------------------------------------------------------------------------------------------------------
20549 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
20550 ---------------------------------------------------------------------------------------------------------------
20551 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
20552
20553 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
20554 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
20555
20556 IF xla_accounting_cache_pkg.GetValueChar
20557 (p_source_code => 'LEDGER_CATEGORY_CODE'
20558 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
20559 AND l_bflow_method_code = 'PRIOR_ENTRY'
20560 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
20561 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
20562 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
20563 )
20564 THEN
20565 xla_ae_lines_pkg.BflowUpgEntry
20566 (p_business_method_code => l_bflow_method_code
20570 NULL;
20567 ,p_business_class_code => l_bflow_class_code
20568 ,p_balance_type => l_balance_type_code);
20569 ELSE
20571 -- No business flow processing for business flow method of NONE.
20572 END IF;
20573
20574 --
20575 -- call analytical criteria
20576 --
20577
20578 --
20579 -- call description
20580 --
20581
20582 xla_ae_lines_pkg.SetLineDescription(
20583 p_ae_header_id => l_ae_header_id
20584 ,p_description => Description_2 (
20585 p_application_id => p_application_id
20586 , p_ae_header_id => l_ae_header_id
20587 , p_source_1 => p_source_1
20588 )
20589 );
20590
20591
20592 --
20593 -- call ADRs
20594 -- Bug 4922099
20595 --
20596 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
20597 (NVL(l_actual_upg_option, 'N') = 'O') OR
20598 (NVL(l_enc_upg_option, 'N') = 'O')
20599 )
20600 THEN
20601 NULL;
20602 --
20603 --
20604
20605 l_ccid := AcctDerRule_7(
20606 p_application_id => p_application_id
20607 , p_ae_header_id => l_ae_header_id
20608 , p_source_11 => p_source_11
20609 , x_transaction_coa_id => l_adr_transaction_coa_id
20610 , x_accounting_coa_id => l_adr_accounting_coa_id
20611 , x_value_type_code => l_adr_value_type_code
20612 , p_side => 'NA'
20613 );
20614
20615 xla_ae_lines_pkg.set_ccid(
20616 p_code_combination_id => l_ccid
20617 , p_value_type_code => l_adr_value_type_code
20618 , p_transaction_coa_id => l_adr_transaction_coa_id
20619 , p_accounting_coa_id => l_adr_accounting_coa_id
20620 , p_adr_code => 'AP_INVOICE_DIST'
20621 , p_adr_type_code => 'S'
20622 , p_component_type => l_component_type
20623 , p_component_code => l_component_code
20624 , p_component_type_code => l_component_type_code
20625 , p_component_appl_id => l_component_appl_id
20626 , p_amb_context_code => l_amb_context_code
20627 , p_side => 'NA'
20628 );
20629
20630
20631 --
20632 --
20633 END IF;
20634 --
20635 -- Bug 4922099
20636 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
20637 (NVL(l_enc_upg_option, 'N') = 'O')
20638 ) AND
20639 (l_bflow_method_code = 'PRIOR_ENTRY')
20640 )
20641 THEN
20642 IF
20643 --
20644 1 = 2
20645 --
20646 THEN
20647 xla_accounting_err_pkg.build_message
20648 (p_appli_s_name => 'XLA'
20649 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
20650 ,p_token_1 => 'LINE_NUMBER'
20651 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
20652 ,p_token_2 => 'LINE_TYPE_NAME'
20653 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
20654 l_component_type
20655 ,l_component_code
20656 ,l_component_type_code
20657 ,l_component_appl_id
20658 ,l_amb_context_code
20659 ,l_entity_code
20660 ,l_event_class_code
20661 )
20662 ,p_token_3 => 'OWNER'
20663 ,p_value_3 => xla_lookups_pkg.get_meaning(
20664 p_lookup_type => 'XLA_OWNER_TYPE'
20665 ,p_lookup_code => l_component_type_code
20666 )
20667 ,p_token_4 => 'PRODUCT_NAME'
20668 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
20669 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
20670 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
20671 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
20672 ,p_ae_header_id => NULL
20673 );
20674
20675 IF (C_LEVEL_ERROR>= g_log_level) THEN
20676 trace
20677 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
20678 ,p_level => C_LEVEL_ERROR
20679 ,p_module => l_log_module);
20680 END IF;
20681 END IF;
20682 END IF;
20683 --
20684 --
20688 -- Prior Entry. Currently, the following code is always generated.
20685 ------------------------------------------------------------------------------------------------
20686 -- 4219869 Business Flow
20687 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
20689 ------------------------------------------------------------------------------------------------
20690 XLA_AE_LINES_PKG.ValidateCurrentLine;
20691
20692 ------------------------------------------------------------------------------------
20693 -- 4219869 Business Flow
20694 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
20695 ------------------------------------------------------------------------------------
20696 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
20697
20698 ----------------------------------------------------------------------------------
20699 -- 4219869 Business Flow
20700 -- Update journal entry status -- Need to generate this within IF <condition>
20701 ----------------------------------------------------------------------------------
20702 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
20703 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
20704 ,p_balance_type_code => l_balance_type_code
20705 );
20706
20707 -------------------------------------------------------------------------------------------
20708 -- 4262811 - Generate the Accrual Reversal lines
20709 -------------------------------------------------------------------------------------------
20710 BEGIN
20711 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
20712 (g_array_event(p_event_id).array_value_num('header_index'));
20713 IF l_acc_rev_flag IS NULL THEN
20714 l_acc_rev_flag := 'N';
20715 END IF;
20716 EXCEPTION
20717 WHEN OTHERS THEN
20718 l_acc_rev_flag := 'N';
20719 END;
20720 --
20721 IF (l_acc_rev_flag = 'Y') THEN
20722
20723 -- 4645092 ------------------------------------------------------------------------------
20724 -- To allow MPA report to determine if it should generate report process
20725 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
20726 ------------------------------------------------------------------------------------------
20727
20728 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
20729 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
20730 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
20731 -- call ADRs
20732 -- Bug 4922099
20733 --
20734 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
20735 (NVL(l_actual_upg_option, 'N') = 'O') OR
20736 (NVL(l_enc_upg_option, 'N') = 'O')
20737 )
20738 THEN
20739 NULL;
20740 --
20741 --
20742
20743 l_ccid := AcctDerRule_7(
20744 p_application_id => p_application_id
20745 , p_ae_header_id => l_ae_header_id
20746 , p_source_11 => p_source_11
20747 , x_transaction_coa_id => l_adr_transaction_coa_id
20748 , x_accounting_coa_id => l_adr_accounting_coa_id
20749 , x_value_type_code => l_adr_value_type_code
20750 , p_side => 'NA'
20751 );
20752
20753 xla_ae_lines_pkg.set_ccid(
20754 p_code_combination_id => l_ccid
20755 , p_value_type_code => l_adr_value_type_code
20756 , p_transaction_coa_id => l_adr_transaction_coa_id
20757 , p_accounting_coa_id => l_adr_accounting_coa_id
20758 , p_adr_code => 'AP_INVOICE_DIST'
20759 , p_adr_type_code => 'S'
20760 , p_component_type => l_component_type
20761 , p_component_code => l_component_code
20762 , p_component_type_code => l_component_type_code
20763 , p_component_appl_id => l_component_appl_id
20764 , p_amb_context_code => l_amb_context_code
20765 , p_side => 'NA'
20766 );
20767
20768
20769 --
20770 --
20771 END IF;
20772
20773 --
20774 -- Update the line information that should be overwritten
20775 --
20776 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
20777 p_header_num => 1);
20778 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
20779
20780 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
20781
20782 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
20783 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
20784 END IF;
20785
20786 --
20787 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
20788 --
20789 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
20790 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
20791 ELSE
20792 ---------------------------------------------------------------------------------------------------
20793 -- 4262811a Switch Sign
20794 ---------------------------------------------------------------------------------------------------
20798 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
20795 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
20796 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
20797 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
20799 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
20800 -- 5132302
20801 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
20802 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
20803
20804 END IF;
20805
20806 -- 4955764
20807 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
20808 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
20809
20810
20811 XLA_AE_LINES_PKG.ValidateCurrentLine;
20812 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
20813
20814 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
20815 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
20816 ,p_balance_type_code => l_balance_type_code);
20817
20818 END IF;
20819
20820 -----------------------------------------------------------------------------------------
20821 -- 4262811 Multiperiod Accounting
20822 -----------------------------------------------------------------------------------------
20823 -- No MPA option is assigned.
20824
20825
20826 END IF;
20827 END IF;
20828 --
20829
20830 --
20831 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
20832 trace
20833 (p_msg => 'END of AcctLineType_39'
20834 ,p_level => C_LEVEL_PROCEDURE
20835 ,p_module => l_log_module);
20836 END IF;
20837 --
20838 EXCEPTION
20839 WHEN xla_exceptions_pkg.application_exception THEN
20840 RAISE;
20841 WHEN OTHERS THEN
20842 xla_exceptions_pkg.raise_message
20843 (p_location => 'XLA_00200_AAD_S_000006_BC_PKG.AcctLineType_39');
20844 END AcctLineType_39;
20845 --
20846
20847 ---------------------------------------
20848 --
20849 -- PRIVATE FUNCTION
20850 -- AcctLineType_40
20851 --
20852 ---------------------------------------
20853 PROCEDURE AcctLineType_40 (
20854 p_application_id IN NUMBER
20855 ,p_event_id IN NUMBER
20856 ,p_calculate_acctd_flag IN VARCHAR2
20857 ,p_calculate_g_l_flag IN VARCHAR2
20858 ,p_actual_flag IN OUT VARCHAR2
20859 ,p_balance_type_code OUT VARCHAR2
20860 ,p_gain_or_loss_ref OUT VARCHAR2
20861
20862 --Invoice Distribution Description
20863 , p_source_1 IN VARCHAR2
20864 --Invoice Distribution Account
20865 , p_source_11 IN NUMBER
20866 --Invoice Distribution Type
20867 , p_source_15 IN VARCHAR2
20868 , p_source_15_meaning IN VARCHAR2
20869 --Purchasing Encumbrance Option
20870 , p_source_17 IN VARCHAR2
20871 , p_source_17_meaning IN VARCHAR2
20872 --Accrue on Receipt Option
20873 , p_source_18 IN VARCHAR2
20874 , p_source_18_meaning IN VARCHAR2
20875 --Accounting Reversal Indicator
20876 , p_source_19 IN VARCHAR2
20877 --Distribution Link Type
20878 , p_source_21 IN VARCHAR2
20879 --Allocation to Main Distribution Identifier
20880 , p_source_23 IN NUMBER
20881 --Invoice Identifier
20882 , p_source_24 IN NUMBER
20883 --Business Flow Accounts Payable Application Identifier
20884 , p_source_25 IN NUMBER
20885 --Business Flow Invoice Distribution Type
20886 , p_source_26 IN VARCHAR2
20887 --Business Flow Invoice Entity Code
20888 , p_source_27 IN VARCHAR2
20889 --Business Flow Invoice Distribution Identifier
20890 , p_source_28 IN NUMBER
20891 --Business Flow Invoice Identifier
20892 , p_source_29 IN NUMBER
20893 --Invoice Distribution Identifier
20894 , p_source_30 IN NUMBER
20895 --Payables Encumbrance Upgrade Credit Account
20896 , p_source_31 IN NUMBER
20897 --Payables Encumbrance Upgrade Credit Amount
20898 , p_source_32 IN NUMBER
20899 --Invoice Currency Code
20900 , p_source_33 IN VARCHAR2
20901 --Payables Encumbrance Upgrade Credit Base Amount
20902 , p_source_34 IN NUMBER
20903 --Payables Encumbrance Upgrade Debit Account
20904 , p_source_35 IN NUMBER
20905 --Payables Encumbrance Upgrade Debit Amount
20906 , p_source_36 IN NUMBER
20907 --Payables Encumbrance Upgrade Debit Base Amount
20908 , p_source_37 IN NUMBER
20909 --Payables Encumbrance Upgrade Option
20910 , p_source_38 IN VARCHAR2
20911 --Invoice Exchange Date
20912 , p_source_39 IN DATE
20913 --Invoice Exchange Rate
20914 , p_source_40 IN NUMBER
20915 --Invoice Exchange Rate Type
20916 , p_source_41 IN VARCHAR2
20917 --Deferred Accounting End Date
20918 , p_source_43 IN DATE
20919 --Deferred Accounting Option
20920 , p_source_44 IN VARCHAR2
20921 --Deferred Accounting Start Date
20922 , p_source_45 IN DATE
20923 --Override Accounted Amount Indicator
20927 , p_source_47 IN NUMBER
20924 , p_source_46 IN VARCHAR2
20925 , p_source_46_meaning IN VARCHAR2
20926 --Invoice Supplier Identifier
20928 --Invoice Supplier Site Identifier
20929 , p_source_48 IN NUMBER
20930 --Third Party Type
20931 , p_source_49 IN VARCHAR2
20932 --Parent Reversal Identifier
20933 , p_source_50 IN NUMBER
20934 --Invoice Distribution Statistical Amount
20935 , p_source_51 IN NUMBER
20936 --Invoice Distribution Tax Line Identifier
20937 , p_source_52 IN NUMBER
20938 --Invoice Distribution Tax Distribution Identifier from Tax
20939 , p_source_53 IN NUMBER
20940 --Invoice Distribution Summary Tax Line Identifier
20941 , p_source_54 IN NUMBER
20942 --Payables Upgrade Credit Encumbrance Type Identifier
20943 , p_source_55 IN NUMBER
20944 --Payables Upgrade Debit Encumbrance Type Identifier
20945 , p_source_56 IN NUMBER
20946 --Invoice Distribution Encumbrance Amount
20947 , p_source_65 IN NUMBER
20948 --Invoice Distribution Encumbrance Ledger Amount
20949 , p_source_66 IN NUMBER
20950 )
20951 IS
20952
20953 l_component_type VARCHAR2(80);
20954 l_component_code VARCHAR2(30);
20955 l_component_type_code VARCHAR2(1);
20956 l_component_appl_id INTEGER;
20957 l_amb_context_code VARCHAR2(30);
20958 l_entity_code VARCHAR2(30);
20959 l_event_class_code VARCHAR2(30);
20960 l_ae_header_id NUMBER;
20961 l_event_type_code VARCHAR2(30);
20962 l_line_definition_code VARCHAR2(30);
20963 l_line_definition_owner_code VARCHAR2(1);
20964 --
20965 -- adr variables
20966 l_segment VARCHAR2(30);
20967 l_ccid NUMBER;
20968 l_adr_transaction_coa_id NUMBER;
20969 l_adr_accounting_coa_id NUMBER;
20970 l_adr_flexfield_segment_code VARCHAR2(30);
20971 l_adr_flex_value_set_id NUMBER;
20972 l_adr_value_type_code VARCHAR2(30);
20973 l_adr_value_combination_id NUMBER;
20974 l_adr_value_segment_code VARCHAR2(30);
20975
20976 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
20977 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
20978 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
20979 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
20980
20981 -- 4262811 Variables ------------------------------------------------------------------------------------------
20982 l_entered_amt_idx NUMBER;
20983 l_accted_amt_idx NUMBER;
20984 l_acc_rev_flag VARCHAR2(1);
20985 l_accrual_line_num NUMBER;
20986 l_tmp_amt NUMBER;
20987 l_acc_rev_natural_side_code VARCHAR2(1);
20988
20989 l_num_entries NUMBER;
20990 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
20991 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
20992 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
20993 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
20994 l_recog_line_1 NUMBER;
20995 l_recog_line_2 NUMBER;
20996
20997 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
20998 l_bflow_applied_to_amt NUMBER; -- 5132302
20999 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
21000
21001 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
21002
21003 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
21004 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
21005
21006 ---------------------------------------------------------------------------------------------------------------
21007
21008
21009 --
21010 -- bulk performance
21011 --
21012 l_balance_type_code VARCHAR2(1);
21013 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
21014 l_log_module VARCHAR2(240);
21015
21016 --
21017 -- Upgrade strategy
21018 --
21019 l_actual_upg_option VARCHAR2(1);
21020 l_enc_upg_option VARCHAR2(1);
21021
21022 --
21023 BEGIN
21024 --
21025 IF g_log_enabled THEN
21026 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_40';
21027 END IF;
21028 --
21029 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
21030
21031 trace
21032 (p_msg => 'BEGIN of AcctLineType_40'
21033 ,p_level => C_LEVEL_PROCEDURE
21034 ,p_module => l_log_module);
21035
21036 END IF;
21037 --
21038 l_component_type := 'AMB_JLT';
21039 l_component_code := 'AP_ITEM_EXPENSE_PP_ENC_DR';
21040 l_component_type_code := 'S';
21041 l_component_appl_id := 200;
21042 l_amb_context_code := 'DEFAULT';
21043 l_entity_code := 'AP_INVOICES';
21044 l_event_class_code := 'PREPAYMENTS';
21045 l_event_type_code := 'PREPAYMENTS_ALL';
21046 l_line_definition_owner_code := 'S';
21047 l_line_definition_code := 'ENC_PREPAY_ALL';
21048 --
21049 l_balance_type_code := 'E';
21050 l_segment := NULL;
21054 l_adr_flexfield_segment_code := NULL;
21051 l_ccid := NULL;
21052 l_adr_transaction_coa_id := NULL;
21053 l_adr_accounting_coa_id := NULL;
21055 l_adr_flex_value_set_id := NULL;
21056 l_adr_value_type_code := NULL;
21057 l_adr_value_combination_id := NULL;
21058 l_adr_value_segment_code := NULL;
21059
21060 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
21061 l_bflow_class_code := 'AP_INV_ENCUM'; -- 4219869 Business Flow
21062 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
21063 l_budgetary_control_flag := 'Y';
21064
21065 l_bflow_applied_to_amt_idx := NULL; -- 5132302
21066 l_bflow_applied_to_amt := NULL; -- 5132302
21067 l_entered_amt_idx := NULL; -- 4262811
21068 l_accted_amt_idx := NULL; -- 4262811
21069 l_acc_rev_flag := NULL; -- 4262811
21070 l_accrual_line_num := NULL; -- 4262811
21071 l_tmp_amt := NULL; -- 4262811
21072 --
21073
21074 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
21075 l_balance_type_code <> 'B' THEN
21076 IF NVL(p_source_15,'
21077 ') = 'ITEM' AND
21078 NVL(p_source_18,'
21079 ') <> 'Y' AND
21080 NVL(p_source_17,'
21081 ') = 'Y'
21082 THEN
21083
21084 --
21085 XLA_AE_LINES_PKG.SetNewLine;
21086
21087 p_balance_type_code := l_balance_type_code;
21088 -- set the flag so later we will know whether the gain loss line needs to be created
21089
21090 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
21091 p_actual_flag :='A';
21092 END IF;
21093
21094 --
21095 -- bulk performance
21096 --
21097 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
21098 p_header_num => 0); -- 4262811
21099 --
21100 -- set accounting line options
21101 --
21102 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
21103 p_natural_side_code => 'D'
21104 , p_gain_or_loss_flag => 'N'
21105 , p_gl_transfer_mode_code => 'S'
21106 , p_acct_entry_type_code => 'E'
21107 , p_switch_side_flag => 'Y'
21108 , p_merge_duplicate_code => 'N'
21109 );
21110 --
21111 l_acc_rev_natural_side_code := 'C'; -- 4262811
21112 --
21113 --
21114 -- set accounting line type info
21115 --
21116 xla_ae_lines_pkg.SetAcctLineType
21117 (p_component_type => l_component_type
21118 ,p_event_type_code => l_event_type_code
21119 ,p_line_definition_owner_code => l_line_definition_owner_code
21120 ,p_line_definition_code => l_line_definition_code
21121 ,p_accounting_line_code => l_component_code
21122 ,p_accounting_line_type_code => l_component_type_code
21123 ,p_accounting_line_appl_id => l_component_appl_id
21124 ,p_amb_context_code => l_amb_context_code
21125 ,p_entity_code => l_entity_code
21126 ,p_event_class_code => l_event_class_code);
21127 --
21128 -- set accounting class
21129 --
21130 xla_ae_lines_pkg.SetAcctClass(
21131 p_accounting_class_code => 'ITEM EXPENSE'
21132 , p_ae_header_id => l_ae_header_id
21133 );
21134
21135 --
21136 -- set rounding class
21137 --
21138 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
21139 'ITEM EXPENSE';
21140
21141 --
21142 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
21143 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
21144 --
21145 -- bulk performance
21146 --
21147 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
21148
21149 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
21150 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
21151
21152 -- 4955764
21153 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
21154 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
21155
21156 -- 4458381 Public Sector Enh
21157 XLA_AE_LINES_PKG.g_rec_lines.array_encumbrance_type_id(XLA_AE_LINES_PKG.g_LineNumber) := 1060;
21158 --
21159 -- set accounting attributes for the line type
21160 --
21161 l_entered_amt_idx := 23;
21162 l_accted_amt_idx := 28;
21163 l_bflow_applied_to_amt_idx := NULL; -- 5132302
21164 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
21165 l_rec_acct_attrs.array_char_value(1) := p_source_19;
21166 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
21167 l_rec_acct_attrs.array_num_value(2) :=
21168 xla_ae_sources_pkg.GetSystemSourceNum(
21169 p_source_code => 'XLA_EVENT_APPL_ID'
21170 , p_source_type_code => 'Y'
21171 , p_source_application_id => 602
21172 );
21173 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
21174 l_rec_acct_attrs.array_char_value(3) := p_source_21;
21175 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
21176 l_rec_acct_attrs.array_char_value(4) :=
21180 , p_source_application_id => 602
21177 xla_ae_sources_pkg.GetSystemSourceChar(
21178 p_source_code => 'XLA_ENTITY_CODE'
21179 , p_source_type_code => 'Y'
21181 );
21182 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
21183 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_23);
21184 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
21185 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_24);
21186 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
21187 l_rec_acct_attrs.array_num_value(7) := p_source_25;
21188 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
21189 l_rec_acct_attrs.array_char_value(8) := p_source_26;
21190 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
21191 l_rec_acct_attrs.array_char_value(9) := p_source_27;
21192 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
21193 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_28);
21194 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
21195 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_29);
21196 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
21197 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_30);
21198 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
21199 l_rec_acct_attrs.array_char_value(13) := p_source_21;
21200 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
21201 l_rec_acct_attrs.array_num_value(14) := p_source_31;
21202 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
21203 l_rec_acct_attrs.array_num_value(15) := p_source_32;
21204 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
21205 l_rec_acct_attrs.array_char_value(16) := p_source_33;
21206 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
21207 l_rec_acct_attrs.array_num_value(17) := p_source_34;
21208 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
21209 l_rec_acct_attrs.array_num_value(18) := p_source_35;
21210 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
21211 l_rec_acct_attrs.array_num_value(19) := p_source_36;
21212 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
21213 l_rec_acct_attrs.array_char_value(20) := p_source_33;
21214 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
21215 l_rec_acct_attrs.array_num_value(21) := p_source_37;
21216 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
21217 l_rec_acct_attrs.array_char_value(22) := p_source_38;
21218 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
21219 l_rec_acct_attrs.array_num_value(23) := p_source_65;
21220 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
21221 l_rec_acct_attrs.array_char_value(24) := p_source_33;
21222 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
21223 l_rec_acct_attrs.array_date_value(25) := p_source_39;
21224 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
21225 l_rec_acct_attrs.array_num_value(26) := p_source_40;
21226 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
21227 l_rec_acct_attrs.array_char_value(27) := p_source_41;
21228 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
21229 l_rec_acct_attrs.array_num_value(28) := p_source_66;
21230 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
21231 l_rec_acct_attrs.array_date_value(29) := p_source_43;
21232 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
21233 l_rec_acct_attrs.array_char_value(30) := p_source_44;
21234 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
21235 l_rec_acct_attrs.array_date_value(31) := p_source_45;
21236 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
21237 l_rec_acct_attrs.array_char_value(32) := p_source_46;
21238 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
21239 l_rec_acct_attrs.array_num_value(33) := p_source_47;
21240 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
21241 l_rec_acct_attrs.array_num_value(34) := p_source_48;
21242 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
21243 l_rec_acct_attrs.array_char_value(35) := p_source_49;
21244 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
21245 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_50);
21246 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
21247 l_rec_acct_attrs.array_char_value(37) := p_source_21;
21248 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
21249 l_rec_acct_attrs.array_num_value(38) := p_source_51;
21250 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
21251 l_rec_acct_attrs.array_num_value(39) := p_source_52;
21252 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
21253 l_rec_acct_attrs.array_num_value(40) := p_source_53;
21254 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
21255 l_rec_acct_attrs.array_num_value(41) := p_source_54;
21256 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
21257 l_rec_acct_attrs.array_num_value(42) := p_source_55;
21258 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
21259 l_rec_acct_attrs.array_num_value(43) := p_source_56;
21260
21261 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
21262 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
21263
21267 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
21264 ---------------------------------------------------------------------------------------------------------------
21265 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
21266 ---------------------------------------------------------------------------------------------------------------
21268
21269 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
21270 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
21271
21272 IF xla_accounting_cache_pkg.GetValueChar
21273 (p_source_code => 'LEDGER_CATEGORY_CODE'
21274 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
21275 AND l_bflow_method_code = 'PRIOR_ENTRY'
21276 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
21277 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
21278 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
21279 )
21280 THEN
21281 xla_ae_lines_pkg.BflowUpgEntry
21282 (p_business_method_code => l_bflow_method_code
21283 ,p_business_class_code => l_bflow_class_code
21284 ,p_balance_type => l_balance_type_code);
21285 ELSE
21286 NULL;
21287 -- No business flow processing for business flow method of NONE.
21288 END IF;
21289
21290 --
21291 -- call analytical criteria
21292 --
21293
21294 --
21295 -- call description
21296 --
21297
21298 xla_ae_lines_pkg.SetLineDescription(
21299 p_ae_header_id => l_ae_header_id
21300 ,p_description => Description_2 (
21301 p_application_id => p_application_id
21302 , p_ae_header_id => l_ae_header_id
21303 , p_source_1 => p_source_1
21304 )
21305 );
21306
21307
21308 --
21309 -- call ADRs
21310 -- Bug 4922099
21311 --
21312 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
21313 (NVL(l_actual_upg_option, 'N') = 'O') OR
21314 (NVL(l_enc_upg_option, 'N') = 'O')
21315 )
21316 THEN
21317 NULL;
21318 --
21319 --
21320
21321 l_ccid := AcctDerRule_7(
21322 p_application_id => p_application_id
21323 , p_ae_header_id => l_ae_header_id
21324 , p_source_11 => p_source_11
21325 , x_transaction_coa_id => l_adr_transaction_coa_id
21326 , x_accounting_coa_id => l_adr_accounting_coa_id
21327 , x_value_type_code => l_adr_value_type_code
21328 , p_side => 'NA'
21329 );
21330
21331 xla_ae_lines_pkg.set_ccid(
21332 p_code_combination_id => l_ccid
21333 , p_value_type_code => l_adr_value_type_code
21334 , p_transaction_coa_id => l_adr_transaction_coa_id
21335 , p_accounting_coa_id => l_adr_accounting_coa_id
21336 , p_adr_code => 'AP_INVOICE_DIST'
21337 , p_adr_type_code => 'S'
21338 , p_component_type => l_component_type
21339 , p_component_code => l_component_code
21340 , p_component_type_code => l_component_type_code
21341 , p_component_appl_id => l_component_appl_id
21342 , p_amb_context_code => l_amb_context_code
21343 , p_side => 'NA'
21344 );
21345
21346
21347 --
21348 --
21349 END IF;
21350 --
21351 -- Bug 4922099
21352 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
21353 (NVL(l_enc_upg_option, 'N') = 'O')
21354 ) AND
21355 (l_bflow_method_code = 'PRIOR_ENTRY')
21356 )
21357 THEN
21358 IF
21359 --
21360 1 = 2
21361 --
21362 THEN
21363 xla_accounting_err_pkg.build_message
21364 (p_appli_s_name => 'XLA'
21365 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
21366 ,p_token_1 => 'LINE_NUMBER'
21367 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
21368 ,p_token_2 => 'LINE_TYPE_NAME'
21369 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
21370 l_component_type
21371 ,l_component_code
21372 ,l_component_type_code
21373 ,l_component_appl_id
21374 ,l_amb_context_code
21375 ,l_entity_code
21376 ,l_event_class_code
21377 )
21378 ,p_token_3 => 'OWNER'
21379 ,p_value_3 => xla_lookups_pkg.get_meaning(
21380 p_lookup_type => 'XLA_OWNER_TYPE'
21384 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
21381 ,p_lookup_code => l_component_type_code
21382 )
21383 ,p_token_4 => 'PRODUCT_NAME'
21385 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
21386 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
21387 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
21388 ,p_ae_header_id => NULL
21389 );
21390
21391 IF (C_LEVEL_ERROR>= g_log_level) THEN
21392 trace
21393 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
21394 ,p_level => C_LEVEL_ERROR
21395 ,p_module => l_log_module);
21396 END IF;
21397 END IF;
21398 END IF;
21399 --
21400 --
21401 ------------------------------------------------------------------------------------------------
21402 -- 4219869 Business Flow
21403 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
21404 -- Prior Entry. Currently, the following code is always generated.
21405 ------------------------------------------------------------------------------------------------
21406 XLA_AE_LINES_PKG.ValidateCurrentLine;
21407
21408 ------------------------------------------------------------------------------------
21409 -- 4219869 Business Flow
21410 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
21411 ------------------------------------------------------------------------------------
21412 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
21413
21414 ----------------------------------------------------------------------------------
21415 -- 4219869 Business Flow
21416 -- Update journal entry status -- Need to generate this within IF <condition>
21417 ----------------------------------------------------------------------------------
21418 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
21419 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
21420 ,p_balance_type_code => l_balance_type_code
21421 );
21422
21423 -------------------------------------------------------------------------------------------
21424 -- 4262811 - Generate the Accrual Reversal lines
21425 -------------------------------------------------------------------------------------------
21426 BEGIN
21427 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
21428 (g_array_event(p_event_id).array_value_num('header_index'));
21429 IF l_acc_rev_flag IS NULL THEN
21430 l_acc_rev_flag := 'N';
21431 END IF;
21432 EXCEPTION
21433 WHEN OTHERS THEN
21434 l_acc_rev_flag := 'N';
21435 END;
21436 --
21437 IF (l_acc_rev_flag = 'Y') THEN
21438
21439 -- 4645092 ------------------------------------------------------------------------------
21440 -- To allow MPA report to determine if it should generate report process
21441 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
21442 ------------------------------------------------------------------------------------------
21443
21444 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
21445 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
21446 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
21447 -- call ADRs
21448 -- Bug 4922099
21449 --
21450 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
21451 (NVL(l_actual_upg_option, 'N') = 'O') OR
21452 (NVL(l_enc_upg_option, 'N') = 'O')
21453 )
21454 THEN
21455 NULL;
21456 --
21457 --
21458
21459 l_ccid := AcctDerRule_7(
21460 p_application_id => p_application_id
21461 , p_ae_header_id => l_ae_header_id
21462 , p_source_11 => p_source_11
21463 , x_transaction_coa_id => l_adr_transaction_coa_id
21464 , x_accounting_coa_id => l_adr_accounting_coa_id
21465 , x_value_type_code => l_adr_value_type_code
21466 , p_side => 'NA'
21467 );
21468
21469 xla_ae_lines_pkg.set_ccid(
21470 p_code_combination_id => l_ccid
21471 , p_value_type_code => l_adr_value_type_code
21472 , p_transaction_coa_id => l_adr_transaction_coa_id
21473 , p_accounting_coa_id => l_adr_accounting_coa_id
21474 , p_adr_code => 'AP_INVOICE_DIST'
21475 , p_adr_type_code => 'S'
21476 , p_component_type => l_component_type
21477 , p_component_code => l_component_code
21478 , p_component_type_code => l_component_type_code
21479 , p_component_appl_id => l_component_appl_id
21480 , p_amb_context_code => l_amb_context_code
21481 , p_side => 'NA'
21482 );
21483
21484
21485 --
21486 --
21487 END IF;
21488
21489 --
21493 p_header_num => 1);
21490 -- Update the line information that should be overwritten
21491 --
21492 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
21494 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
21495
21496 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
21497
21498 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
21499 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
21500 END IF;
21501
21502 --
21503 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
21504 --
21505 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
21506 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
21507 ELSE
21508 ---------------------------------------------------------------------------------------------------
21509 -- 4262811a Switch Sign
21510 ---------------------------------------------------------------------------------------------------
21511 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
21512 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
21513 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
21514 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
21515 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
21516 -- 5132302
21517 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
21518 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
21519
21520 END IF;
21521
21522 -- 4955764
21523 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
21524 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
21525
21526
21527 XLA_AE_LINES_PKG.ValidateCurrentLine;
21528 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
21529
21530 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
21531 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
21532 ,p_balance_type_code => l_balance_type_code);
21533
21534 END IF;
21535
21536 -----------------------------------------------------------------------------------------
21537 -- 4262811 Multiperiod Accounting
21538 -----------------------------------------------------------------------------------------
21539 -- No MPA option is assigned.
21540
21541
21542 END IF;
21543 END IF;
21544 --
21545
21546 --
21547 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
21548 trace
21549 (p_msg => 'END of AcctLineType_40'
21550 ,p_level => C_LEVEL_PROCEDURE
21551 ,p_module => l_log_module);
21552 END IF;
21553 --
21554 EXCEPTION
21555 WHEN xla_exceptions_pkg.application_exception THEN
21556 RAISE;
21557 WHEN OTHERS THEN
21558 xla_exceptions_pkg.raise_message
21559 (p_location => 'XLA_00200_AAD_S_000006_BC_PKG.AcctLineType_40');
21560 END AcctLineType_40;
21561 --
21562
21563 ---------------------------------------
21564 --
21565 -- PRIVATE FUNCTION
21566 -- AcctLineType_41
21567 --
21568 ---------------------------------------
21569 PROCEDURE AcctLineType_41 (
21570 p_application_id IN NUMBER
21571 ,p_event_id IN NUMBER
21572 ,p_calculate_acctd_flag IN VARCHAR2
21573 ,p_calculate_g_l_flag IN VARCHAR2
21574 ,p_actual_flag IN OUT VARCHAR2
21575 ,p_balance_type_code OUT VARCHAR2
21576 ,p_gain_or_loss_ref OUT VARCHAR2
21577
21578 --Invoice Distribution Description
21579 , p_source_1 IN VARCHAR2
21580 --Invoice Distribution Account
21581 , p_source_11 IN NUMBER
21582 --Invoice Distribution Type
21583 , p_source_15 IN VARCHAR2
21584 , p_source_15_meaning IN VARCHAR2
21585 --Purchasing Encumbrance Option
21586 , p_source_17 IN VARCHAR2
21587 , p_source_17_meaning IN VARCHAR2
21588 --Accounting Reversal Indicator
21589 , p_source_19 IN VARCHAR2
21590 --Distribution Link Type
21591 , p_source_21 IN VARCHAR2
21592 --Allocation to Main Distribution Identifier
21593 , p_source_23 IN NUMBER
21594 --Invoice Identifier
21595 , p_source_24 IN NUMBER
21596 --Business Flow Accounts Payable Application Identifier
21597 , p_source_25 IN NUMBER
21598 --Business Flow Invoice Distribution Type
21599 , p_source_26 IN VARCHAR2
21600 --Business Flow Invoice Entity Code
21601 , p_source_27 IN VARCHAR2
21602 --Business Flow Invoice Distribution Identifier
21603 , p_source_28 IN NUMBER
21604 --Business Flow Invoice Identifier
21605 , p_source_29 IN NUMBER
21606 --Invoice Distribution Identifier
21607 , p_source_30 IN NUMBER
21608 --Payables Encumbrance Upgrade Credit Account
21609 , p_source_31 IN NUMBER
21613 , p_source_33 IN VARCHAR2
21610 --Payables Encumbrance Upgrade Credit Amount
21611 , p_source_32 IN NUMBER
21612 --Invoice Currency Code
21614 --Payables Encumbrance Upgrade Credit Base Amount
21615 , p_source_34 IN NUMBER
21616 --Payables Encumbrance Upgrade Debit Account
21617 , p_source_35 IN NUMBER
21618 --Payables Encumbrance Upgrade Debit Amount
21619 , p_source_36 IN NUMBER
21620 --Payables Encumbrance Upgrade Debit Base Amount
21621 , p_source_37 IN NUMBER
21622 --Payables Encumbrance Upgrade Option
21623 , p_source_38 IN VARCHAR2
21624 --Invoice Exchange Date
21625 , p_source_39 IN DATE
21626 --Invoice Exchange Rate
21627 , p_source_40 IN NUMBER
21628 --Invoice Exchange Rate Type
21629 , p_source_41 IN VARCHAR2
21630 --Deferred Accounting End Date
21631 , p_source_43 IN DATE
21632 --Deferred Accounting Option
21633 , p_source_44 IN VARCHAR2
21634 --Deferred Accounting Start Date
21635 , p_source_45 IN DATE
21636 --Override Accounted Amount Indicator
21637 , p_source_46 IN VARCHAR2
21638 , p_source_46_meaning IN VARCHAR2
21639 --Invoice Supplier Identifier
21640 , p_source_47 IN NUMBER
21641 --Invoice Supplier Site Identifier
21642 , p_source_48 IN NUMBER
21643 --Third Party Type
21644 , p_source_49 IN VARCHAR2
21645 --Parent Reversal Identifier
21646 , p_source_50 IN NUMBER
21647 --Invoice Distribution Statistical Amount
21648 , p_source_51 IN NUMBER
21649 --Invoice Distribution Tax Line Identifier
21650 , p_source_52 IN NUMBER
21651 --Invoice Distribution Tax Distribution Identifier from Tax
21652 , p_source_53 IN NUMBER
21653 --Invoice Distribution Summary Tax Line Identifier
21654 , p_source_54 IN NUMBER
21655 --Payables Upgrade Credit Encumbrance Type Identifier
21656 , p_source_55 IN NUMBER
21657 --Payables Upgrade Debit Encumbrance Type Identifier
21658 , p_source_56 IN NUMBER
21659 --Invoice Distribution Encumbrance Amount
21660 , p_source_65 IN NUMBER
21661 --Invoice Distribution Encumbrance Ledger Amount
21662 , p_source_66 IN NUMBER
21663 )
21664 IS
21665
21666 l_component_type VARCHAR2(80);
21667 l_component_code VARCHAR2(30);
21668 l_component_type_code VARCHAR2(1);
21669 l_component_appl_id INTEGER;
21670 l_amb_context_code VARCHAR2(30);
21671 l_entity_code VARCHAR2(30);
21672 l_event_class_code VARCHAR2(30);
21673 l_ae_header_id NUMBER;
21674 l_event_type_code VARCHAR2(30);
21675 l_line_definition_code VARCHAR2(30);
21676 l_line_definition_owner_code VARCHAR2(1);
21677 --
21678 -- adr variables
21679 l_segment VARCHAR2(30);
21680 l_ccid NUMBER;
21681 l_adr_transaction_coa_id NUMBER;
21682 l_adr_accounting_coa_id NUMBER;
21683 l_adr_flexfield_segment_code VARCHAR2(30);
21684 l_adr_flex_value_set_id NUMBER;
21685 l_adr_value_type_code VARCHAR2(30);
21686 l_adr_value_combination_id NUMBER;
21687 l_adr_value_segment_code VARCHAR2(30);
21688
21689 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
21690 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
21691 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
21692 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
21693
21694 -- 4262811 Variables ------------------------------------------------------------------------------------------
21695 l_entered_amt_idx NUMBER;
21696 l_accted_amt_idx NUMBER;
21697 l_acc_rev_flag VARCHAR2(1);
21698 l_accrual_line_num NUMBER;
21699 l_tmp_amt NUMBER;
21700 l_acc_rev_natural_side_code VARCHAR2(1);
21701
21702 l_num_entries NUMBER;
21703 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
21704 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
21705 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
21706 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
21707 l_recog_line_1 NUMBER;
21708 l_recog_line_2 NUMBER;
21709
21710 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
21711 l_bflow_applied_to_amt NUMBER; -- 5132302
21712 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
21713
21714 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
21715
21716 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
21717 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
21718
21719 ---------------------------------------------------------------------------------------------------------------
21720
21721
21722 --
21723 -- bulk performance
21724 --
21725 l_balance_type_code VARCHAR2(1);
21726 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
21727 l_log_module VARCHAR2(240);
21728
21729 --
21730 -- Upgrade strategy
21731 --
21732 l_actual_upg_option VARCHAR2(1);
21733 l_enc_upg_option VARCHAR2(1);
21737 --
21734
21735 --
21736 BEGIN
21738 IF g_log_enabled THEN
21739 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_41';
21740 END IF;
21741 --
21742 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
21743
21744 trace
21745 (p_msg => 'BEGIN of AcctLineType_41'
21746 ,p_level => C_LEVEL_PROCEDURE
21747 ,p_module => l_log_module);
21748
21749 END IF;
21750 --
21751 l_component_type := 'AMB_JLT';
21752 l_component_code := 'AP_MISC_EXPENSE_CM_ENC_DR';
21753 l_component_type_code := 'S';
21754 l_component_appl_id := 200;
21755 l_amb_context_code := 'DEFAULT';
21756 l_entity_code := 'AP_INVOICES';
21757 l_event_class_code := 'CREDIT MEMOS';
21758 l_event_type_code := 'CREDIT MEMOS_ALL';
21759 l_line_definition_owner_code := 'S';
21760 l_line_definition_code := 'ENC_CM_ALL';
21761 --
21762 l_balance_type_code := 'E';
21763 l_segment := NULL;
21764 l_ccid := NULL;
21765 l_adr_transaction_coa_id := NULL;
21766 l_adr_accounting_coa_id := NULL;
21767 l_adr_flexfield_segment_code := NULL;
21768 l_adr_flex_value_set_id := NULL;
21769 l_adr_value_type_code := NULL;
21770 l_adr_value_combination_id := NULL;
21771 l_adr_value_segment_code := NULL;
21772
21773 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
21774 l_bflow_class_code := 'AP_INV_ENCUM'; -- 4219869 Business Flow
21775 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
21776 l_budgetary_control_flag := 'Y';
21777
21778 l_bflow_applied_to_amt_idx := NULL; -- 5132302
21779 l_bflow_applied_to_amt := NULL; -- 5132302
21780 l_entered_amt_idx := NULL; -- 4262811
21781 l_accted_amt_idx := NULL; -- 4262811
21782 l_acc_rev_flag := NULL; -- 4262811
21783 l_accrual_line_num := NULL; -- 4262811
21784 l_tmp_amt := NULL; -- 4262811
21785 --
21786
21787 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
21788 l_balance_type_code <> 'B' THEN
21789 IF NVL(p_source_15,'
21790 ') = 'MISCELLANEOUS' AND
21791 NVL(p_source_17,'
21792 ') = 'Y'
21793 THEN
21794
21795 --
21796 XLA_AE_LINES_PKG.SetNewLine;
21797
21798 p_balance_type_code := l_balance_type_code;
21799 -- set the flag so later we will know whether the gain loss line needs to be created
21800
21801 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
21802 p_actual_flag :='A';
21803 END IF;
21804
21805 --
21806 -- bulk performance
21807 --
21808 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
21809 p_header_num => 0); -- 4262811
21810 --
21811 -- set accounting line options
21812 --
21813 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
21814 p_natural_side_code => 'D'
21815 , p_gain_or_loss_flag => 'N'
21816 , p_gl_transfer_mode_code => 'S'
21817 , p_acct_entry_type_code => 'E'
21818 , p_switch_side_flag => 'Y'
21819 , p_merge_duplicate_code => 'N'
21820 );
21821 --
21822 l_acc_rev_natural_side_code := 'C'; -- 4262811
21823 --
21824 --
21825 -- set accounting line type info
21826 --
21827 xla_ae_lines_pkg.SetAcctLineType
21828 (p_component_type => l_component_type
21829 ,p_event_type_code => l_event_type_code
21830 ,p_line_definition_owner_code => l_line_definition_owner_code
21831 ,p_line_definition_code => l_line_definition_code
21832 ,p_accounting_line_code => l_component_code
21833 ,p_accounting_line_type_code => l_component_type_code
21834 ,p_accounting_line_appl_id => l_component_appl_id
21835 ,p_amb_context_code => l_amb_context_code
21836 ,p_entity_code => l_entity_code
21837 ,p_event_class_code => l_event_class_code);
21838 --
21839 -- set accounting class
21840 --
21841 xla_ae_lines_pkg.SetAcctClass(
21842 p_accounting_class_code => 'MISCELLANEOUS EXPENSE'
21843 , p_ae_header_id => l_ae_header_id
21844 );
21845
21846 --
21847 -- set rounding class
21848 --
21849 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
21850 'MISCELLANEOUS EXPENSE';
21851
21852 --
21853 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
21854 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
21855 --
21856 -- bulk performance
21857 --
21858 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
21859
21860 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
21861 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
21862
21863 -- 4955764
21864 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
21865 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
21869 --
21866
21867 -- 4458381 Public Sector Enh
21868 XLA_AE_LINES_PKG.g_rec_lines.array_encumbrance_type_id(XLA_AE_LINES_PKG.g_LineNumber) := 1060;
21870 -- set accounting attributes for the line type
21871 --
21872 l_entered_amt_idx := 23;
21873 l_accted_amt_idx := 28;
21874 l_bflow_applied_to_amt_idx := NULL; -- 5132302
21875 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
21876 l_rec_acct_attrs.array_char_value(1) := p_source_19;
21877 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
21878 l_rec_acct_attrs.array_num_value(2) :=
21879 xla_ae_sources_pkg.GetSystemSourceNum(
21880 p_source_code => 'XLA_EVENT_APPL_ID'
21881 , p_source_type_code => 'Y'
21882 , p_source_application_id => 602
21883 );
21884 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
21885 l_rec_acct_attrs.array_char_value(3) := p_source_21;
21886 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
21887 l_rec_acct_attrs.array_char_value(4) :=
21888 xla_ae_sources_pkg.GetSystemSourceChar(
21889 p_source_code => 'XLA_ENTITY_CODE'
21890 , p_source_type_code => 'Y'
21891 , p_source_application_id => 602
21892 );
21893 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
21894 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_23);
21895 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
21896 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_24);
21897 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
21898 l_rec_acct_attrs.array_num_value(7) := p_source_25;
21899 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
21900 l_rec_acct_attrs.array_char_value(8) := p_source_26;
21901 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
21902 l_rec_acct_attrs.array_char_value(9) := p_source_27;
21903 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
21904 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_28);
21905 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
21906 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_29);
21907 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
21908 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_30);
21909 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
21910 l_rec_acct_attrs.array_char_value(13) := p_source_21;
21911 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
21912 l_rec_acct_attrs.array_num_value(14) := p_source_31;
21913 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
21914 l_rec_acct_attrs.array_num_value(15) := p_source_32;
21915 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
21916 l_rec_acct_attrs.array_char_value(16) := p_source_33;
21917 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
21918 l_rec_acct_attrs.array_num_value(17) := p_source_34;
21919 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
21920 l_rec_acct_attrs.array_num_value(18) := p_source_35;
21921 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
21922 l_rec_acct_attrs.array_num_value(19) := p_source_36;
21923 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
21924 l_rec_acct_attrs.array_char_value(20) := p_source_33;
21925 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
21926 l_rec_acct_attrs.array_num_value(21) := p_source_37;
21927 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
21928 l_rec_acct_attrs.array_char_value(22) := p_source_38;
21929 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
21930 l_rec_acct_attrs.array_num_value(23) := p_source_65;
21931 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
21932 l_rec_acct_attrs.array_char_value(24) := p_source_33;
21933 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
21934 l_rec_acct_attrs.array_date_value(25) := p_source_39;
21935 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
21936 l_rec_acct_attrs.array_num_value(26) := p_source_40;
21937 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
21938 l_rec_acct_attrs.array_char_value(27) := p_source_41;
21939 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
21940 l_rec_acct_attrs.array_num_value(28) := p_source_66;
21941 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
21942 l_rec_acct_attrs.array_date_value(29) := p_source_43;
21943 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
21944 l_rec_acct_attrs.array_char_value(30) := p_source_44;
21945 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
21946 l_rec_acct_attrs.array_date_value(31) := p_source_45;
21947 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
21948 l_rec_acct_attrs.array_char_value(32) := p_source_46;
21949 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
21950 l_rec_acct_attrs.array_num_value(33) := p_source_47;
21951 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
21952 l_rec_acct_attrs.array_num_value(34) := p_source_48;
21953 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
21954 l_rec_acct_attrs.array_char_value(35) := p_source_49;
21955 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
21956 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_50);
21957 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
21961 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
21958 l_rec_acct_attrs.array_char_value(37) := p_source_21;
21959 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
21960 l_rec_acct_attrs.array_num_value(38) := p_source_51;
21962 l_rec_acct_attrs.array_num_value(39) := p_source_52;
21963 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
21964 l_rec_acct_attrs.array_num_value(40) := p_source_53;
21965 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
21966 l_rec_acct_attrs.array_num_value(41) := p_source_54;
21967 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
21968 l_rec_acct_attrs.array_num_value(42) := p_source_55;
21969 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
21970 l_rec_acct_attrs.array_num_value(43) := p_source_56;
21971
21972 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
21973 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
21974
21975 ---------------------------------------------------------------------------------------------------------------
21976 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
21977 ---------------------------------------------------------------------------------------------------------------
21978 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
21979
21980 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
21981 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
21982
21983 IF xla_accounting_cache_pkg.GetValueChar
21984 (p_source_code => 'LEDGER_CATEGORY_CODE'
21985 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
21986 AND l_bflow_method_code = 'PRIOR_ENTRY'
21987 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
21988 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
21989 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
21990 )
21991 THEN
21992 xla_ae_lines_pkg.BflowUpgEntry
21993 (p_business_method_code => l_bflow_method_code
21994 ,p_business_class_code => l_bflow_class_code
21995 ,p_balance_type => l_balance_type_code);
21996 ELSE
21997 NULL;
21998 -- No business flow processing for business flow method of NONE.
21999 END IF;
22000
22001 --
22002 -- call analytical criteria
22003 --
22004
22005 --
22006 -- call description
22007 --
22008
22009 xla_ae_lines_pkg.SetLineDescription(
22010 p_ae_header_id => l_ae_header_id
22011 ,p_description => Description_2 (
22012 p_application_id => p_application_id
22013 , p_ae_header_id => l_ae_header_id
22014 , p_source_1 => p_source_1
22015 )
22016 );
22017
22018
22019 --
22020 -- call ADRs
22021 -- Bug 4922099
22022 --
22023 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
22024 (NVL(l_actual_upg_option, 'N') = 'O') OR
22025 (NVL(l_enc_upg_option, 'N') = 'O')
22026 )
22027 THEN
22028 NULL;
22029 --
22030 --
22031
22032 l_ccid := AcctDerRule_7(
22033 p_application_id => p_application_id
22034 , p_ae_header_id => l_ae_header_id
22035 , p_source_11 => p_source_11
22036 , x_transaction_coa_id => l_adr_transaction_coa_id
22037 , x_accounting_coa_id => l_adr_accounting_coa_id
22038 , x_value_type_code => l_adr_value_type_code
22039 , p_side => 'NA'
22040 );
22041
22042 xla_ae_lines_pkg.set_ccid(
22043 p_code_combination_id => l_ccid
22044 , p_value_type_code => l_adr_value_type_code
22045 , p_transaction_coa_id => l_adr_transaction_coa_id
22046 , p_accounting_coa_id => l_adr_accounting_coa_id
22047 , p_adr_code => 'AP_INVOICE_DIST'
22048 , p_adr_type_code => 'S'
22049 , p_component_type => l_component_type
22050 , p_component_code => l_component_code
22051 , p_component_type_code => l_component_type_code
22052 , p_component_appl_id => l_component_appl_id
22053 , p_amb_context_code => l_amb_context_code
22054 , p_side => 'NA'
22055 );
22056
22057
22058 --
22059 --
22060 END IF;
22061 --
22062 -- Bug 4922099
22063 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
22064 (NVL(l_enc_upg_option, 'N') = 'O')
22065 ) AND
22066 (l_bflow_method_code = 'PRIOR_ENTRY')
22067 )
22068 THEN
22069 IF
22070 --
22071 1 = 2
22072 --
22073 THEN
22074 xla_accounting_err_pkg.build_message
22075 (p_appli_s_name => 'XLA'
22076 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
22077 ,p_token_1 => 'LINE_NUMBER'
22078 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
22082 ,l_component_code
22079 ,p_token_2 => 'LINE_TYPE_NAME'
22080 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
22081 l_component_type
22083 ,l_component_type_code
22084 ,l_component_appl_id
22085 ,l_amb_context_code
22086 ,l_entity_code
22087 ,l_event_class_code
22088 )
22089 ,p_token_3 => 'OWNER'
22090 ,p_value_3 => xla_lookups_pkg.get_meaning(
22091 p_lookup_type => 'XLA_OWNER_TYPE'
22092 ,p_lookup_code => l_component_type_code
22093 )
22094 ,p_token_4 => 'PRODUCT_NAME'
22095 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
22096 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
22097 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
22098 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
22099 ,p_ae_header_id => NULL
22100 );
22101
22102 IF (C_LEVEL_ERROR>= g_log_level) THEN
22103 trace
22104 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
22105 ,p_level => C_LEVEL_ERROR
22106 ,p_module => l_log_module);
22107 END IF;
22108 END IF;
22109 END IF;
22110 --
22111 --
22112 ------------------------------------------------------------------------------------------------
22113 -- 4219869 Business Flow
22114 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
22115 -- Prior Entry. Currently, the following code is always generated.
22116 ------------------------------------------------------------------------------------------------
22117 XLA_AE_LINES_PKG.ValidateCurrentLine;
22118
22119 ------------------------------------------------------------------------------------
22120 -- 4219869 Business Flow
22121 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
22122 ------------------------------------------------------------------------------------
22123 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
22124
22125 ----------------------------------------------------------------------------------
22126 -- 4219869 Business Flow
22127 -- Update journal entry status -- Need to generate this within IF <condition>
22128 ----------------------------------------------------------------------------------
22129 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
22130 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
22131 ,p_balance_type_code => l_balance_type_code
22132 );
22133
22134 -------------------------------------------------------------------------------------------
22135 -- 4262811 - Generate the Accrual Reversal lines
22136 -------------------------------------------------------------------------------------------
22137 BEGIN
22138 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
22139 (g_array_event(p_event_id).array_value_num('header_index'));
22140 IF l_acc_rev_flag IS NULL THEN
22141 l_acc_rev_flag := 'N';
22142 END IF;
22143 EXCEPTION
22144 WHEN OTHERS THEN
22145 l_acc_rev_flag := 'N';
22146 END;
22147 --
22148 IF (l_acc_rev_flag = 'Y') THEN
22149
22150 -- 4645092 ------------------------------------------------------------------------------
22151 -- To allow MPA report to determine if it should generate report process
22152 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
22153 ------------------------------------------------------------------------------------------
22154
22155 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
22156 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
22157 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
22158 -- call ADRs
22159 -- Bug 4922099
22160 --
22161 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
22162 (NVL(l_actual_upg_option, 'N') = 'O') OR
22163 (NVL(l_enc_upg_option, 'N') = 'O')
22164 )
22165 THEN
22166 NULL;
22167 --
22168 --
22169
22170 l_ccid := AcctDerRule_7(
22171 p_application_id => p_application_id
22172 , p_ae_header_id => l_ae_header_id
22176 , x_value_type_code => l_adr_value_type_code
22173 , p_source_11 => p_source_11
22174 , x_transaction_coa_id => l_adr_transaction_coa_id
22175 , x_accounting_coa_id => l_adr_accounting_coa_id
22177 , p_side => 'NA'
22178 );
22179
22180 xla_ae_lines_pkg.set_ccid(
22181 p_code_combination_id => l_ccid
22182 , p_value_type_code => l_adr_value_type_code
22183 , p_transaction_coa_id => l_adr_transaction_coa_id
22184 , p_accounting_coa_id => l_adr_accounting_coa_id
22185 , p_adr_code => 'AP_INVOICE_DIST'
22186 , p_adr_type_code => 'S'
22187 , p_component_type => l_component_type
22188 , p_component_code => l_component_code
22189 , p_component_type_code => l_component_type_code
22190 , p_component_appl_id => l_component_appl_id
22191 , p_amb_context_code => l_amb_context_code
22192 , p_side => 'NA'
22193 );
22194
22195
22196 --
22197 --
22198 END IF;
22199
22200 --
22201 -- Update the line information that should be overwritten
22202 --
22203 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
22204 p_header_num => 1);
22205 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
22206
22207 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
22208
22209 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
22210 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
22211 END IF;
22212
22213 --
22214 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
22215 --
22216 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
22217 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
22218 ELSE
22219 ---------------------------------------------------------------------------------------------------
22220 -- 4262811a Switch Sign
22221 ---------------------------------------------------------------------------------------------------
22222 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
22223 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
22224 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
22225 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
22226 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
22227 -- 5132302
22228 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
22229 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
22230
22231 END IF;
22232
22233 -- 4955764
22234 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
22235 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
22236
22237
22238 XLA_AE_LINES_PKG.ValidateCurrentLine;
22239 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
22240
22241 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
22242 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
22243 ,p_balance_type_code => l_balance_type_code);
22244
22245 END IF;
22246
22247 -----------------------------------------------------------------------------------------
22248 -- 4262811 Multiperiod Accounting
22249 -----------------------------------------------------------------------------------------
22250 -- No MPA option is assigned.
22251
22252
22253 END IF;
22254 END IF;
22255 --
22256
22257 --
22258 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
22259 trace
22260 (p_msg => 'END of AcctLineType_41'
22261 ,p_level => C_LEVEL_PROCEDURE
22262 ,p_module => l_log_module);
22263 END IF;
22264 --
22265 EXCEPTION
22266 WHEN xla_exceptions_pkg.application_exception THEN
22267 RAISE;
22268 WHEN OTHERS THEN
22269 xla_exceptions_pkg.raise_message
22270 (p_location => 'XLA_00200_AAD_S_000006_BC_PKG.AcctLineType_41');
22271 END AcctLineType_41;
22272 --
22273
22274 ---------------------------------------
22275 --
22276 -- PRIVATE FUNCTION
22277 -- AcctLineType_42
22278 --
22279 ---------------------------------------
22280 PROCEDURE AcctLineType_42 (
22281 p_application_id IN NUMBER
22282 ,p_event_id IN NUMBER
22283 ,p_calculate_acctd_flag IN VARCHAR2
22284 ,p_calculate_g_l_flag IN VARCHAR2
22285 ,p_actual_flag IN OUT VARCHAR2
22286 ,p_balance_type_code OUT VARCHAR2
22287 ,p_gain_or_loss_ref OUT VARCHAR2
22288
22289 --Invoice Distribution Description
22290 , p_source_1 IN VARCHAR2
22291 --Invoice Distribution Account
22292 , p_source_11 IN NUMBER
22296 --Purchasing Encumbrance Option
22293 --Invoice Distribution Type
22294 , p_source_15 IN VARCHAR2
22295 , p_source_15_meaning IN VARCHAR2
22297 , p_source_17 IN VARCHAR2
22298 , p_source_17_meaning IN VARCHAR2
22299 --Accounting Reversal Indicator
22300 , p_source_19 IN VARCHAR2
22301 --Distribution Link Type
22302 , p_source_21 IN VARCHAR2
22303 --Allocation to Main Distribution Identifier
22304 , p_source_23 IN NUMBER
22305 --Invoice Identifier
22306 , p_source_24 IN NUMBER
22307 --Business Flow Accounts Payable Application Identifier
22308 , p_source_25 IN NUMBER
22309 --Business Flow Invoice Distribution Type
22310 , p_source_26 IN VARCHAR2
22311 --Business Flow Invoice Entity Code
22312 , p_source_27 IN VARCHAR2
22313 --Business Flow Invoice Distribution Identifier
22314 , p_source_28 IN NUMBER
22315 --Business Flow Invoice Identifier
22316 , p_source_29 IN NUMBER
22317 --Invoice Distribution Identifier
22318 , p_source_30 IN NUMBER
22319 --Payables Encumbrance Upgrade Credit Account
22320 , p_source_31 IN NUMBER
22321 --Payables Encumbrance Upgrade Credit Amount
22322 , p_source_32 IN NUMBER
22323 --Invoice Currency Code
22324 , p_source_33 IN VARCHAR2
22325 --Payables Encumbrance Upgrade Credit Base Amount
22326 , p_source_34 IN NUMBER
22327 --Payables Encumbrance Upgrade Debit Account
22328 , p_source_35 IN NUMBER
22329 --Payables Encumbrance Upgrade Debit Amount
22330 , p_source_36 IN NUMBER
22331 --Payables Encumbrance Upgrade Debit Base Amount
22332 , p_source_37 IN NUMBER
22333 --Payables Encumbrance Upgrade Option
22334 , p_source_38 IN VARCHAR2
22335 --Invoice Exchange Date
22336 , p_source_39 IN DATE
22337 --Invoice Exchange Rate
22338 , p_source_40 IN NUMBER
22339 --Invoice Exchange Rate Type
22340 , p_source_41 IN VARCHAR2
22341 --Deferred Accounting End Date
22342 , p_source_43 IN DATE
22343 --Deferred Accounting Option
22344 , p_source_44 IN VARCHAR2
22345 --Deferred Accounting Start Date
22346 , p_source_45 IN DATE
22347 --Override Accounted Amount Indicator
22348 , p_source_46 IN VARCHAR2
22349 , p_source_46_meaning IN VARCHAR2
22350 --Invoice Supplier Identifier
22351 , p_source_47 IN NUMBER
22352 --Invoice Supplier Site Identifier
22353 , p_source_48 IN NUMBER
22354 --Third Party Type
22355 , p_source_49 IN VARCHAR2
22356 --Parent Reversal Identifier
22357 , p_source_50 IN NUMBER
22358 --Invoice Distribution Tax Line Identifier
22359 , p_source_52 IN NUMBER
22360 --Invoice Distribution Tax Distribution Identifier from Tax
22361 , p_source_53 IN NUMBER
22362 --Invoice Distribution Summary Tax Line Identifier
22363 , p_source_54 IN NUMBER
22364 --Payables Upgrade Credit Encumbrance Type Identifier
22365 , p_source_55 IN NUMBER
22366 --Payables Upgrade Debit Encumbrance Type Identifier
22367 , p_source_56 IN NUMBER
22368 --Invoice Distribution Encumbrance Amount
22369 , p_source_65 IN NUMBER
22370 --Invoice Distribution Encumbrance Ledger Amount
22371 , p_source_66 IN NUMBER
22372 )
22373 IS
22374
22375 l_component_type VARCHAR2(80);
22376 l_component_code VARCHAR2(30);
22377 l_component_type_code VARCHAR2(1);
22378 l_component_appl_id INTEGER;
22379 l_amb_context_code VARCHAR2(30);
22380 l_entity_code VARCHAR2(30);
22381 l_event_class_code VARCHAR2(30);
22382 l_ae_header_id NUMBER;
22383 l_event_type_code VARCHAR2(30);
22384 l_line_definition_code VARCHAR2(30);
22385 l_line_definition_owner_code VARCHAR2(1);
22386 --
22387 -- adr variables
22388 l_segment VARCHAR2(30);
22389 l_ccid NUMBER;
22390 l_adr_transaction_coa_id NUMBER;
22391 l_adr_accounting_coa_id NUMBER;
22392 l_adr_flexfield_segment_code VARCHAR2(30);
22393 l_adr_flex_value_set_id NUMBER;
22394 l_adr_value_type_code VARCHAR2(30);
22395 l_adr_value_combination_id NUMBER;
22396 l_adr_value_segment_code VARCHAR2(30);
22397
22398 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
22399 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
22400 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
22401 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
22402
22403 -- 4262811 Variables ------------------------------------------------------------------------------------------
22404 l_entered_amt_idx NUMBER;
22405 l_accted_amt_idx NUMBER;
22406 l_acc_rev_flag VARCHAR2(1);
22407 l_accrual_line_num NUMBER;
22408 l_tmp_amt NUMBER;
22409 l_acc_rev_natural_side_code VARCHAR2(1);
22410
22411 l_num_entries NUMBER;
22412 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
22413 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
22414 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
22415 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
22416 l_recog_line_1 NUMBER;
22417 l_recog_line_2 NUMBER;
22418
22422
22419 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
22420 l_bflow_applied_to_amt NUMBER; -- 5132302
22421 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
22423 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
22424
22425 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
22426 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
22427
22428 ---------------------------------------------------------------------------------------------------------------
22429
22430
22431 --
22432 -- bulk performance
22433 --
22434 l_balance_type_code VARCHAR2(1);
22435 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
22436 l_log_module VARCHAR2(240);
22437
22438 --
22439 -- Upgrade strategy
22440 --
22441 l_actual_upg_option VARCHAR2(1);
22442 l_enc_upg_option VARCHAR2(1);
22443
22444 --
22445 BEGIN
22446 --
22447 IF g_log_enabled THEN
22448 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_42';
22449 END IF;
22450 --
22451 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
22452
22453 trace
22454 (p_msg => 'BEGIN of AcctLineType_42'
22455 ,p_level => C_LEVEL_PROCEDURE
22456 ,p_module => l_log_module);
22457
22458 END IF;
22459 --
22460 l_component_type := 'AMB_JLT';
22461 l_component_code := 'AP_MISC_EXPENSE_DM_ENC_DR';
22462 l_component_type_code := 'S';
22463 l_component_appl_id := 200;
22464 l_amb_context_code := 'DEFAULT';
22465 l_entity_code := 'AP_INVOICES';
22466 l_event_class_code := 'DEBIT MEMOS';
22467 l_event_type_code := 'DEBIT MEMOS_ALL';
22468 l_line_definition_owner_code := 'S';
22469 l_line_definition_code := 'ENC_DM_ALL';
22470 --
22471 l_balance_type_code := 'E';
22472 l_segment := NULL;
22473 l_ccid := NULL;
22474 l_adr_transaction_coa_id := NULL;
22475 l_adr_accounting_coa_id := NULL;
22476 l_adr_flexfield_segment_code := NULL;
22477 l_adr_flex_value_set_id := NULL;
22478 l_adr_value_type_code := NULL;
22479 l_adr_value_combination_id := NULL;
22480 l_adr_value_segment_code := NULL;
22481
22482 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
22483 l_bflow_class_code := 'AP_INV_ENCUM'; -- 4219869 Business Flow
22484 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
22485 l_budgetary_control_flag := 'Y';
22486
22487 l_bflow_applied_to_amt_idx := NULL; -- 5132302
22488 l_bflow_applied_to_amt := NULL; -- 5132302
22489 l_entered_amt_idx := NULL; -- 4262811
22490 l_accted_amt_idx := NULL; -- 4262811
22491 l_acc_rev_flag := NULL; -- 4262811
22492 l_accrual_line_num := NULL; -- 4262811
22493 l_tmp_amt := NULL; -- 4262811
22494 --
22495
22496 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
22497 l_balance_type_code <> 'B' THEN
22498 IF NVL(p_source_15,'
22499 ') = 'MISCELLANEOUS' AND
22500 NVL(p_source_17,'
22501 ') = 'Y'
22502 THEN
22503
22504 --
22505 XLA_AE_LINES_PKG.SetNewLine;
22506
22507 p_balance_type_code := l_balance_type_code;
22508 -- set the flag so later we will know whether the gain loss line needs to be created
22509
22510 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
22511 p_actual_flag :='A';
22512 END IF;
22513
22514 --
22515 -- bulk performance
22516 --
22517 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
22518 p_header_num => 0); -- 4262811
22519 --
22520 -- set accounting line options
22521 --
22522 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
22523 p_natural_side_code => 'D'
22524 , p_gain_or_loss_flag => 'N'
22525 , p_gl_transfer_mode_code => 'S'
22526 , p_acct_entry_type_code => 'E'
22527 , p_switch_side_flag => 'Y'
22528 , p_merge_duplicate_code => 'N'
22529 );
22530 --
22531 l_acc_rev_natural_side_code := 'C'; -- 4262811
22532 --
22533 --
22534 -- set accounting line type info
22535 --
22536 xla_ae_lines_pkg.SetAcctLineType
22537 (p_component_type => l_component_type
22538 ,p_event_type_code => l_event_type_code
22539 ,p_line_definition_owner_code => l_line_definition_owner_code
22540 ,p_line_definition_code => l_line_definition_code
22541 ,p_accounting_line_code => l_component_code
22542 ,p_accounting_line_type_code => l_component_type_code
22543 ,p_accounting_line_appl_id => l_component_appl_id
22544 ,p_amb_context_code => l_amb_context_code
22545 ,p_entity_code => l_entity_code
22546 ,p_event_class_code => l_event_class_code);
22547 --
22548 -- set accounting class
22549 --
22550 xla_ae_lines_pkg.SetAcctClass(
22551 p_accounting_class_code => 'FREIGHT'
22555 --
22552 , p_ae_header_id => l_ae_header_id
22553 );
22554
22556 -- set rounding class
22557 --
22558 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
22559 'FREIGHT';
22560
22561 --
22562 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
22563 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
22564 --
22565 -- bulk performance
22566 --
22567 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
22568
22569 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
22570 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
22571
22572 -- 4955764
22573 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
22574 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
22575
22576 -- 4458381 Public Sector Enh
22577 XLA_AE_LINES_PKG.g_rec_lines.array_encumbrance_type_id(XLA_AE_LINES_PKG.g_LineNumber) := 1060;
22578 --
22579 -- set accounting attributes for the line type
22580 --
22581 l_entered_amt_idx := 23;
22582 l_accted_amt_idx := 28;
22583 l_bflow_applied_to_amt_idx := NULL; -- 5132302
22584 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
22585 l_rec_acct_attrs.array_char_value(1) := p_source_19;
22586 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
22587 l_rec_acct_attrs.array_num_value(2) :=
22588 xla_ae_sources_pkg.GetSystemSourceNum(
22589 p_source_code => 'XLA_EVENT_APPL_ID'
22590 , p_source_type_code => 'Y'
22591 , p_source_application_id => 602
22592 );
22593 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
22594 l_rec_acct_attrs.array_char_value(3) := p_source_21;
22595 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
22596 l_rec_acct_attrs.array_char_value(4) :=
22597 xla_ae_sources_pkg.GetSystemSourceChar(
22598 p_source_code => 'XLA_ENTITY_CODE'
22599 , p_source_type_code => 'Y'
22600 , p_source_application_id => 602
22601 );
22602 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
22603 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_23);
22604 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
22605 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_24);
22606 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
22607 l_rec_acct_attrs.array_num_value(7) := p_source_25;
22608 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
22609 l_rec_acct_attrs.array_char_value(8) := p_source_26;
22610 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
22611 l_rec_acct_attrs.array_char_value(9) := p_source_27;
22612 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
22613 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_28);
22614 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
22615 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_29);
22616 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
22617 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_30);
22618 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
22619 l_rec_acct_attrs.array_char_value(13) := p_source_21;
22620 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
22621 l_rec_acct_attrs.array_num_value(14) := p_source_31;
22622 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
22623 l_rec_acct_attrs.array_num_value(15) := p_source_32;
22624 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
22625 l_rec_acct_attrs.array_char_value(16) := p_source_33;
22626 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
22627 l_rec_acct_attrs.array_num_value(17) := p_source_34;
22628 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
22629 l_rec_acct_attrs.array_num_value(18) := p_source_35;
22630 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
22631 l_rec_acct_attrs.array_num_value(19) := p_source_36;
22632 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
22633 l_rec_acct_attrs.array_char_value(20) := p_source_33;
22634 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
22635 l_rec_acct_attrs.array_num_value(21) := p_source_37;
22636 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
22637 l_rec_acct_attrs.array_char_value(22) := p_source_38;
22638 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
22639 l_rec_acct_attrs.array_num_value(23) := p_source_65;
22640 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
22641 l_rec_acct_attrs.array_char_value(24) := p_source_33;
22642 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
22643 l_rec_acct_attrs.array_date_value(25) := p_source_39;
22644 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
22645 l_rec_acct_attrs.array_num_value(26) := p_source_40;
22646 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
22647 l_rec_acct_attrs.array_char_value(27) := p_source_41;
22648 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
22649 l_rec_acct_attrs.array_num_value(28) := p_source_66;
22653 l_rec_acct_attrs.array_char_value(30) := p_source_44;
22650 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
22651 l_rec_acct_attrs.array_date_value(29) := p_source_43;
22652 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
22654 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
22655 l_rec_acct_attrs.array_date_value(31) := p_source_45;
22656 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
22657 l_rec_acct_attrs.array_char_value(32) := p_source_46;
22658 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
22659 l_rec_acct_attrs.array_num_value(33) := p_source_47;
22660 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
22661 l_rec_acct_attrs.array_num_value(34) := p_source_48;
22662 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
22663 l_rec_acct_attrs.array_char_value(35) := p_source_49;
22664 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
22665 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_50);
22666 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
22667 l_rec_acct_attrs.array_char_value(37) := p_source_21;
22668 l_rec_acct_attrs.array_acct_attr_code(38) := 'TAX_LINE_REF_ID';
22669 l_rec_acct_attrs.array_num_value(38) := p_source_52;
22670 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_REC_NREC_DIST_REF_ID';
22671 l_rec_acct_attrs.array_num_value(39) := p_source_53;
22672 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_SUMMARY_LINE_REF_ID';
22673 l_rec_acct_attrs.array_num_value(40) := p_source_54;
22674 l_rec_acct_attrs.array_acct_attr_code(41) := 'UPG_CR_ENC_TYPE_ID';
22675 l_rec_acct_attrs.array_num_value(41) := p_source_55;
22676 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_DR_ENC_TYPE_ID';
22677 l_rec_acct_attrs.array_num_value(42) := p_source_56;
22678
22679 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
22680 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
22681
22682 ---------------------------------------------------------------------------------------------------------------
22683 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
22684 ---------------------------------------------------------------------------------------------------------------
22685 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
22686
22687 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
22688 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
22689
22690 IF xla_accounting_cache_pkg.GetValueChar
22691 (p_source_code => 'LEDGER_CATEGORY_CODE'
22692 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
22693 AND l_bflow_method_code = 'PRIOR_ENTRY'
22694 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
22695 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
22696 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
22697 )
22698 THEN
22699 xla_ae_lines_pkg.BflowUpgEntry
22700 (p_business_method_code => l_bflow_method_code
22701 ,p_business_class_code => l_bflow_class_code
22702 ,p_balance_type => l_balance_type_code);
22703 ELSE
22704 NULL;
22705 -- No business flow processing for business flow method of NONE.
22706 END IF;
22707
22708 --
22709 -- call analytical criteria
22710 --
22711
22712 --
22713 -- call description
22714 --
22715
22716 xla_ae_lines_pkg.SetLineDescription(
22717 p_ae_header_id => l_ae_header_id
22718 ,p_description => Description_2 (
22719 p_application_id => p_application_id
22720 , p_ae_header_id => l_ae_header_id
22721 , p_source_1 => p_source_1
22722 )
22723 );
22724
22725
22726 --
22727 -- call ADRs
22728 -- Bug 4922099
22729 --
22730 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
22731 (NVL(l_actual_upg_option, 'N') = 'O') OR
22732 (NVL(l_enc_upg_option, 'N') = 'O')
22733 )
22734 THEN
22735 NULL;
22736 --
22737 --
22738
22739 l_ccid := AcctDerRule_7(
22740 p_application_id => p_application_id
22741 , p_ae_header_id => l_ae_header_id
22742 , p_source_11 => p_source_11
22743 , x_transaction_coa_id => l_adr_transaction_coa_id
22744 , x_accounting_coa_id => l_adr_accounting_coa_id
22745 , x_value_type_code => l_adr_value_type_code
22746 , p_side => 'NA'
22747 );
22748
22749 xla_ae_lines_pkg.set_ccid(
22750 p_code_combination_id => l_ccid
22751 , p_value_type_code => l_adr_value_type_code
22752 , p_transaction_coa_id => l_adr_transaction_coa_id
22753 , p_accounting_coa_id => l_adr_accounting_coa_id
22754 , p_adr_code => 'AP_INVOICE_DIST'
22755 , p_adr_type_code => 'S'
22756 , p_component_type => l_component_type
22757 , p_component_code => l_component_code
22758 , p_component_type_code => l_component_type_code
22762 );
22759 , p_component_appl_id => l_component_appl_id
22760 , p_amb_context_code => l_amb_context_code
22761 , p_side => 'NA'
22763
22764
22765 --
22766 --
22767 END IF;
22768 --
22769 -- Bug 4922099
22770 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
22771 (NVL(l_enc_upg_option, 'N') = 'O')
22772 ) AND
22773 (l_bflow_method_code = 'PRIOR_ENTRY')
22774 )
22775 THEN
22776 IF
22777 --
22778 1 = 2
22779 --
22780 THEN
22781 xla_accounting_err_pkg.build_message
22782 (p_appli_s_name => 'XLA'
22783 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
22784 ,p_token_1 => 'LINE_NUMBER'
22785 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
22786 ,p_token_2 => 'LINE_TYPE_NAME'
22787 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
22788 l_component_type
22789 ,l_component_code
22790 ,l_component_type_code
22791 ,l_component_appl_id
22792 ,l_amb_context_code
22793 ,l_entity_code
22794 ,l_event_class_code
22795 )
22796 ,p_token_3 => 'OWNER'
22797 ,p_value_3 => xla_lookups_pkg.get_meaning(
22798 p_lookup_type => 'XLA_OWNER_TYPE'
22799 ,p_lookup_code => l_component_type_code
22800 )
22801 ,p_token_4 => 'PRODUCT_NAME'
22802 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
22803 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
22804 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
22805 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
22806 ,p_ae_header_id => NULL
22807 );
22808
22809 IF (C_LEVEL_ERROR>= g_log_level) THEN
22810 trace
22811 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
22812 ,p_level => C_LEVEL_ERROR
22813 ,p_module => l_log_module);
22814 END IF;
22815 END IF;
22816 END IF;
22817 --
22818 --
22819 ------------------------------------------------------------------------------------------------
22820 -- 4219869 Business Flow
22821 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
22822 -- Prior Entry. Currently, the following code is always generated.
22823 ------------------------------------------------------------------------------------------------
22824 XLA_AE_LINES_PKG.ValidateCurrentLine;
22825
22826 ------------------------------------------------------------------------------------
22827 -- 4219869 Business Flow
22828 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
22829 ------------------------------------------------------------------------------------
22830 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
22831
22832 ----------------------------------------------------------------------------------
22833 -- 4219869 Business Flow
22834 -- Update journal entry status -- Need to generate this within IF <condition>
22835 ----------------------------------------------------------------------------------
22836 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
22837 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
22838 ,p_balance_type_code => l_balance_type_code
22839 );
22840
22841 -------------------------------------------------------------------------------------------
22842 -- 4262811 - Generate the Accrual Reversal lines
22843 -------------------------------------------------------------------------------------------
22844 BEGIN
22845 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
22846 (g_array_event(p_event_id).array_value_num('header_index'));
22847 IF l_acc_rev_flag IS NULL THEN
22848 l_acc_rev_flag := 'N';
22849 END IF;
22850 EXCEPTION
22851 WHEN OTHERS THEN
22852 l_acc_rev_flag := 'N';
22853 END;
22854 --
22855 IF (l_acc_rev_flag = 'Y') THEN
22856
22860 ------------------------------------------------------------------------------------------
22857 -- 4645092 ------------------------------------------------------------------------------
22858 -- To allow MPA report to determine if it should generate report process
22859 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
22861
22862 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
22863 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
22864 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
22865 -- call ADRs
22866 -- Bug 4922099
22867 --
22868 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
22869 (NVL(l_actual_upg_option, 'N') = 'O') OR
22870 (NVL(l_enc_upg_option, 'N') = 'O')
22871 )
22872 THEN
22873 NULL;
22874 --
22875 --
22876
22877 l_ccid := AcctDerRule_7(
22878 p_application_id => p_application_id
22879 , p_ae_header_id => l_ae_header_id
22880 , p_source_11 => p_source_11
22881 , x_transaction_coa_id => l_adr_transaction_coa_id
22882 , x_accounting_coa_id => l_adr_accounting_coa_id
22883 , x_value_type_code => l_adr_value_type_code
22884 , p_side => 'NA'
22885 );
22886
22887 xla_ae_lines_pkg.set_ccid(
22888 p_code_combination_id => l_ccid
22889 , p_value_type_code => l_adr_value_type_code
22890 , p_transaction_coa_id => l_adr_transaction_coa_id
22891 , p_accounting_coa_id => l_adr_accounting_coa_id
22892 , p_adr_code => 'AP_INVOICE_DIST'
22893 , p_adr_type_code => 'S'
22894 , p_component_type => l_component_type
22895 , p_component_code => l_component_code
22896 , p_component_type_code => l_component_type_code
22897 , p_component_appl_id => l_component_appl_id
22898 , p_amb_context_code => l_amb_context_code
22899 , p_side => 'NA'
22900 );
22901
22902
22903 --
22904 --
22905 END IF;
22906
22907 --
22908 -- Update the line information that should be overwritten
22909 --
22910 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
22911 p_header_num => 1);
22912 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
22913
22914 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
22915
22916 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
22917 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
22918 END IF;
22919
22920 --
22921 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
22922 --
22923 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
22924 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
22925 ELSE
22926 ---------------------------------------------------------------------------------------------------
22927 -- 4262811a Switch Sign
22928 ---------------------------------------------------------------------------------------------------
22929 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
22930 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
22931 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
22932 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
22933 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
22934 -- 5132302
22935 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
22936 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
22937
22938 END IF;
22939
22940 -- 4955764
22941 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
22942 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
22943
22944
22945 XLA_AE_LINES_PKG.ValidateCurrentLine;
22946 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
22947
22948 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
22949 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
22950 ,p_balance_type_code => l_balance_type_code);
22951
22952 END IF;
22953
22954 -----------------------------------------------------------------------------------------
22955 -- 4262811 Multiperiod Accounting
22956 -----------------------------------------------------------------------------------------
22957 -- No MPA option is assigned.
22958
22959
22960 END IF;
22961 END IF;
22962 --
22963
22964 --
22965 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
22966 trace
22967 (p_msg => 'END of AcctLineType_42'
22968 ,p_level => C_LEVEL_PROCEDURE
22969 ,p_module => l_log_module);
22970 END IF;
22971 --
22972 EXCEPTION
22973 WHEN xla_exceptions_pkg.application_exception THEN
22977 (p_location => 'XLA_00200_AAD_S_000006_BC_PKG.AcctLineType_42');
22974 RAISE;
22975 WHEN OTHERS THEN
22976 xla_exceptions_pkg.raise_message
22978 END AcctLineType_42;
22979 --
22980
22981 ---------------------------------------
22982 --
22983 -- PRIVATE FUNCTION
22984 -- AcctLineType_43
22985 --
22986 ---------------------------------------
22987 PROCEDURE AcctLineType_43 (
22988 p_application_id IN NUMBER
22989 ,p_event_id IN NUMBER
22990 ,p_calculate_acctd_flag IN VARCHAR2
22991 ,p_calculate_g_l_flag IN VARCHAR2
22992 ,p_actual_flag IN OUT VARCHAR2
22993 ,p_balance_type_code OUT VARCHAR2
22994 ,p_gain_or_loss_ref OUT VARCHAR2
22995
22996 --Invoice Distribution Description
22997 , p_source_1 IN VARCHAR2
22998 --Invoice Distribution Account
22999 , p_source_11 IN NUMBER
23000 --Invoice Distribution Type
23001 , p_source_15 IN VARCHAR2
23002 , p_source_15_meaning IN VARCHAR2
23003 --Purchasing Encumbrance Option
23004 , p_source_17 IN VARCHAR2
23005 , p_source_17_meaning IN VARCHAR2
23006 --Accounting Reversal Indicator
23007 , p_source_19 IN VARCHAR2
23008 --Distribution Link Type
23009 , p_source_21 IN VARCHAR2
23010 --Allocation to Main Distribution Identifier
23011 , p_source_23 IN NUMBER
23012 --Invoice Identifier
23013 , p_source_24 IN NUMBER
23014 --Business Flow Accounts Payable Application Identifier
23015 , p_source_25 IN NUMBER
23016 --Business Flow Invoice Distribution Type
23017 , p_source_26 IN VARCHAR2
23018 --Business Flow Invoice Entity Code
23019 , p_source_27 IN VARCHAR2
23020 --Business Flow Invoice Distribution Identifier
23021 , p_source_28 IN NUMBER
23022 --Business Flow Invoice Identifier
23023 , p_source_29 IN NUMBER
23024 --Invoice Distribution Identifier
23025 , p_source_30 IN NUMBER
23026 --Payables Encumbrance Upgrade Credit Account
23027 , p_source_31 IN NUMBER
23028 --Payables Encumbrance Upgrade Credit Amount
23029 , p_source_32 IN NUMBER
23030 --Invoice Currency Code
23031 , p_source_33 IN VARCHAR2
23032 --Payables Encumbrance Upgrade Credit Base Amount
23033 , p_source_34 IN NUMBER
23034 --Payables Encumbrance Upgrade Debit Account
23035 , p_source_35 IN NUMBER
23036 --Payables Encumbrance Upgrade Debit Amount
23037 , p_source_36 IN NUMBER
23038 --Payables Encumbrance Upgrade Debit Base Amount
23039 , p_source_37 IN NUMBER
23040 --Payables Encumbrance Upgrade Option
23041 , p_source_38 IN VARCHAR2
23042 --Invoice Exchange Date
23043 , p_source_39 IN DATE
23044 --Invoice Exchange Rate
23045 , p_source_40 IN NUMBER
23046 --Invoice Exchange Rate Type
23047 , p_source_41 IN VARCHAR2
23048 --Deferred Accounting End Date
23049 , p_source_43 IN DATE
23050 --Deferred Accounting Option
23051 , p_source_44 IN VARCHAR2
23052 --Deferred Accounting Start Date
23053 , p_source_45 IN DATE
23054 --Override Accounted Amount Indicator
23055 , p_source_46 IN VARCHAR2
23056 , p_source_46_meaning IN VARCHAR2
23057 --Invoice Supplier Identifier
23058 , p_source_47 IN NUMBER
23059 --Invoice Supplier Site Identifier
23060 , p_source_48 IN NUMBER
23061 --Third Party Type
23062 , p_source_49 IN VARCHAR2
23063 --Parent Reversal Identifier
23064 , p_source_50 IN NUMBER
23065 --Invoice Distribution Statistical Amount
23066 , p_source_51 IN NUMBER
23067 --Invoice Distribution Tax Line Identifier
23068 , p_source_52 IN NUMBER
23069 --Invoice Distribution Tax Distribution Identifier from Tax
23070 , p_source_53 IN NUMBER
23071 --Invoice Distribution Summary Tax Line Identifier
23072 , p_source_54 IN NUMBER
23073 --Payables Upgrade Credit Encumbrance Type Identifier
23074 , p_source_55 IN NUMBER
23075 --Payables Upgrade Debit Encumbrance Type Identifier
23076 , p_source_56 IN NUMBER
23077 --Invoice Distribution Amount
23078 , p_source_57 IN NUMBER
23079 --Invoice Distribution Encumbrance Amount
23080 , p_source_65 IN NUMBER
23081 --Invoice Distribution Encumbrance Ledger Amount
23082 , p_source_66 IN NUMBER
23083 )
23084 IS
23085
23086 l_component_type VARCHAR2(80);
23087 l_component_code VARCHAR2(30);
23088 l_component_type_code VARCHAR2(1);
23089 l_component_appl_id INTEGER;
23090 l_amb_context_code VARCHAR2(30);
23091 l_entity_code VARCHAR2(30);
23092 l_event_class_code VARCHAR2(30);
23093 l_ae_header_id NUMBER;
23094 l_event_type_code VARCHAR2(30);
23095 l_line_definition_code VARCHAR2(30);
23096 l_line_definition_owner_code VARCHAR2(1);
23097 --
23098 -- adr variables
23099 l_segment VARCHAR2(30);
23100 l_ccid NUMBER;
23101 l_adr_transaction_coa_id NUMBER;
23102 l_adr_accounting_coa_id NUMBER;
23103 l_adr_flexfield_segment_code VARCHAR2(30);
23104 l_adr_flex_value_set_id NUMBER;
23105 l_adr_value_type_code VARCHAR2(30);
23106 l_adr_value_combination_id NUMBER;
23107 l_adr_value_segment_code VARCHAR2(30);
23108
23112 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
23109 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
23110 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
23111 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
23113
23114 -- 4262811 Variables ------------------------------------------------------------------------------------------
23115 l_entered_amt_idx NUMBER;
23116 l_accted_amt_idx NUMBER;
23117 l_acc_rev_flag VARCHAR2(1);
23118 l_accrual_line_num NUMBER;
23119 l_tmp_amt NUMBER;
23120 l_acc_rev_natural_side_code VARCHAR2(1);
23121
23122 l_num_entries NUMBER;
23123 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
23124 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
23125 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
23126 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
23127 l_recog_line_1 NUMBER;
23128 l_recog_line_2 NUMBER;
23129
23130 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
23131 l_bflow_applied_to_amt NUMBER; -- 5132302
23132 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
23133
23134 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
23135
23136 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
23137 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
23138
23139 ---------------------------------------------------------------------------------------------------------------
23140
23141
23142 --
23143 -- bulk performance
23144 --
23145 l_balance_type_code VARCHAR2(1);
23146 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
23147 l_log_module VARCHAR2(240);
23148
23149 --
23150 -- Upgrade strategy
23151 --
23152 l_actual_upg_option VARCHAR2(1);
23153 l_enc_upg_option VARCHAR2(1);
23154
23155 --
23156 BEGIN
23157 --
23158 IF g_log_enabled THEN
23159 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_43';
23160 END IF;
23161 --
23162 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
23163
23164 trace
23165 (p_msg => 'BEGIN of AcctLineType_43'
23166 ,p_level => C_LEVEL_PROCEDURE
23167 ,p_module => l_log_module);
23168
23169 END IF;
23170 --
23171 l_component_type := 'AMB_JLT';
23172 l_component_code := 'AP_MISC_EXPENSE_INV_ENC_DR';
23173 l_component_type_code := 'S';
23174 l_component_appl_id := 200;
23175 l_amb_context_code := 'DEFAULT';
23176 l_entity_code := 'AP_INVOICES';
23177 l_event_class_code := 'INVOICES';
23178 l_event_type_code := 'INVOICES_ALL';
23179 l_line_definition_owner_code := 'S';
23180 l_line_definition_code := 'ENC_INVOICES_ALL';
23181 --
23182 l_balance_type_code := 'E';
23183 l_segment := NULL;
23184 l_ccid := NULL;
23185 l_adr_transaction_coa_id := NULL;
23186 l_adr_accounting_coa_id := NULL;
23187 l_adr_flexfield_segment_code := NULL;
23188 l_adr_flex_value_set_id := NULL;
23189 l_adr_value_type_code := NULL;
23190 l_adr_value_combination_id := NULL;
23191 l_adr_value_segment_code := NULL;
23192
23193 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
23194 l_bflow_class_code := 'AP_INV_ENCUM'; -- 4219869 Business Flow
23195 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
23196 l_budgetary_control_flag := 'Y';
23197
23198 l_bflow_applied_to_amt_idx := NULL; -- 5132302
23199 l_bflow_applied_to_amt := NULL; -- 5132302
23200 l_entered_amt_idx := NULL; -- 4262811
23201 l_accted_amt_idx := NULL; -- 4262811
23202 l_acc_rev_flag := NULL; -- 4262811
23203 l_accrual_line_num := NULL; -- 4262811
23204 l_tmp_amt := NULL; -- 4262811
23205 --
23206
23207 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
23208 l_balance_type_code <> 'B' THEN
23209 IF NVL(p_source_15,'
23210 ') = 'MISCELLANEOUS' AND
23211 NVL(p_source_17,'
23212 ') = 'Y'
23213 THEN
23214
23215 --
23216 XLA_AE_LINES_PKG.SetNewLine;
23217
23218 p_balance_type_code := l_balance_type_code;
23219 -- set the flag so later we will know whether the gain loss line needs to be created
23220
23221 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
23222 p_actual_flag :='A';
23223 END IF;
23224
23225 --
23226 -- bulk performance
23227 --
23228 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
23229 p_header_num => 0); -- 4262811
23230 --
23231 -- set accounting line options
23232 --
23233 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
23234 p_natural_side_code => 'D'
23235 , p_gain_or_loss_flag => 'N'
23236 , p_gl_transfer_mode_code => 'S'
23237 , p_acct_entry_type_code => 'E'
23238 , p_switch_side_flag => 'Y'
23239 , p_merge_duplicate_code => 'N'
23243 --
23240 );
23241 --
23242 l_acc_rev_natural_side_code := 'C'; -- 4262811
23244 --
23245 -- set accounting line type info
23246 --
23247 xla_ae_lines_pkg.SetAcctLineType
23248 (p_component_type => l_component_type
23249 ,p_event_type_code => l_event_type_code
23250 ,p_line_definition_owner_code => l_line_definition_owner_code
23251 ,p_line_definition_code => l_line_definition_code
23252 ,p_accounting_line_code => l_component_code
23253 ,p_accounting_line_type_code => l_component_type_code
23254 ,p_accounting_line_appl_id => l_component_appl_id
23255 ,p_amb_context_code => l_amb_context_code
23256 ,p_entity_code => l_entity_code
23257 ,p_event_class_code => l_event_class_code);
23258 --
23259 -- set accounting class
23260 --
23261 xla_ae_lines_pkg.SetAcctClass(
23262 p_accounting_class_code => 'MISCELLANEOUS EXPENSE'
23263 , p_ae_header_id => l_ae_header_id
23264 );
23265
23266 --
23267 -- set rounding class
23268 --
23269 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
23270 'MISCELLANEOUS EXPENSE';
23271
23272 --
23273 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
23274 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
23275 --
23276 -- bulk performance
23277 --
23278 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
23279
23280 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
23281 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
23282
23283 -- 4955764
23284 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
23285 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
23286
23287 -- 4458381 Public Sector Enh
23288 XLA_AE_LINES_PKG.g_rec_lines.array_encumbrance_type_id(XLA_AE_LINES_PKG.g_LineNumber) := 1060;
23289 --
23290 -- set accounting attributes for the line type
23291 --
23292 l_entered_amt_idx := 24;
23293 l_accted_amt_idx := 29;
23294 l_bflow_applied_to_amt_idx := 7; -- 5132302
23295 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
23296 l_rec_acct_attrs.array_char_value(1) := p_source_19;
23297 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
23298 l_rec_acct_attrs.array_num_value(2) :=
23299 xla_ae_sources_pkg.GetSystemSourceNum(
23300 p_source_code => 'XLA_EVENT_APPL_ID'
23301 , p_source_type_code => 'Y'
23302 , p_source_application_id => 602
23303 );
23304 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
23305 l_rec_acct_attrs.array_char_value(3) := p_source_21;
23306 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
23307 l_rec_acct_attrs.array_char_value(4) :=
23308 xla_ae_sources_pkg.GetSystemSourceChar(
23309 p_source_code => 'XLA_ENTITY_CODE'
23310 , p_source_type_code => 'Y'
23311 , p_source_application_id => 602
23312 );
23313 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
23314 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_23);
23315 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
23316 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_24);
23317 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_AMOUNT';
23318 l_rec_acct_attrs.array_num_value(7) := p_source_57;
23319 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_APPLICATION_ID';
23320 l_rec_acct_attrs.array_num_value(8) := p_source_25;
23321 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_DISTRIBUTION_TYPE';
23322 l_rec_acct_attrs.array_char_value(9) := p_source_26;
23323 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_ENTITY_CODE';
23324 l_rec_acct_attrs.array_char_value(10) := p_source_27;
23325 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_DIST_ID';
23326 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_28);
23327 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
23328 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_29);
23329 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
23330 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_30);
23331 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_TYPE';
23332 l_rec_acct_attrs.array_char_value(14) := p_source_21;
23333 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
23334 l_rec_acct_attrs.array_num_value(15) := p_source_31;
23335 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
23336 l_rec_acct_attrs.array_num_value(16) := p_source_32;
23337 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
23338 l_rec_acct_attrs.array_char_value(17) := p_source_33;
23339 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
23340 l_rec_acct_attrs.array_num_value(18) := p_source_34;
23341 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_CCID';
23342 l_rec_acct_attrs.array_num_value(19) := p_source_35;
23346 l_rec_acct_attrs.array_char_value(21) := p_source_33;
23343 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_AMT';
23344 l_rec_acct_attrs.array_num_value(20) := p_source_36;
23345 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_CURR';
23347 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_LEDGER_AMT';
23348 l_rec_acct_attrs.array_num_value(22) := p_source_37;
23349 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_OPTION';
23350 l_rec_acct_attrs.array_char_value(23) := p_source_38;
23351 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_AMOUNT';
23352 l_rec_acct_attrs.array_num_value(24) := p_source_65;
23353 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_CODE';
23354 l_rec_acct_attrs.array_char_value(25) := p_source_33;
23355 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_DATE';
23356 l_rec_acct_attrs.array_date_value(26) := p_source_39;
23357 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE';
23358 l_rec_acct_attrs.array_num_value(27) := p_source_40;
23359 l_rec_acct_attrs.array_acct_attr_code(28) := 'EXCHANGE_RATE_TYPE';
23360 l_rec_acct_attrs.array_char_value(28) := p_source_41;
23361 l_rec_acct_attrs.array_acct_attr_code(29) := 'LEDGER_AMOUNT';
23362 l_rec_acct_attrs.array_num_value(29) := p_source_66;
23363 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_END_DATE';
23364 l_rec_acct_attrs.array_date_value(30) := p_source_43;
23365 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_OPTION';
23366 l_rec_acct_attrs.array_char_value(31) := p_source_44;
23367 l_rec_acct_attrs.array_acct_attr_code(32) := 'MULTIPERIOD_START_DATE';
23368 l_rec_acct_attrs.array_date_value(32) := p_source_45;
23369 l_rec_acct_attrs.array_acct_attr_code(33) := 'OVERRIDE_ACCTD_AMT_FLAG';
23370 l_rec_acct_attrs.array_char_value(33) := p_source_46;
23371 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_ID';
23372 l_rec_acct_attrs.array_num_value(34) := p_source_47;
23373 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_SITE_ID';
23374 l_rec_acct_attrs.array_num_value(35) := p_source_48;
23375 l_rec_acct_attrs.array_acct_attr_code(36) := 'PARTY_TYPE';
23376 l_rec_acct_attrs.array_char_value(36) := p_source_49;
23377 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_ID1';
23378 l_rec_acct_attrs.array_num_value(37) := to_char(p_source_50);
23379 l_rec_acct_attrs.array_acct_attr_code(38) := 'REVERSED_DISTRIBUTION_TYPE';
23380 l_rec_acct_attrs.array_char_value(38) := p_source_21;
23381 l_rec_acct_attrs.array_acct_attr_code(39) := 'STATISTICAL_AMOUNT';
23382 l_rec_acct_attrs.array_num_value(39) := p_source_51;
23383 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_LINE_REF_ID';
23384 l_rec_acct_attrs.array_num_value(40) := p_source_52;
23385 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_REC_NREC_DIST_REF_ID';
23386 l_rec_acct_attrs.array_num_value(41) := p_source_53;
23387 l_rec_acct_attrs.array_acct_attr_code(42) := 'TAX_SUMMARY_LINE_REF_ID';
23388 l_rec_acct_attrs.array_num_value(42) := p_source_54;
23389 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_CR_ENC_TYPE_ID';
23390 l_rec_acct_attrs.array_num_value(43) := p_source_55;
23391 l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
23392 l_rec_acct_attrs.array_num_value(44) := p_source_56;
23393
23394 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
23395 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
23396
23397 ---------------------------------------------------------------------------------------------------------------
23398 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
23399 ---------------------------------------------------------------------------------------------------------------
23400 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
23401
23402 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
23403 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
23404
23405 IF xla_accounting_cache_pkg.GetValueChar
23406 (p_source_code => 'LEDGER_CATEGORY_CODE'
23407 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
23408 AND l_bflow_method_code = 'PRIOR_ENTRY'
23409 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
23410 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
23411 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
23412 )
23413 THEN
23414 xla_ae_lines_pkg.BflowUpgEntry
23415 (p_business_method_code => l_bflow_method_code
23416 ,p_business_class_code => l_bflow_class_code
23417 ,p_balance_type => l_balance_type_code);
23418 ELSE
23419 NULL;
23420 -- No business flow processing for business flow method of NONE.
23421 END IF;
23422
23423 --
23424 -- call analytical criteria
23425 --
23426
23427 --
23428 -- call description
23429 --
23430
23431 xla_ae_lines_pkg.SetLineDescription(
23432 p_ae_header_id => l_ae_header_id
23433 ,p_description => Description_2 (
23434 p_application_id => p_application_id
23435 , p_ae_header_id => l_ae_header_id
23436 , p_source_1 => p_source_1
23437 )
23438 );
23439
23440
23441 --
23445 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
23442 -- call ADRs
23443 -- Bug 4922099
23444 --
23446 (NVL(l_actual_upg_option, 'N') = 'O') OR
23447 (NVL(l_enc_upg_option, 'N') = 'O')
23448 )
23449 THEN
23450 NULL;
23451 --
23452 --
23453
23454 l_ccid := AcctDerRule_7(
23455 p_application_id => p_application_id
23456 , p_ae_header_id => l_ae_header_id
23457 , p_source_11 => p_source_11
23458 , x_transaction_coa_id => l_adr_transaction_coa_id
23459 , x_accounting_coa_id => l_adr_accounting_coa_id
23460 , x_value_type_code => l_adr_value_type_code
23461 , p_side => 'NA'
23462 );
23463
23464 xla_ae_lines_pkg.set_ccid(
23465 p_code_combination_id => l_ccid
23466 , p_value_type_code => l_adr_value_type_code
23467 , p_transaction_coa_id => l_adr_transaction_coa_id
23468 , p_accounting_coa_id => l_adr_accounting_coa_id
23469 , p_adr_code => 'AP_INVOICE_DIST'
23470 , p_adr_type_code => 'S'
23471 , p_component_type => l_component_type
23472 , p_component_code => l_component_code
23473 , p_component_type_code => l_component_type_code
23474 , p_component_appl_id => l_component_appl_id
23475 , p_amb_context_code => l_amb_context_code
23476 , p_side => 'NA'
23477 );
23478
23479
23480 --
23481 --
23482 END IF;
23483 --
23484 -- Bug 4922099
23485 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
23486 (NVL(l_enc_upg_option, 'N') = 'O')
23487 ) AND
23488 (l_bflow_method_code = 'PRIOR_ENTRY')
23489 )
23490 THEN
23491 IF
23492 --
23493 1 = 2
23494 --
23495 THEN
23496 xla_accounting_err_pkg.build_message
23497 (p_appli_s_name => 'XLA'
23498 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
23499 ,p_token_1 => 'LINE_NUMBER'
23500 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
23501 ,p_token_2 => 'LINE_TYPE_NAME'
23502 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
23503 l_component_type
23504 ,l_component_code
23505 ,l_component_type_code
23506 ,l_component_appl_id
23507 ,l_amb_context_code
23508 ,l_entity_code
23509 ,l_event_class_code
23510 )
23511 ,p_token_3 => 'OWNER'
23512 ,p_value_3 => xla_lookups_pkg.get_meaning(
23513 p_lookup_type => 'XLA_OWNER_TYPE'
23514 ,p_lookup_code => l_component_type_code
23515 )
23516 ,p_token_4 => 'PRODUCT_NAME'
23517 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
23518 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
23519 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
23520 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
23521 ,p_ae_header_id => NULL
23522 );
23523
23524 IF (C_LEVEL_ERROR>= g_log_level) THEN
23525 trace
23526 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
23527 ,p_level => C_LEVEL_ERROR
23528 ,p_module => l_log_module);
23529 END IF;
23530 END IF;
23531 END IF;
23532 --
23533 --
23534 ------------------------------------------------------------------------------------------------
23535 -- 4219869 Business Flow
23536 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
23537 -- Prior Entry. Currently, the following code is always generated.
23538 ------------------------------------------------------------------------------------------------
23539 XLA_AE_LINES_PKG.ValidateCurrentLine;
23540
23541 ------------------------------------------------------------------------------------
23542 -- 4219869 Business Flow
23543 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
23544 ------------------------------------------------------------------------------------
23548 -- 4219869 Business Flow
23545 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
23546
23547 ----------------------------------------------------------------------------------
23549 -- Update journal entry status -- Need to generate this within IF <condition>
23550 ----------------------------------------------------------------------------------
23551 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
23552 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
23553 ,p_balance_type_code => l_balance_type_code
23554 );
23555
23556 -------------------------------------------------------------------------------------------
23557 -- 4262811 - Generate the Accrual Reversal lines
23558 -------------------------------------------------------------------------------------------
23559 BEGIN
23560 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
23561 (g_array_event(p_event_id).array_value_num('header_index'));
23562 IF l_acc_rev_flag IS NULL THEN
23563 l_acc_rev_flag := 'N';
23564 END IF;
23565 EXCEPTION
23566 WHEN OTHERS THEN
23567 l_acc_rev_flag := 'N';
23568 END;
23569 --
23570 IF (l_acc_rev_flag = 'Y') THEN
23571
23572 -- 4645092 ------------------------------------------------------------------------------
23573 -- To allow MPA report to determine if it should generate report process
23574 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
23575 ------------------------------------------------------------------------------------------
23576
23577 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
23578 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
23579 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
23580 -- call ADRs
23581 -- Bug 4922099
23582 --
23583 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
23584 (NVL(l_actual_upg_option, 'N') = 'O') OR
23585 (NVL(l_enc_upg_option, 'N') = 'O')
23586 )
23587 THEN
23588 NULL;
23589 --
23590 --
23591
23592 l_ccid := AcctDerRule_7(
23593 p_application_id => p_application_id
23594 , p_ae_header_id => l_ae_header_id
23595 , p_source_11 => p_source_11
23596 , x_transaction_coa_id => l_adr_transaction_coa_id
23597 , x_accounting_coa_id => l_adr_accounting_coa_id
23598 , x_value_type_code => l_adr_value_type_code
23599 , p_side => 'NA'
23600 );
23601
23602 xla_ae_lines_pkg.set_ccid(
23603 p_code_combination_id => l_ccid
23604 , p_value_type_code => l_adr_value_type_code
23605 , p_transaction_coa_id => l_adr_transaction_coa_id
23606 , p_accounting_coa_id => l_adr_accounting_coa_id
23607 , p_adr_code => 'AP_INVOICE_DIST'
23608 , p_adr_type_code => 'S'
23609 , p_component_type => l_component_type
23610 , p_component_code => l_component_code
23611 , p_component_type_code => l_component_type_code
23612 , p_component_appl_id => l_component_appl_id
23613 , p_amb_context_code => l_amb_context_code
23614 , p_side => 'NA'
23615 );
23616
23617
23618 --
23619 --
23620 END IF;
23621
23622 --
23623 -- Update the line information that should be overwritten
23624 --
23625 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
23626 p_header_num => 1);
23627 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
23628
23629 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
23630
23631 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
23632 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
23633 END IF;
23634
23635 --
23636 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
23637 --
23638 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
23639 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
23640 ELSE
23641 ---------------------------------------------------------------------------------------------------
23642 -- 4262811a Switch Sign
23643 ---------------------------------------------------------------------------------------------------
23644 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
23645 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
23646 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
23647 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
23648 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
23649 -- 5132302
23650 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
23651 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
23652
23653 END IF;
23654
23655 -- 4955764
23659
23656 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
23657 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
23658
23660 XLA_AE_LINES_PKG.ValidateCurrentLine;
23661 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
23662
23663 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
23664 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
23665 ,p_balance_type_code => l_balance_type_code);
23666
23667 END IF;
23668
23669 -----------------------------------------------------------------------------------------
23670 -- 4262811 Multiperiod Accounting
23671 -----------------------------------------------------------------------------------------
23672 -- No MPA option is assigned.
23673
23674
23675 END IF;
23676 END IF;
23677 --
23678
23679 --
23680 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
23681 trace
23682 (p_msg => 'END of AcctLineType_43'
23683 ,p_level => C_LEVEL_PROCEDURE
23684 ,p_module => l_log_module);
23685 END IF;
23686 --
23687 EXCEPTION
23688 WHEN xla_exceptions_pkg.application_exception THEN
23689 RAISE;
23690 WHEN OTHERS THEN
23691 xla_exceptions_pkg.raise_message
23692 (p_location => 'XLA_00200_AAD_S_000006_BC_PKG.AcctLineType_43');
23693 END AcctLineType_43;
23694 --
23695
23696 ---------------------------------------
23697 --
23698 -- PRIVATE FUNCTION
23699 -- AcctLineType_44
23700 --
23701 ---------------------------------------
23702 PROCEDURE AcctLineType_44 (
23703 p_application_id IN NUMBER
23704 ,p_event_id IN NUMBER
23705 ,p_calculate_acctd_flag IN VARCHAR2
23706 ,p_calculate_g_l_flag IN VARCHAR2
23707 ,p_actual_flag IN OUT VARCHAR2
23708 ,p_balance_type_code OUT VARCHAR2
23709 ,p_gain_or_loss_ref OUT VARCHAR2
23710
23711 --Invoice Distribution Description
23712 , p_source_1 IN VARCHAR2
23713 --Invoice Distribution Account
23714 , p_source_11 IN NUMBER
23715 --Invoice Distribution Type
23716 , p_source_15 IN VARCHAR2
23717 , p_source_15_meaning IN VARCHAR2
23718 --Purchasing Encumbrance Option
23719 , p_source_17 IN VARCHAR2
23720 , p_source_17_meaning IN VARCHAR2
23721 --Accounting Reversal Indicator
23722 , p_source_19 IN VARCHAR2
23723 --Distribution Link Type
23724 , p_source_21 IN VARCHAR2
23725 --Allocation to Main Distribution Identifier
23726 , p_source_23 IN NUMBER
23727 --Invoice Identifier
23728 , p_source_24 IN NUMBER
23729 --Business Flow Accounts Payable Application Identifier
23730 , p_source_25 IN NUMBER
23731 --Business Flow Invoice Distribution Type
23732 , p_source_26 IN VARCHAR2
23733 --Business Flow Invoice Entity Code
23734 , p_source_27 IN VARCHAR2
23735 --Business Flow Invoice Distribution Identifier
23736 , p_source_28 IN NUMBER
23737 --Business Flow Invoice Identifier
23738 , p_source_29 IN NUMBER
23739 --Invoice Distribution Identifier
23740 , p_source_30 IN NUMBER
23741 --Payables Encumbrance Upgrade Credit Account
23742 , p_source_31 IN NUMBER
23743 --Payables Encumbrance Upgrade Credit Amount
23744 , p_source_32 IN NUMBER
23745 --Invoice Currency Code
23746 , p_source_33 IN VARCHAR2
23747 --Payables Encumbrance Upgrade Credit Base Amount
23748 , p_source_34 IN NUMBER
23749 --Payables Encumbrance Upgrade Debit Account
23750 , p_source_35 IN NUMBER
23751 --Payables Encumbrance Upgrade Debit Amount
23752 , p_source_36 IN NUMBER
23753 --Payables Encumbrance Upgrade Debit Base Amount
23754 , p_source_37 IN NUMBER
23755 --Payables Encumbrance Upgrade Option
23756 , p_source_38 IN VARCHAR2
23757 --Invoice Exchange Date
23758 , p_source_39 IN DATE
23759 --Invoice Exchange Rate
23760 , p_source_40 IN NUMBER
23761 --Invoice Exchange Rate Type
23762 , p_source_41 IN VARCHAR2
23763 --Deferred Accounting End Date
23764 , p_source_43 IN DATE
23765 --Deferred Accounting Option
23766 , p_source_44 IN VARCHAR2
23767 --Deferred Accounting Start Date
23768 , p_source_45 IN DATE
23769 --Override Accounted Amount Indicator
23770 , p_source_46 IN VARCHAR2
23771 , p_source_46_meaning IN VARCHAR2
23772 --Invoice Supplier Identifier
23773 , p_source_47 IN NUMBER
23774 --Invoice Supplier Site Identifier
23775 , p_source_48 IN NUMBER
23776 --Third Party Type
23777 , p_source_49 IN VARCHAR2
23778 --Parent Reversal Identifier
23779 , p_source_50 IN NUMBER
23780 --Invoice Distribution Statistical Amount
23781 , p_source_51 IN NUMBER
23782 --Invoice Distribution Tax Line Identifier
23783 , p_source_52 IN NUMBER
23784 --Invoice Distribution Tax Distribution Identifier from Tax
23785 , p_source_53 IN NUMBER
23786 --Invoice Distribution Summary Tax Line Identifier
23787 , p_source_54 IN NUMBER
23788 --Payables Upgrade Credit Encumbrance Type Identifier
23789 , p_source_55 IN NUMBER
23790 --Payables Upgrade Debit Encumbrance Type Identifier
23791 , p_source_56 IN NUMBER
23795 , p_source_66 IN NUMBER
23792 --Invoice Distribution Encumbrance Amount
23793 , p_source_65 IN NUMBER
23794 --Invoice Distribution Encumbrance Ledger Amount
23796 )
23797 IS
23798
23799 l_component_type VARCHAR2(80);
23800 l_component_code VARCHAR2(30);
23801 l_component_type_code VARCHAR2(1);
23802 l_component_appl_id INTEGER;
23803 l_amb_context_code VARCHAR2(30);
23804 l_entity_code VARCHAR2(30);
23805 l_event_class_code VARCHAR2(30);
23806 l_ae_header_id NUMBER;
23807 l_event_type_code VARCHAR2(30);
23808 l_line_definition_code VARCHAR2(30);
23809 l_line_definition_owner_code VARCHAR2(1);
23810 --
23811 -- adr variables
23812 l_segment VARCHAR2(30);
23813 l_ccid NUMBER;
23814 l_adr_transaction_coa_id NUMBER;
23815 l_adr_accounting_coa_id NUMBER;
23816 l_adr_flexfield_segment_code VARCHAR2(30);
23817 l_adr_flex_value_set_id NUMBER;
23818 l_adr_value_type_code VARCHAR2(30);
23819 l_adr_value_combination_id NUMBER;
23820 l_adr_value_segment_code VARCHAR2(30);
23821
23822 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
23823 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
23824 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
23825 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
23826
23827 -- 4262811 Variables ------------------------------------------------------------------------------------------
23828 l_entered_amt_idx NUMBER;
23829 l_accted_amt_idx NUMBER;
23830 l_acc_rev_flag VARCHAR2(1);
23831 l_accrual_line_num NUMBER;
23832 l_tmp_amt NUMBER;
23833 l_acc_rev_natural_side_code VARCHAR2(1);
23834
23835 l_num_entries NUMBER;
23836 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
23837 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
23838 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
23839 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
23840 l_recog_line_1 NUMBER;
23841 l_recog_line_2 NUMBER;
23842
23843 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
23844 l_bflow_applied_to_amt NUMBER; -- 5132302
23845 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
23846
23847 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
23848
23849 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
23850 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
23851
23852 ---------------------------------------------------------------------------------------------------------------
23853
23854
23855 --
23856 -- bulk performance
23857 --
23858 l_balance_type_code VARCHAR2(1);
23859 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
23860 l_log_module VARCHAR2(240);
23861
23862 --
23863 -- Upgrade strategy
23864 --
23865 l_actual_upg_option VARCHAR2(1);
23866 l_enc_upg_option VARCHAR2(1);
23867
23868 --
23869 BEGIN
23870 --
23871 IF g_log_enabled THEN
23872 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_44';
23873 END IF;
23874 --
23875 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
23876
23877 trace
23878 (p_msg => 'BEGIN of AcctLineType_44'
23879 ,p_level => C_LEVEL_PROCEDURE
23880 ,p_module => l_log_module);
23881
23882 END IF;
23883 --
23884 l_component_type := 'AMB_JLT';
23885 l_component_code := 'AP_MISC_EXPENSE_PP_ENC_DR';
23886 l_component_type_code := 'S';
23887 l_component_appl_id := 200;
23888 l_amb_context_code := 'DEFAULT';
23889 l_entity_code := 'AP_INVOICES';
23890 l_event_class_code := 'PREPAYMENTS';
23891 l_event_type_code := 'PREPAYMENTS_ALL';
23892 l_line_definition_owner_code := 'S';
23893 l_line_definition_code := 'ENC_PREPAY_ALL';
23894 --
23895 l_balance_type_code := 'E';
23896 l_segment := NULL;
23897 l_ccid := NULL;
23898 l_adr_transaction_coa_id := NULL;
23899 l_adr_accounting_coa_id := NULL;
23900 l_adr_flexfield_segment_code := NULL;
23901 l_adr_flex_value_set_id := NULL;
23902 l_adr_value_type_code := NULL;
23903 l_adr_value_combination_id := NULL;
23904 l_adr_value_segment_code := NULL;
23905
23906 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
23907 l_bflow_class_code := 'AP_INV_ENCUM'; -- 4219869 Business Flow
23908 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
23909 l_budgetary_control_flag := 'Y';
23910
23911 l_bflow_applied_to_amt_idx := NULL; -- 5132302
23912 l_bflow_applied_to_amt := NULL; -- 5132302
23913 l_entered_amt_idx := NULL; -- 4262811
23914 l_accted_amt_idx := NULL; -- 4262811
23915 l_acc_rev_flag := NULL; -- 4262811
23916 l_accrual_line_num := NULL; -- 4262811
23917 l_tmp_amt := NULL; -- 4262811
23918 --
23919
23923 ') = 'MISCELLANEOUS' AND
23920 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
23921 l_balance_type_code <> 'B' THEN
23922 IF NVL(p_source_15,'
23924 NVL(p_source_17,'
23925 ') = 'Y'
23926 THEN
23927
23928 --
23929 XLA_AE_LINES_PKG.SetNewLine;
23930
23931 p_balance_type_code := l_balance_type_code;
23932 -- set the flag so later we will know whether the gain loss line needs to be created
23933
23934 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
23935 p_actual_flag :='A';
23936 END IF;
23937
23938 --
23939 -- bulk performance
23940 --
23941 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
23942 p_header_num => 0); -- 4262811
23943 --
23944 -- set accounting line options
23945 --
23946 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
23947 p_natural_side_code => 'D'
23948 , p_gain_or_loss_flag => 'N'
23949 , p_gl_transfer_mode_code => 'S'
23950 , p_acct_entry_type_code => 'E'
23951 , p_switch_side_flag => 'Y'
23952 , p_merge_duplicate_code => 'N'
23953 );
23954 --
23955 l_acc_rev_natural_side_code := 'C'; -- 4262811
23956 --
23957 --
23958 -- set accounting line type info
23959 --
23960 xla_ae_lines_pkg.SetAcctLineType
23961 (p_component_type => l_component_type
23962 ,p_event_type_code => l_event_type_code
23963 ,p_line_definition_owner_code => l_line_definition_owner_code
23964 ,p_line_definition_code => l_line_definition_code
23965 ,p_accounting_line_code => l_component_code
23966 ,p_accounting_line_type_code => l_component_type_code
23967 ,p_accounting_line_appl_id => l_component_appl_id
23968 ,p_amb_context_code => l_amb_context_code
23969 ,p_entity_code => l_entity_code
23970 ,p_event_class_code => l_event_class_code);
23971 --
23972 -- set accounting class
23973 --
23974 xla_ae_lines_pkg.SetAcctClass(
23975 p_accounting_class_code => 'MISCELLANEOUS EXPENSE'
23976 , p_ae_header_id => l_ae_header_id
23977 );
23978
23979 --
23980 -- set rounding class
23981 --
23982 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
23983 'MISCELLANEOUS EXPENSE';
23984
23985 --
23986 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
23987 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
23988 --
23989 -- bulk performance
23990 --
23991 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
23992
23993 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
23994 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
23995
23996 -- 4955764
23997 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
23998 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
23999
24000 -- 4458381 Public Sector Enh
24001 XLA_AE_LINES_PKG.g_rec_lines.array_encumbrance_type_id(XLA_AE_LINES_PKG.g_LineNumber) := 1060;
24002 --
24003 -- set accounting attributes for the line type
24004 --
24005 l_entered_amt_idx := 23;
24006 l_accted_amt_idx := 28;
24007 l_bflow_applied_to_amt_idx := NULL; -- 5132302
24008 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
24009 l_rec_acct_attrs.array_char_value(1) := p_source_19;
24010 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
24011 l_rec_acct_attrs.array_num_value(2) :=
24012 xla_ae_sources_pkg.GetSystemSourceNum(
24013 p_source_code => 'XLA_EVENT_APPL_ID'
24014 , p_source_type_code => 'Y'
24015 , p_source_application_id => 602
24016 );
24017 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
24018 l_rec_acct_attrs.array_char_value(3) := p_source_21;
24019 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
24020 l_rec_acct_attrs.array_char_value(4) :=
24021 xla_ae_sources_pkg.GetSystemSourceChar(
24022 p_source_code => 'XLA_ENTITY_CODE'
24023 , p_source_type_code => 'Y'
24024 , p_source_application_id => 602
24025 );
24026 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
24027 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_23);
24028 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
24029 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_24);
24030 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
24031 l_rec_acct_attrs.array_num_value(7) := p_source_25;
24032 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
24033 l_rec_acct_attrs.array_char_value(8) := p_source_26;
24034 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
24035 l_rec_acct_attrs.array_char_value(9) := p_source_27;
24036 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
24040 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
24037 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_28);
24038 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
24039 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_29);
24041 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_30);
24042 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
24043 l_rec_acct_attrs.array_char_value(13) := p_source_21;
24044 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
24045 l_rec_acct_attrs.array_num_value(14) := p_source_31;
24046 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
24047 l_rec_acct_attrs.array_num_value(15) := p_source_32;
24048 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
24049 l_rec_acct_attrs.array_char_value(16) := p_source_33;
24050 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
24051 l_rec_acct_attrs.array_num_value(17) := p_source_34;
24052 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
24053 l_rec_acct_attrs.array_num_value(18) := p_source_35;
24054 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
24055 l_rec_acct_attrs.array_num_value(19) := p_source_36;
24056 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
24057 l_rec_acct_attrs.array_char_value(20) := p_source_33;
24058 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
24059 l_rec_acct_attrs.array_num_value(21) := p_source_37;
24060 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
24061 l_rec_acct_attrs.array_char_value(22) := p_source_38;
24062 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
24063 l_rec_acct_attrs.array_num_value(23) := p_source_65;
24064 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
24065 l_rec_acct_attrs.array_char_value(24) := p_source_33;
24066 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
24067 l_rec_acct_attrs.array_date_value(25) := p_source_39;
24068 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
24069 l_rec_acct_attrs.array_num_value(26) := p_source_40;
24070 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
24071 l_rec_acct_attrs.array_char_value(27) := p_source_41;
24072 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
24073 l_rec_acct_attrs.array_num_value(28) := p_source_66;
24074 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
24075 l_rec_acct_attrs.array_date_value(29) := p_source_43;
24076 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
24077 l_rec_acct_attrs.array_char_value(30) := p_source_44;
24078 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
24079 l_rec_acct_attrs.array_date_value(31) := p_source_45;
24080 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
24081 l_rec_acct_attrs.array_char_value(32) := p_source_46;
24082 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
24083 l_rec_acct_attrs.array_num_value(33) := p_source_47;
24084 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
24085 l_rec_acct_attrs.array_num_value(34) := p_source_48;
24086 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
24087 l_rec_acct_attrs.array_char_value(35) := p_source_49;
24088 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
24089 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_50);
24090 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
24091 l_rec_acct_attrs.array_char_value(37) := p_source_21;
24092 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
24093 l_rec_acct_attrs.array_num_value(38) := p_source_51;
24094 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
24095 l_rec_acct_attrs.array_num_value(39) := p_source_52;
24096 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
24097 l_rec_acct_attrs.array_num_value(40) := p_source_53;
24098 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
24099 l_rec_acct_attrs.array_num_value(41) := p_source_54;
24100 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
24101 l_rec_acct_attrs.array_num_value(42) := p_source_55;
24102 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
24103 l_rec_acct_attrs.array_num_value(43) := p_source_56;
24104
24105 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
24106 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
24107
24108 ---------------------------------------------------------------------------------------------------------------
24109 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
24110 ---------------------------------------------------------------------------------------------------------------
24111 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
24112
24113 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
24114 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
24115
24116 IF xla_accounting_cache_pkg.GetValueChar
24117 (p_source_code => 'LEDGER_CATEGORY_CODE'
24121 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
24118 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
24119 AND l_bflow_method_code = 'PRIOR_ENTRY'
24120 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
24122 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
24123 )
24124 THEN
24125 xla_ae_lines_pkg.BflowUpgEntry
24126 (p_business_method_code => l_bflow_method_code
24127 ,p_business_class_code => l_bflow_class_code
24128 ,p_balance_type => l_balance_type_code);
24129 ELSE
24130 NULL;
24131 -- No business flow processing for business flow method of NONE.
24132 END IF;
24133
24134 --
24135 -- call analytical criteria
24136 --
24137
24138 --
24139 -- call description
24140 --
24141
24142 xla_ae_lines_pkg.SetLineDescription(
24143 p_ae_header_id => l_ae_header_id
24144 ,p_description => Description_2 (
24145 p_application_id => p_application_id
24146 , p_ae_header_id => l_ae_header_id
24147 , p_source_1 => p_source_1
24148 )
24149 );
24150
24151
24152 --
24153 -- call ADRs
24154 -- Bug 4922099
24155 --
24156 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
24157 (NVL(l_actual_upg_option, 'N') = 'O') OR
24158 (NVL(l_enc_upg_option, 'N') = 'O')
24159 )
24160 THEN
24161 NULL;
24162 --
24163 --
24164
24165 l_ccid := AcctDerRule_7(
24166 p_application_id => p_application_id
24167 , p_ae_header_id => l_ae_header_id
24168 , p_source_11 => p_source_11
24169 , x_transaction_coa_id => l_adr_transaction_coa_id
24170 , x_accounting_coa_id => l_adr_accounting_coa_id
24171 , x_value_type_code => l_adr_value_type_code
24172 , p_side => 'NA'
24173 );
24174
24175 xla_ae_lines_pkg.set_ccid(
24176 p_code_combination_id => l_ccid
24177 , p_value_type_code => l_adr_value_type_code
24178 , p_transaction_coa_id => l_adr_transaction_coa_id
24179 , p_accounting_coa_id => l_adr_accounting_coa_id
24180 , p_adr_code => 'AP_INVOICE_DIST'
24181 , p_adr_type_code => 'S'
24182 , p_component_type => l_component_type
24183 , p_component_code => l_component_code
24184 , p_component_type_code => l_component_type_code
24185 , p_component_appl_id => l_component_appl_id
24186 , p_amb_context_code => l_amb_context_code
24187 , p_side => 'NA'
24188 );
24189
24190
24191 --
24192 --
24193 END IF;
24194 --
24195 -- Bug 4922099
24196 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
24197 (NVL(l_enc_upg_option, 'N') = 'O')
24198 ) AND
24199 (l_bflow_method_code = 'PRIOR_ENTRY')
24200 )
24201 THEN
24202 IF
24203 --
24204 1 = 2
24205 --
24206 THEN
24207 xla_accounting_err_pkg.build_message
24208 (p_appli_s_name => 'XLA'
24209 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
24210 ,p_token_1 => 'LINE_NUMBER'
24211 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
24212 ,p_token_2 => 'LINE_TYPE_NAME'
24213 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
24214 l_component_type
24215 ,l_component_code
24216 ,l_component_type_code
24217 ,l_component_appl_id
24218 ,l_amb_context_code
24219 ,l_entity_code
24220 ,l_event_class_code
24221 )
24222 ,p_token_3 => 'OWNER'
24223 ,p_value_3 => xla_lookups_pkg.get_meaning(
24224 p_lookup_type => 'XLA_OWNER_TYPE'
24225 ,p_lookup_code => l_component_type_code
24226 )
24227 ,p_token_4 => 'PRODUCT_NAME'
24228 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
24229 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
24230 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
24231 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
24232 ,p_ae_header_id => NULL
24236 trace
24233 );
24234
24235 IF (C_LEVEL_ERROR>= g_log_level) THEN
24237 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
24238 ,p_level => C_LEVEL_ERROR
24239 ,p_module => l_log_module);
24240 END IF;
24241 END IF;
24242 END IF;
24243 --
24244 --
24245 ------------------------------------------------------------------------------------------------
24246 -- 4219869 Business Flow
24247 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
24248 -- Prior Entry. Currently, the following code is always generated.
24249 ------------------------------------------------------------------------------------------------
24250 XLA_AE_LINES_PKG.ValidateCurrentLine;
24251
24252 ------------------------------------------------------------------------------------
24253 -- 4219869 Business Flow
24254 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
24255 ------------------------------------------------------------------------------------
24256 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
24257
24258 ----------------------------------------------------------------------------------
24259 -- 4219869 Business Flow
24260 -- Update journal entry status -- Need to generate this within IF <condition>
24261 ----------------------------------------------------------------------------------
24262 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
24263 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
24264 ,p_balance_type_code => l_balance_type_code
24265 );
24266
24267 -------------------------------------------------------------------------------------------
24268 -- 4262811 - Generate the Accrual Reversal lines
24269 -------------------------------------------------------------------------------------------
24270 BEGIN
24271 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
24272 (g_array_event(p_event_id).array_value_num('header_index'));
24273 IF l_acc_rev_flag IS NULL THEN
24274 l_acc_rev_flag := 'N';
24275 END IF;
24276 EXCEPTION
24277 WHEN OTHERS THEN
24278 l_acc_rev_flag := 'N';
24279 END;
24280 --
24281 IF (l_acc_rev_flag = 'Y') THEN
24282
24283 -- 4645092 ------------------------------------------------------------------------------
24284 -- To allow MPA report to determine if it should generate report process
24285 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
24286 ------------------------------------------------------------------------------------------
24287
24288 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
24289 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
24290 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
24291 -- call ADRs
24292 -- Bug 4922099
24293 --
24294 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
24295 (NVL(l_actual_upg_option, 'N') = 'O') OR
24296 (NVL(l_enc_upg_option, 'N') = 'O')
24297 )
24298 THEN
24299 NULL;
24300 --
24301 --
24302
24303 l_ccid := AcctDerRule_7(
24304 p_application_id => p_application_id
24305 , p_ae_header_id => l_ae_header_id
24306 , p_source_11 => p_source_11
24307 , x_transaction_coa_id => l_adr_transaction_coa_id
24308 , x_accounting_coa_id => l_adr_accounting_coa_id
24309 , x_value_type_code => l_adr_value_type_code
24310 , p_side => 'NA'
24311 );
24312
24313 xla_ae_lines_pkg.set_ccid(
24314 p_code_combination_id => l_ccid
24315 , p_value_type_code => l_adr_value_type_code
24316 , p_transaction_coa_id => l_adr_transaction_coa_id
24317 , p_accounting_coa_id => l_adr_accounting_coa_id
24318 , p_adr_code => 'AP_INVOICE_DIST'
24319 , p_adr_type_code => 'S'
24320 , p_component_type => l_component_type
24321 , p_component_code => l_component_code
24322 , p_component_type_code => l_component_type_code
24323 , p_component_appl_id => l_component_appl_id
24324 , p_amb_context_code => l_amb_context_code
24325 , p_side => 'NA'
24326 );
24327
24328
24329 --
24330 --
24331 END IF;
24332
24333 --
24334 -- Update the line information that should be overwritten
24335 --
24336 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
24337 p_header_num => 1);
24338 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
24339
24340 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
24341
24342 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
24343 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
24344 END IF;
24345
24346 --
24347 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
24348 --
24352 ---------------------------------------------------------------------------------------------------
24349 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
24350 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
24351 ELSE
24353 -- 4262811a Switch Sign
24354 ---------------------------------------------------------------------------------------------------
24355 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
24356 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
24357 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
24358 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
24359 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
24360 -- 5132302
24361 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
24362 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
24363
24364 END IF;
24365
24366 -- 4955764
24367 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
24368 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
24369
24370
24371 XLA_AE_LINES_PKG.ValidateCurrentLine;
24372 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
24373
24374 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
24375 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
24376 ,p_balance_type_code => l_balance_type_code);
24377
24378 END IF;
24379
24380 -----------------------------------------------------------------------------------------
24381 -- 4262811 Multiperiod Accounting
24382 -----------------------------------------------------------------------------------------
24383 -- No MPA option is assigned.
24384
24385
24386 END IF;
24387 END IF;
24388 --
24389
24390 --
24391 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
24392 trace
24393 (p_msg => 'END of AcctLineType_44'
24394 ,p_level => C_LEVEL_PROCEDURE
24395 ,p_module => l_log_module);
24396 END IF;
24397 --
24398 EXCEPTION
24399 WHEN xla_exceptions_pkg.application_exception THEN
24400 RAISE;
24401 WHEN OTHERS THEN
24402 xla_exceptions_pkg.raise_message
24403 (p_location => 'XLA_00200_AAD_S_000006_BC_PKG.AcctLineType_44');
24404 END AcctLineType_44;
24405 --
24406
24407 ---------------------------------------
24408 --
24409 -- PRIVATE FUNCTION
24410 -- AcctLineType_45
24411 --
24412 ---------------------------------------
24413 PROCEDURE AcctLineType_45 (
24414 p_application_id IN NUMBER
24415 ,p_event_id IN NUMBER
24416 ,p_calculate_acctd_flag IN VARCHAR2
24417 ,p_calculate_g_l_flag IN VARCHAR2
24418 ,p_actual_flag IN OUT VARCHAR2
24419 ,p_balance_type_code OUT VARCHAR2
24420 ,p_gain_or_loss_ref OUT VARCHAR2
24421
24422 --Invoice Distribution Description
24423 , p_source_1 IN VARCHAR2
24424 --Invoice Distribution Account
24425 , p_source_11 IN NUMBER
24426 --Invoice Distribution Type
24427 , p_source_15 IN VARCHAR2
24428 , p_source_15_meaning IN VARCHAR2
24429 --Purchasing Encumbrance Option
24430 , p_source_17 IN VARCHAR2
24431 , p_source_17_meaning IN VARCHAR2
24432 --Accrue on Receipt Option
24433 , p_source_18 IN VARCHAR2
24434 , p_source_18_meaning IN VARCHAR2
24435 --Accounting Reversal Indicator
24436 , p_source_19 IN VARCHAR2
24437 --Distribution Link Type
24438 , p_source_21 IN VARCHAR2
24439 --Allocation to Main Distribution Identifier
24440 , p_source_23 IN NUMBER
24441 --Invoice Identifier
24442 , p_source_24 IN NUMBER
24443 --Business Flow Accounts Payable Application Identifier
24444 , p_source_25 IN NUMBER
24445 --Business Flow Invoice Distribution Type
24446 , p_source_26 IN VARCHAR2
24447 --Business Flow Invoice Entity Code
24448 , p_source_27 IN VARCHAR2
24449 --Business Flow Invoice Distribution Identifier
24450 , p_source_28 IN NUMBER
24451 --Business Flow Invoice Identifier
24452 , p_source_29 IN NUMBER
24453 --Invoice Distribution Identifier
24454 , p_source_30 IN NUMBER
24455 --Payables Encumbrance Upgrade Credit Account
24456 , p_source_31 IN NUMBER
24457 --Payables Encumbrance Upgrade Credit Amount
24458 , p_source_32 IN NUMBER
24459 --Invoice Currency Code
24460 , p_source_33 IN VARCHAR2
24461 --Payables Encumbrance Upgrade Credit Base Amount
24462 , p_source_34 IN NUMBER
24463 --Payables Encumbrance Upgrade Debit Account
24464 , p_source_35 IN NUMBER
24465 --Payables Encumbrance Upgrade Debit Amount
24466 , p_source_36 IN NUMBER
24467 --Payables Encumbrance Upgrade Debit Base Amount
24468 , p_source_37 IN NUMBER
24469 --Payables Encumbrance Upgrade Option
24470 , p_source_38 IN VARCHAR2
24471 --Invoice Exchange Date
24472 , p_source_39 IN DATE
24473 --Invoice Exchange Rate
24474 , p_source_40 IN NUMBER
24475 --Invoice Exchange Rate Type
24479 --Deferred Accounting Option
24476 , p_source_41 IN VARCHAR2
24477 --Deferred Accounting End Date
24478 , p_source_43 IN DATE
24480 , p_source_44 IN VARCHAR2
24481 --Deferred Accounting Start Date
24482 , p_source_45 IN DATE
24483 --Override Accounted Amount Indicator
24484 , p_source_46 IN VARCHAR2
24485 , p_source_46_meaning IN VARCHAR2
24486 --Invoice Supplier Identifier
24487 , p_source_47 IN NUMBER
24488 --Invoice Supplier Site Identifier
24489 , p_source_48 IN NUMBER
24490 --Third Party Type
24491 , p_source_49 IN VARCHAR2
24492 --Parent Reversal Identifier
24493 , p_source_50 IN NUMBER
24494 --Invoice Distribution Statistical Amount
24495 , p_source_51 IN NUMBER
24496 --Invoice Distribution Tax Line Identifier
24497 , p_source_52 IN NUMBER
24498 --Invoice Distribution Tax Distribution Identifier from Tax
24499 , p_source_53 IN NUMBER
24500 --Invoice Distribution Summary Tax Line Identifier
24501 , p_source_54 IN NUMBER
24502 --Payables Upgrade Credit Encumbrance Type Identifier
24503 , p_source_55 IN NUMBER
24504 --Payables Upgrade Debit Encumbrance Type Identifier
24505 , p_source_56 IN NUMBER
24506 --Self-Assessed Tax Flag
24507 , p_source_59 IN VARCHAR2
24508 , p_source_59_meaning IN VARCHAR2
24509 --Invoice Distribution Encumbrance Amount
24510 , p_source_65 IN NUMBER
24511 --Invoice Distribution Encumbrance Ledger Amount
24512 , p_source_66 IN NUMBER
24513 )
24514 IS
24515
24516 l_component_type VARCHAR2(80);
24517 l_component_code VARCHAR2(30);
24518 l_component_type_code VARCHAR2(1);
24519 l_component_appl_id INTEGER;
24520 l_amb_context_code VARCHAR2(30);
24521 l_entity_code VARCHAR2(30);
24522 l_event_class_code VARCHAR2(30);
24523 l_ae_header_id NUMBER;
24524 l_event_type_code VARCHAR2(30);
24525 l_line_definition_code VARCHAR2(30);
24526 l_line_definition_owner_code VARCHAR2(1);
24527 --
24528 -- adr variables
24529 l_segment VARCHAR2(30);
24530 l_ccid NUMBER;
24531 l_adr_transaction_coa_id NUMBER;
24532 l_adr_accounting_coa_id NUMBER;
24533 l_adr_flexfield_segment_code VARCHAR2(30);
24534 l_adr_flex_value_set_id NUMBER;
24535 l_adr_value_type_code VARCHAR2(30);
24536 l_adr_value_combination_id NUMBER;
24537 l_adr_value_segment_code VARCHAR2(30);
24538
24539 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
24540 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
24541 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
24542 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
24543
24544 -- 4262811 Variables ------------------------------------------------------------------------------------------
24545 l_entered_amt_idx NUMBER;
24546 l_accted_amt_idx NUMBER;
24547 l_acc_rev_flag VARCHAR2(1);
24548 l_accrual_line_num NUMBER;
24549 l_tmp_amt NUMBER;
24550 l_acc_rev_natural_side_code VARCHAR2(1);
24551
24552 l_num_entries NUMBER;
24553 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
24554 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
24555 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
24556 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
24557 l_recog_line_1 NUMBER;
24558 l_recog_line_2 NUMBER;
24559
24560 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
24561 l_bflow_applied_to_amt NUMBER; -- 5132302
24562 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
24563
24564 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
24565
24566 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
24567 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
24568
24569 ---------------------------------------------------------------------------------------------------------------
24570
24571
24572 --
24573 -- bulk performance
24574 --
24575 l_balance_type_code VARCHAR2(1);
24576 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
24577 l_log_module VARCHAR2(240);
24578
24579 --
24580 -- Upgrade strategy
24581 --
24582 l_actual_upg_option VARCHAR2(1);
24583 l_enc_upg_option VARCHAR2(1);
24584
24585 --
24586 BEGIN
24587 --
24588 IF g_log_enabled THEN
24589 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_45';
24590 END IF;
24591 --
24592 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
24593
24594 trace
24595 (p_msg => 'BEGIN of AcctLineType_45'
24596 ,p_level => C_LEVEL_PROCEDURE
24597 ,p_module => l_log_module);
24598
24599 END IF;
24600 --
24601 l_component_type := 'AMB_JLT';
24602 l_component_code := 'AP_NON_RECOV_TAX_CM_ENC_DR';
24603 l_component_type_code := 'S';
24604 l_component_appl_id := 200;
24608 l_event_type_code := 'CREDIT MEMOS_ALL';
24605 l_amb_context_code := 'DEFAULT';
24606 l_entity_code := 'AP_INVOICES';
24607 l_event_class_code := 'CREDIT MEMOS';
24609 l_line_definition_owner_code := 'S';
24610 l_line_definition_code := 'ENC_CM_ALL';
24611 --
24612 l_balance_type_code := 'E';
24613 l_segment := NULL;
24614 l_ccid := NULL;
24615 l_adr_transaction_coa_id := NULL;
24616 l_adr_accounting_coa_id := NULL;
24617 l_adr_flexfield_segment_code := NULL;
24618 l_adr_flex_value_set_id := NULL;
24619 l_adr_value_type_code := NULL;
24620 l_adr_value_combination_id := NULL;
24621 l_adr_value_segment_code := NULL;
24622
24623 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
24624 l_bflow_class_code := 'AP_INV_ENCUM'; -- 4219869 Business Flow
24625 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
24626 l_budgetary_control_flag := 'Y';
24627
24628 l_bflow_applied_to_amt_idx := NULL; -- 5132302
24629 l_bflow_applied_to_amt := NULL; -- 5132302
24630 l_entered_amt_idx := NULL; -- 4262811
24631 l_accted_amt_idx := NULL; -- 4262811
24632 l_acc_rev_flag := NULL; -- 4262811
24633 l_accrual_line_num := NULL; -- 4262811
24634 l_tmp_amt := NULL; -- 4262811
24635 --
24636
24637 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
24638 l_balance_type_code <> 'B' THEN
24639 IF NVL(p_source_15,'
24640 ') = 'NONREC_TAX' AND
24641 NVL(p_source_59,'
24642 ') <> 'Y' AND
24643 NVL(p_source_17,'
24644 ') = 'Y' AND
24645 NVL(p_source_18,'
24646 ') <> 'Y'
24647 THEN
24648
24649 --
24650 XLA_AE_LINES_PKG.SetNewLine;
24651
24652 p_balance_type_code := l_balance_type_code;
24653 -- set the flag so later we will know whether the gain loss line needs to be created
24654
24655 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
24656 p_actual_flag :='A';
24657 END IF;
24658
24659 --
24660 -- bulk performance
24661 --
24662 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
24663 p_header_num => 0); -- 4262811
24664 --
24665 -- set accounting line options
24666 --
24667 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
24668 p_natural_side_code => 'D'
24669 , p_gain_or_loss_flag => 'N'
24670 , p_gl_transfer_mode_code => 'S'
24671 , p_acct_entry_type_code => 'E'
24672 , p_switch_side_flag => 'Y'
24673 , p_merge_duplicate_code => 'N'
24674 );
24675 --
24676 l_acc_rev_natural_side_code := 'C'; -- 4262811
24677 --
24678 --
24679 -- set accounting line type info
24680 --
24681 xla_ae_lines_pkg.SetAcctLineType
24682 (p_component_type => l_component_type
24683 ,p_event_type_code => l_event_type_code
24684 ,p_line_definition_owner_code => l_line_definition_owner_code
24685 ,p_line_definition_code => l_line_definition_code
24686 ,p_accounting_line_code => l_component_code
24687 ,p_accounting_line_type_code => l_component_type_code
24688 ,p_accounting_line_appl_id => l_component_appl_id
24689 ,p_amb_context_code => l_amb_context_code
24690 ,p_entity_code => l_entity_code
24691 ,p_event_class_code => l_event_class_code);
24692 --
24693 -- set accounting class
24694 --
24695 xla_ae_lines_pkg.SetAcctClass(
24696 p_accounting_class_code => 'NRTAX'
24697 , p_ae_header_id => l_ae_header_id
24698 );
24699
24700 --
24701 -- set rounding class
24702 --
24703 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
24704 'NRTAX';
24705
24706 --
24707 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
24708 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
24709 --
24710 -- bulk performance
24711 --
24712 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
24713
24714 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
24715 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
24716
24717 -- 4955764
24718 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
24719 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
24720
24721 -- 4458381 Public Sector Enh
24722 XLA_AE_LINES_PKG.g_rec_lines.array_encumbrance_type_id(XLA_AE_LINES_PKG.g_LineNumber) := 1060;
24723 --
24724 -- set accounting attributes for the line type
24725 --
24726 l_entered_amt_idx := 23;
24727 l_accted_amt_idx := 28;
24728 l_bflow_applied_to_amt_idx := NULL; -- 5132302
24729 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
24730 l_rec_acct_attrs.array_char_value(1) := p_source_19;
24734 p_source_code => 'XLA_EVENT_APPL_ID'
24731 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
24732 l_rec_acct_attrs.array_num_value(2) :=
24733 xla_ae_sources_pkg.GetSystemSourceNum(
24735 , p_source_type_code => 'Y'
24736 , p_source_application_id => 602
24737 );
24738 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
24739 l_rec_acct_attrs.array_char_value(3) := p_source_21;
24740 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
24741 l_rec_acct_attrs.array_char_value(4) :=
24742 xla_ae_sources_pkg.GetSystemSourceChar(
24743 p_source_code => 'XLA_ENTITY_CODE'
24744 , p_source_type_code => 'Y'
24745 , p_source_application_id => 602
24746 );
24747 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
24748 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_23);
24749 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
24750 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_24);
24751 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
24752 l_rec_acct_attrs.array_num_value(7) := p_source_25;
24753 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
24754 l_rec_acct_attrs.array_char_value(8) := p_source_26;
24755 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
24756 l_rec_acct_attrs.array_char_value(9) := p_source_27;
24757 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
24758 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_28);
24759 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
24760 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_29);
24761 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
24762 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_30);
24763 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
24764 l_rec_acct_attrs.array_char_value(13) := p_source_21;
24765 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
24766 l_rec_acct_attrs.array_num_value(14) := p_source_31;
24767 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
24768 l_rec_acct_attrs.array_num_value(15) := p_source_32;
24769 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
24770 l_rec_acct_attrs.array_char_value(16) := p_source_33;
24771 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
24772 l_rec_acct_attrs.array_num_value(17) := p_source_34;
24773 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
24774 l_rec_acct_attrs.array_num_value(18) := p_source_35;
24775 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
24776 l_rec_acct_attrs.array_num_value(19) := p_source_36;
24777 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
24778 l_rec_acct_attrs.array_char_value(20) := p_source_33;
24779 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
24780 l_rec_acct_attrs.array_num_value(21) := p_source_37;
24781 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
24782 l_rec_acct_attrs.array_char_value(22) := p_source_38;
24783 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
24784 l_rec_acct_attrs.array_num_value(23) := p_source_65;
24785 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
24786 l_rec_acct_attrs.array_char_value(24) := p_source_33;
24787 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
24788 l_rec_acct_attrs.array_date_value(25) := p_source_39;
24789 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
24790 l_rec_acct_attrs.array_num_value(26) := p_source_40;
24791 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
24792 l_rec_acct_attrs.array_char_value(27) := p_source_41;
24793 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
24794 l_rec_acct_attrs.array_num_value(28) := p_source_66;
24795 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
24796 l_rec_acct_attrs.array_date_value(29) := p_source_43;
24797 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
24798 l_rec_acct_attrs.array_char_value(30) := p_source_44;
24799 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
24800 l_rec_acct_attrs.array_date_value(31) := p_source_45;
24801 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
24802 l_rec_acct_attrs.array_char_value(32) := p_source_46;
24803 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
24804 l_rec_acct_attrs.array_num_value(33) := p_source_47;
24805 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
24806 l_rec_acct_attrs.array_num_value(34) := p_source_48;
24807 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
24808 l_rec_acct_attrs.array_char_value(35) := p_source_49;
24809 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
24810 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_50);
24811 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
24812 l_rec_acct_attrs.array_char_value(37) := p_source_21;
24813 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
24814 l_rec_acct_attrs.array_num_value(38) := p_source_51;
24815 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
24816 l_rec_acct_attrs.array_num_value(39) := p_source_52;
24820 l_rec_acct_attrs.array_num_value(41) := p_source_54;
24817 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
24818 l_rec_acct_attrs.array_num_value(40) := p_source_53;
24819 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
24821 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
24822 l_rec_acct_attrs.array_num_value(42) := p_source_55;
24823 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
24824 l_rec_acct_attrs.array_num_value(43) := p_source_56;
24825
24826 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
24827 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
24828
24829 ---------------------------------------------------------------------------------------------------------------
24830 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
24831 ---------------------------------------------------------------------------------------------------------------
24832 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
24833
24834 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
24835 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
24836
24837 IF xla_accounting_cache_pkg.GetValueChar
24838 (p_source_code => 'LEDGER_CATEGORY_CODE'
24839 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
24840 AND l_bflow_method_code = 'PRIOR_ENTRY'
24841 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
24842 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
24843 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
24844 )
24845 THEN
24846 xla_ae_lines_pkg.BflowUpgEntry
24847 (p_business_method_code => l_bflow_method_code
24848 ,p_business_class_code => l_bflow_class_code
24849 ,p_balance_type => l_balance_type_code);
24850 ELSE
24851 NULL;
24852 -- No business flow processing for business flow method of NONE.
24853 END IF;
24854
24855 --
24856 -- call analytical criteria
24857 --
24858
24859 --
24860 -- call description
24861 --
24862
24863 xla_ae_lines_pkg.SetLineDescription(
24864 p_ae_header_id => l_ae_header_id
24865 ,p_description => Description_2 (
24866 p_application_id => p_application_id
24867 , p_ae_header_id => l_ae_header_id
24868 , p_source_1 => p_source_1
24869 )
24870 );
24871
24872
24873 --
24874 -- call ADRs
24875 -- Bug 4922099
24876 --
24877 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
24878 (NVL(l_actual_upg_option, 'N') = 'O') OR
24879 (NVL(l_enc_upg_option, 'N') = 'O')
24880 )
24881 THEN
24882 NULL;
24883 --
24884 --
24885
24886 l_ccid := AcctDerRule_7(
24887 p_application_id => p_application_id
24888 , p_ae_header_id => l_ae_header_id
24889 , p_source_11 => p_source_11
24890 , x_transaction_coa_id => l_adr_transaction_coa_id
24891 , x_accounting_coa_id => l_adr_accounting_coa_id
24892 , x_value_type_code => l_adr_value_type_code
24893 , p_side => 'NA'
24894 );
24895
24896 xla_ae_lines_pkg.set_ccid(
24897 p_code_combination_id => l_ccid
24898 , p_value_type_code => l_adr_value_type_code
24899 , p_transaction_coa_id => l_adr_transaction_coa_id
24900 , p_accounting_coa_id => l_adr_accounting_coa_id
24901 , p_adr_code => 'AP_INVOICE_DIST'
24902 , p_adr_type_code => 'S'
24903 , p_component_type => l_component_type
24904 , p_component_code => l_component_code
24905 , p_component_type_code => l_component_type_code
24906 , p_component_appl_id => l_component_appl_id
24907 , p_amb_context_code => l_amb_context_code
24908 , p_side => 'NA'
24909 );
24910
24911
24912 --
24913 --
24914 END IF;
24915 --
24916 -- Bug 4922099
24917 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
24918 (NVL(l_enc_upg_option, 'N') = 'O')
24919 ) AND
24920 (l_bflow_method_code = 'PRIOR_ENTRY')
24921 )
24922 THEN
24923 IF
24924 --
24925 1 = 2
24926 --
24927 THEN
24928 xla_accounting_err_pkg.build_message
24929 (p_appli_s_name => 'XLA'
24930 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
24931 ,p_token_1 => 'LINE_NUMBER'
24932 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
24933 ,p_token_2 => 'LINE_TYPE_NAME'
24934 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
24935 l_component_type
24936 ,l_component_code
24937 ,l_component_type_code
24941 ,l_event_class_code
24938 ,l_component_appl_id
24939 ,l_amb_context_code
24940 ,l_entity_code
24942 )
24943 ,p_token_3 => 'OWNER'
24944 ,p_value_3 => xla_lookups_pkg.get_meaning(
24945 p_lookup_type => 'XLA_OWNER_TYPE'
24946 ,p_lookup_code => l_component_type_code
24947 )
24948 ,p_token_4 => 'PRODUCT_NAME'
24949 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
24950 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
24951 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
24952 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
24953 ,p_ae_header_id => NULL
24954 );
24955
24956 IF (C_LEVEL_ERROR>= g_log_level) THEN
24957 trace
24958 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
24959 ,p_level => C_LEVEL_ERROR
24960 ,p_module => l_log_module);
24961 END IF;
24962 END IF;
24963 END IF;
24964 --
24965 --
24966 ------------------------------------------------------------------------------------------------
24967 -- 4219869 Business Flow
24968 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
24969 -- Prior Entry. Currently, the following code is always generated.
24970 ------------------------------------------------------------------------------------------------
24971 XLA_AE_LINES_PKG.ValidateCurrentLine;
24972
24973 ------------------------------------------------------------------------------------
24974 -- 4219869 Business Flow
24975 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
24976 ------------------------------------------------------------------------------------
24977 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
24978
24979 ----------------------------------------------------------------------------------
24980 -- 4219869 Business Flow
24981 -- Update journal entry status -- Need to generate this within IF <condition>
24982 ----------------------------------------------------------------------------------
24983 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
24984 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
24985 ,p_balance_type_code => l_balance_type_code
24986 );
24987
24988 -------------------------------------------------------------------------------------------
24989 -- 4262811 - Generate the Accrual Reversal lines
24990 -------------------------------------------------------------------------------------------
24991 BEGIN
24992 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
24993 (g_array_event(p_event_id).array_value_num('header_index'));
24994 IF l_acc_rev_flag IS NULL THEN
24995 l_acc_rev_flag := 'N';
24996 END IF;
24997 EXCEPTION
24998 WHEN OTHERS THEN
24999 l_acc_rev_flag := 'N';
25000 END;
25001 --
25002 IF (l_acc_rev_flag = 'Y') THEN
25003
25004 -- 4645092 ------------------------------------------------------------------------------
25005 -- To allow MPA report to determine if it should generate report process
25006 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
25007 ------------------------------------------------------------------------------------------
25008
25009 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
25010 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
25011 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
25012 -- call ADRs
25013 -- Bug 4922099
25014 --
25015 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
25016 (NVL(l_actual_upg_option, 'N') = 'O') OR
25017 (NVL(l_enc_upg_option, 'N') = 'O')
25018 )
25019 THEN
25020 NULL;
25021 --
25022 --
25023
25024 l_ccid := AcctDerRule_7(
25025 p_application_id => p_application_id
25026 , p_ae_header_id => l_ae_header_id
25027 , p_source_11 => p_source_11
25028 , x_transaction_coa_id => l_adr_transaction_coa_id
25029 , x_accounting_coa_id => l_adr_accounting_coa_id
25030 , x_value_type_code => l_adr_value_type_code
25031 , p_side => 'NA'
25032 );
25033
25034 xla_ae_lines_pkg.set_ccid(
25035 p_code_combination_id => l_ccid
25036 , p_value_type_code => l_adr_value_type_code
25040 , p_adr_type_code => 'S'
25037 , p_transaction_coa_id => l_adr_transaction_coa_id
25038 , p_accounting_coa_id => l_adr_accounting_coa_id
25039 , p_adr_code => 'AP_INVOICE_DIST'
25041 , p_component_type => l_component_type
25042 , p_component_code => l_component_code
25043 , p_component_type_code => l_component_type_code
25044 , p_component_appl_id => l_component_appl_id
25045 , p_amb_context_code => l_amb_context_code
25046 , p_side => 'NA'
25047 );
25048
25049
25050 --
25051 --
25052 END IF;
25053
25054 --
25055 -- Update the line information that should be overwritten
25056 --
25057 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
25058 p_header_num => 1);
25059 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
25060
25061 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
25062
25063 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
25064 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
25065 END IF;
25066
25067 --
25068 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
25069 --
25070 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
25071 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
25072 ELSE
25073 ---------------------------------------------------------------------------------------------------
25074 -- 4262811a Switch Sign
25075 ---------------------------------------------------------------------------------------------------
25076 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
25077 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
25078 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
25079 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
25080 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
25081 -- 5132302
25082 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
25083 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
25084
25085 END IF;
25086
25087 -- 4955764
25088 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
25089 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
25090
25091
25092 XLA_AE_LINES_PKG.ValidateCurrentLine;
25093 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
25094
25095 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
25096 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
25097 ,p_balance_type_code => l_balance_type_code);
25098
25099 END IF;
25100
25101 -----------------------------------------------------------------------------------------
25102 -- 4262811 Multiperiod Accounting
25103 -----------------------------------------------------------------------------------------
25104 -- No MPA option is assigned.
25105
25106
25107 END IF;
25108 END IF;
25109 --
25110
25111 --
25112 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
25113 trace
25114 (p_msg => 'END of AcctLineType_45'
25115 ,p_level => C_LEVEL_PROCEDURE
25116 ,p_module => l_log_module);
25117 END IF;
25118 --
25119 EXCEPTION
25120 WHEN xla_exceptions_pkg.application_exception THEN
25121 RAISE;
25122 WHEN OTHERS THEN
25123 xla_exceptions_pkg.raise_message
25124 (p_location => 'XLA_00200_AAD_S_000006_BC_PKG.AcctLineType_45');
25125 END AcctLineType_45;
25126 --
25127
25128 ---------------------------------------
25129 --
25130 -- PRIVATE FUNCTION
25131 -- AcctLineType_46
25132 --
25133 ---------------------------------------
25134 PROCEDURE AcctLineType_46 (
25135 p_application_id IN NUMBER
25136 ,p_event_id IN NUMBER
25137 ,p_calculate_acctd_flag IN VARCHAR2
25138 ,p_calculate_g_l_flag IN VARCHAR2
25139 ,p_actual_flag IN OUT VARCHAR2
25140 ,p_balance_type_code OUT VARCHAR2
25141 ,p_gain_or_loss_ref OUT VARCHAR2
25142
25143 --Invoice Distribution Description
25144 , p_source_1 IN VARCHAR2
25145 --Invoice Distribution Account
25146 , p_source_11 IN NUMBER
25147 --Invoice Distribution Type
25148 , p_source_15 IN VARCHAR2
25149 , p_source_15_meaning IN VARCHAR2
25150 --Purchasing Encumbrance Option
25151 , p_source_17 IN VARCHAR2
25152 , p_source_17_meaning IN VARCHAR2
25153 --Accrue on Receipt Option
25154 , p_source_18 IN VARCHAR2
25155 , p_source_18_meaning IN VARCHAR2
25156 --Accounting Reversal Indicator
25157 , p_source_19 IN VARCHAR2
25158 --Distribution Link Type
25159 , p_source_21 IN VARCHAR2
25160 --Allocation to Main Distribution Identifier
25161 , p_source_23 IN NUMBER
25165 , p_source_25 IN NUMBER
25162 --Invoice Identifier
25163 , p_source_24 IN NUMBER
25164 --Business Flow Accounts Payable Application Identifier
25166 --Business Flow Invoice Distribution Type
25167 , p_source_26 IN VARCHAR2
25168 --Business Flow Invoice Entity Code
25169 , p_source_27 IN VARCHAR2
25170 --Business Flow Invoice Distribution Identifier
25171 , p_source_28 IN NUMBER
25172 --Business Flow Invoice Identifier
25173 , p_source_29 IN NUMBER
25174 --Invoice Distribution Identifier
25175 , p_source_30 IN NUMBER
25176 --Payables Encumbrance Upgrade Credit Account
25177 , p_source_31 IN NUMBER
25178 --Payables Encumbrance Upgrade Credit Amount
25179 , p_source_32 IN NUMBER
25180 --Invoice Currency Code
25181 , p_source_33 IN VARCHAR2
25182 --Payables Encumbrance Upgrade Credit Base Amount
25183 , p_source_34 IN NUMBER
25184 --Payables Encumbrance Upgrade Debit Account
25185 , p_source_35 IN NUMBER
25186 --Payables Encumbrance Upgrade Debit Amount
25187 , p_source_36 IN NUMBER
25188 --Payables Encumbrance Upgrade Debit Base Amount
25189 , p_source_37 IN NUMBER
25190 --Payables Encumbrance Upgrade Option
25191 , p_source_38 IN VARCHAR2
25192 --Invoice Exchange Date
25193 , p_source_39 IN DATE
25194 --Invoice Exchange Rate
25195 , p_source_40 IN NUMBER
25196 --Invoice Exchange Rate Type
25197 , p_source_41 IN VARCHAR2
25198 --Deferred Accounting End Date
25199 , p_source_43 IN DATE
25200 --Deferred Accounting Option
25201 , p_source_44 IN VARCHAR2
25202 --Deferred Accounting Start Date
25203 , p_source_45 IN DATE
25204 --Override Accounted Amount Indicator
25205 , p_source_46 IN VARCHAR2
25206 , p_source_46_meaning IN VARCHAR2
25207 --Invoice Supplier Identifier
25208 , p_source_47 IN NUMBER
25209 --Invoice Supplier Site Identifier
25210 , p_source_48 IN NUMBER
25211 --Third Party Type
25212 , p_source_49 IN VARCHAR2
25213 --Parent Reversal Identifier
25214 , p_source_50 IN NUMBER
25215 --Invoice Distribution Tax Line Identifier
25216 , p_source_52 IN NUMBER
25217 --Invoice Distribution Tax Distribution Identifier from Tax
25218 , p_source_53 IN NUMBER
25219 --Invoice Distribution Summary Tax Line Identifier
25220 , p_source_54 IN NUMBER
25221 --Payables Upgrade Credit Encumbrance Type Identifier
25222 , p_source_55 IN NUMBER
25223 --Payables Upgrade Debit Encumbrance Type Identifier
25224 , p_source_56 IN NUMBER
25225 --Self-Assessed Tax Flag
25226 , p_source_59 IN VARCHAR2
25227 , p_source_59_meaning IN VARCHAR2
25228 --Invoice Distribution Encumbrance Amount
25229 , p_source_65 IN NUMBER
25230 --Invoice Distribution Encumbrance Ledger Amount
25231 , p_source_66 IN NUMBER
25232 )
25233 IS
25234
25235 l_component_type VARCHAR2(80);
25236 l_component_code VARCHAR2(30);
25237 l_component_type_code VARCHAR2(1);
25238 l_component_appl_id INTEGER;
25239 l_amb_context_code VARCHAR2(30);
25240 l_entity_code VARCHAR2(30);
25241 l_event_class_code VARCHAR2(30);
25242 l_ae_header_id NUMBER;
25243 l_event_type_code VARCHAR2(30);
25244 l_line_definition_code VARCHAR2(30);
25245 l_line_definition_owner_code VARCHAR2(1);
25246 --
25247 -- adr variables
25248 l_segment VARCHAR2(30);
25249 l_ccid NUMBER;
25250 l_adr_transaction_coa_id NUMBER;
25251 l_adr_accounting_coa_id NUMBER;
25252 l_adr_flexfield_segment_code VARCHAR2(30);
25253 l_adr_flex_value_set_id NUMBER;
25254 l_adr_value_type_code VARCHAR2(30);
25255 l_adr_value_combination_id NUMBER;
25256 l_adr_value_segment_code VARCHAR2(30);
25257
25258 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
25259 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
25260 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
25261 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
25262
25263 -- 4262811 Variables ------------------------------------------------------------------------------------------
25264 l_entered_amt_idx NUMBER;
25265 l_accted_amt_idx NUMBER;
25266 l_acc_rev_flag VARCHAR2(1);
25267 l_accrual_line_num NUMBER;
25268 l_tmp_amt NUMBER;
25269 l_acc_rev_natural_side_code VARCHAR2(1);
25270
25271 l_num_entries NUMBER;
25272 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
25273 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
25274 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
25275 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
25276 l_recog_line_1 NUMBER;
25277 l_recog_line_2 NUMBER;
25278
25279 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
25280 l_bflow_applied_to_amt NUMBER; -- 5132302
25281 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
25282
25286 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
25283 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
25284
25285 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
25287
25288 ---------------------------------------------------------------------------------------------------------------
25289
25290
25291 --
25292 -- bulk performance
25293 --
25294 l_balance_type_code VARCHAR2(1);
25295 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
25296 l_log_module VARCHAR2(240);
25297
25298 --
25299 -- Upgrade strategy
25300 --
25301 l_actual_upg_option VARCHAR2(1);
25302 l_enc_upg_option VARCHAR2(1);
25303
25304 --
25305 BEGIN
25306 --
25307 IF g_log_enabled THEN
25308 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_46';
25309 END IF;
25310 --
25311 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
25312
25313 trace
25314 (p_msg => 'BEGIN of AcctLineType_46'
25315 ,p_level => C_LEVEL_PROCEDURE
25316 ,p_module => l_log_module);
25317
25318 END IF;
25319 --
25320 l_component_type := 'AMB_JLT';
25321 l_component_code := 'AP_NON_RECOV_TAX_DM_ENC_DR';
25322 l_component_type_code := 'S';
25323 l_component_appl_id := 200;
25324 l_amb_context_code := 'DEFAULT';
25325 l_entity_code := 'AP_INVOICES';
25326 l_event_class_code := 'DEBIT MEMOS';
25327 l_event_type_code := 'DEBIT MEMOS_ALL';
25328 l_line_definition_owner_code := 'S';
25329 l_line_definition_code := 'ENC_DM_ALL';
25330 --
25331 l_balance_type_code := 'E';
25332 l_segment := NULL;
25333 l_ccid := NULL;
25334 l_adr_transaction_coa_id := NULL;
25335 l_adr_accounting_coa_id := NULL;
25336 l_adr_flexfield_segment_code := NULL;
25337 l_adr_flex_value_set_id := NULL;
25338 l_adr_value_type_code := NULL;
25339 l_adr_value_combination_id := NULL;
25340 l_adr_value_segment_code := NULL;
25341
25342 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
25343 l_bflow_class_code := 'AP_INV_ENCUM'; -- 4219869 Business Flow
25344 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
25345 l_budgetary_control_flag := 'Y';
25346
25347 l_bflow_applied_to_amt_idx := NULL; -- 5132302
25348 l_bflow_applied_to_amt := NULL; -- 5132302
25349 l_entered_amt_idx := NULL; -- 4262811
25350 l_accted_amt_idx := NULL; -- 4262811
25351 l_acc_rev_flag := NULL; -- 4262811
25352 l_accrual_line_num := NULL; -- 4262811
25353 l_tmp_amt := NULL; -- 4262811
25354 --
25355
25356 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
25357 l_balance_type_code <> 'B' THEN
25358 IF NVL(p_source_15,'
25359 ') = 'NONREC_TAX' AND
25360 NVL(p_source_59,'
25361 ') <> 'Y' AND
25362 NVL(p_source_17,'
25363 ') = 'Y' AND
25364 NVL(p_source_18,'
25365 ') <> 'Y'
25366 THEN
25367
25368 --
25369 XLA_AE_LINES_PKG.SetNewLine;
25370
25371 p_balance_type_code := l_balance_type_code;
25372 -- set the flag so later we will know whether the gain loss line needs to be created
25373
25374 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
25375 p_actual_flag :='A';
25376 END IF;
25377
25378 --
25379 -- bulk performance
25380 --
25381 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
25382 p_header_num => 0); -- 4262811
25383 --
25384 -- set accounting line options
25385 --
25386 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
25387 p_natural_side_code => 'D'
25388 , p_gain_or_loss_flag => 'N'
25389 , p_gl_transfer_mode_code => 'S'
25390 , p_acct_entry_type_code => 'E'
25391 , p_switch_side_flag => 'Y'
25392 , p_merge_duplicate_code => 'N'
25393 );
25394 --
25395 l_acc_rev_natural_side_code := 'C'; -- 4262811
25396 --
25397 --
25398 -- set accounting line type info
25399 --
25400 xla_ae_lines_pkg.SetAcctLineType
25401 (p_component_type => l_component_type
25402 ,p_event_type_code => l_event_type_code
25403 ,p_line_definition_owner_code => l_line_definition_owner_code
25404 ,p_line_definition_code => l_line_definition_code
25405 ,p_accounting_line_code => l_component_code
25406 ,p_accounting_line_type_code => l_component_type_code
25407 ,p_accounting_line_appl_id => l_component_appl_id
25408 ,p_amb_context_code => l_amb_context_code
25409 ,p_entity_code => l_entity_code
25410 ,p_event_class_code => l_event_class_code);
25411 --
25412 -- set accounting class
25413 --
25414 xla_ae_lines_pkg.SetAcctClass(
25415 p_accounting_class_code => 'NRTAX'
25416 , p_ae_header_id => l_ae_header_id
25417 );
25418
25419 --
25420 -- set rounding class
25424
25421 --
25422 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
25423 'NRTAX';
25425 --
25426 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
25427 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
25428 --
25429 -- bulk performance
25430 --
25431 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
25432
25433 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
25434 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
25435
25436 -- 4955764
25437 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
25438 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
25439
25440 -- 4458381 Public Sector Enh
25441 XLA_AE_LINES_PKG.g_rec_lines.array_encumbrance_type_id(XLA_AE_LINES_PKG.g_LineNumber) := 1060;
25442 --
25443 -- set accounting attributes for the line type
25444 --
25445 l_entered_amt_idx := 23;
25446 l_accted_amt_idx := 28;
25447 l_bflow_applied_to_amt_idx := NULL; -- 5132302
25448 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
25449 l_rec_acct_attrs.array_char_value(1) := p_source_19;
25450 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
25451 l_rec_acct_attrs.array_num_value(2) :=
25452 xla_ae_sources_pkg.GetSystemSourceNum(
25453 p_source_code => 'XLA_EVENT_APPL_ID'
25454 , p_source_type_code => 'Y'
25455 , p_source_application_id => 602
25456 );
25457 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
25458 l_rec_acct_attrs.array_char_value(3) := p_source_21;
25459 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
25460 l_rec_acct_attrs.array_char_value(4) :=
25461 xla_ae_sources_pkg.GetSystemSourceChar(
25462 p_source_code => 'XLA_ENTITY_CODE'
25463 , p_source_type_code => 'Y'
25464 , p_source_application_id => 602
25465 );
25466 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
25467 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_23);
25468 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
25469 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_24);
25470 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
25471 l_rec_acct_attrs.array_num_value(7) := p_source_25;
25472 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
25473 l_rec_acct_attrs.array_char_value(8) := p_source_26;
25474 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
25475 l_rec_acct_attrs.array_char_value(9) := p_source_27;
25476 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
25477 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_28);
25478 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
25479 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_29);
25480 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
25481 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_30);
25482 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
25483 l_rec_acct_attrs.array_char_value(13) := p_source_21;
25484 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
25485 l_rec_acct_attrs.array_num_value(14) := p_source_31;
25486 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
25487 l_rec_acct_attrs.array_num_value(15) := p_source_32;
25488 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
25489 l_rec_acct_attrs.array_char_value(16) := p_source_33;
25490 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
25491 l_rec_acct_attrs.array_num_value(17) := p_source_34;
25492 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
25493 l_rec_acct_attrs.array_num_value(18) := p_source_35;
25494 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
25495 l_rec_acct_attrs.array_num_value(19) := p_source_36;
25496 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
25497 l_rec_acct_attrs.array_char_value(20) := p_source_33;
25498 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
25499 l_rec_acct_attrs.array_num_value(21) := p_source_37;
25500 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
25501 l_rec_acct_attrs.array_char_value(22) := p_source_38;
25502 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
25503 l_rec_acct_attrs.array_num_value(23) := p_source_65;
25504 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
25505 l_rec_acct_attrs.array_char_value(24) := p_source_33;
25506 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
25507 l_rec_acct_attrs.array_date_value(25) := p_source_39;
25508 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
25509 l_rec_acct_attrs.array_num_value(26) := p_source_40;
25510 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
25511 l_rec_acct_attrs.array_char_value(27) := p_source_41;
25512 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
25513 l_rec_acct_attrs.array_num_value(28) := p_source_66;
25514 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
25518 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
25515 l_rec_acct_attrs.array_date_value(29) := p_source_43;
25516 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
25517 l_rec_acct_attrs.array_char_value(30) := p_source_44;
25519 l_rec_acct_attrs.array_date_value(31) := p_source_45;
25520 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
25521 l_rec_acct_attrs.array_char_value(32) := p_source_46;
25522 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
25523 l_rec_acct_attrs.array_num_value(33) := p_source_47;
25524 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
25525 l_rec_acct_attrs.array_num_value(34) := p_source_48;
25526 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
25527 l_rec_acct_attrs.array_char_value(35) := p_source_49;
25528 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
25529 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_50);
25530 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
25531 l_rec_acct_attrs.array_char_value(37) := p_source_21;
25532 l_rec_acct_attrs.array_acct_attr_code(38) := 'TAX_LINE_REF_ID';
25533 l_rec_acct_attrs.array_num_value(38) := p_source_52;
25534 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_REC_NREC_DIST_REF_ID';
25535 l_rec_acct_attrs.array_num_value(39) := p_source_53;
25536 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_SUMMARY_LINE_REF_ID';
25537 l_rec_acct_attrs.array_num_value(40) := p_source_54;
25538 l_rec_acct_attrs.array_acct_attr_code(41) := 'UPG_CR_ENC_TYPE_ID';
25539 l_rec_acct_attrs.array_num_value(41) := p_source_55;
25540 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_DR_ENC_TYPE_ID';
25541 l_rec_acct_attrs.array_num_value(42) := p_source_56;
25542
25543 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
25544 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
25545
25546 ---------------------------------------------------------------------------------------------------------------
25547 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
25548 ---------------------------------------------------------------------------------------------------------------
25549 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
25550
25551 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
25552 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
25553
25554 IF xla_accounting_cache_pkg.GetValueChar
25555 (p_source_code => 'LEDGER_CATEGORY_CODE'
25556 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
25557 AND l_bflow_method_code = 'PRIOR_ENTRY'
25558 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
25559 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
25560 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
25561 )
25562 THEN
25563 xla_ae_lines_pkg.BflowUpgEntry
25564 (p_business_method_code => l_bflow_method_code
25565 ,p_business_class_code => l_bflow_class_code
25566 ,p_balance_type => l_balance_type_code);
25567 ELSE
25568 NULL;
25569 -- No business flow processing for business flow method of NONE.
25570 END IF;
25571
25572 --
25573 -- call analytical criteria
25574 --
25575
25576 --
25577 -- call description
25578 --
25579
25580 xla_ae_lines_pkg.SetLineDescription(
25581 p_ae_header_id => l_ae_header_id
25582 ,p_description => Description_2 (
25583 p_application_id => p_application_id
25584 , p_ae_header_id => l_ae_header_id
25585 , p_source_1 => p_source_1
25586 )
25587 );
25588
25589
25590 --
25591 -- call ADRs
25592 -- Bug 4922099
25593 --
25594 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
25595 (NVL(l_actual_upg_option, 'N') = 'O') OR
25596 (NVL(l_enc_upg_option, 'N') = 'O')
25597 )
25598 THEN
25599 NULL;
25600 --
25601 --
25602
25603 l_ccid := AcctDerRule_7(
25604 p_application_id => p_application_id
25605 , p_ae_header_id => l_ae_header_id
25606 , p_source_11 => p_source_11
25607 , x_transaction_coa_id => l_adr_transaction_coa_id
25608 , x_accounting_coa_id => l_adr_accounting_coa_id
25609 , x_value_type_code => l_adr_value_type_code
25610 , p_side => 'NA'
25611 );
25612
25613 xla_ae_lines_pkg.set_ccid(
25614 p_code_combination_id => l_ccid
25615 , p_value_type_code => l_adr_value_type_code
25616 , p_transaction_coa_id => l_adr_transaction_coa_id
25617 , p_accounting_coa_id => l_adr_accounting_coa_id
25618 , p_adr_code => 'AP_INVOICE_DIST'
25619 , p_adr_type_code => 'S'
25620 , p_component_type => l_component_type
25621 , p_component_code => l_component_code
25622 , p_component_type_code => l_component_type_code
25623 , p_component_appl_id => l_component_appl_id
25624 , p_amb_context_code => l_amb_context_code
25625 , p_side => 'NA'
25626 );
25627
25628
25629 --
25633 -- Bug 4922099
25630 --
25631 END IF;
25632 --
25634 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
25635 (NVL(l_enc_upg_option, 'N') = 'O')
25636 ) AND
25637 (l_bflow_method_code = 'PRIOR_ENTRY')
25638 )
25639 THEN
25640 IF
25641 --
25642 1 = 2
25643 --
25644 THEN
25645 xla_accounting_err_pkg.build_message
25646 (p_appli_s_name => 'XLA'
25647 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
25648 ,p_token_1 => 'LINE_NUMBER'
25649 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
25650 ,p_token_2 => 'LINE_TYPE_NAME'
25651 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
25652 l_component_type
25653 ,l_component_code
25654 ,l_component_type_code
25655 ,l_component_appl_id
25656 ,l_amb_context_code
25657 ,l_entity_code
25658 ,l_event_class_code
25659 )
25660 ,p_token_3 => 'OWNER'
25661 ,p_value_3 => xla_lookups_pkg.get_meaning(
25662 p_lookup_type => 'XLA_OWNER_TYPE'
25663 ,p_lookup_code => l_component_type_code
25664 )
25665 ,p_token_4 => 'PRODUCT_NAME'
25666 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
25667 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
25668 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
25669 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
25670 ,p_ae_header_id => NULL
25671 );
25672
25673 IF (C_LEVEL_ERROR>= g_log_level) THEN
25674 trace
25675 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
25676 ,p_level => C_LEVEL_ERROR
25677 ,p_module => l_log_module);
25678 END IF;
25679 END IF;
25680 END IF;
25681 --
25682 --
25683 ------------------------------------------------------------------------------------------------
25684 -- 4219869 Business Flow
25685 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
25686 -- Prior Entry. Currently, the following code is always generated.
25687 ------------------------------------------------------------------------------------------------
25688 XLA_AE_LINES_PKG.ValidateCurrentLine;
25689
25690 ------------------------------------------------------------------------------------
25691 -- 4219869 Business Flow
25692 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
25693 ------------------------------------------------------------------------------------
25694 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
25695
25696 ----------------------------------------------------------------------------------
25697 -- 4219869 Business Flow
25698 -- Update journal entry status -- Need to generate this within IF <condition>
25699 ----------------------------------------------------------------------------------
25700 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
25701 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
25702 ,p_balance_type_code => l_balance_type_code
25703 );
25704
25705 -------------------------------------------------------------------------------------------
25706 -- 4262811 - Generate the Accrual Reversal lines
25707 -------------------------------------------------------------------------------------------
25708 BEGIN
25709 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
25710 (g_array_event(p_event_id).array_value_num('header_index'));
25711 IF l_acc_rev_flag IS NULL THEN
25712 l_acc_rev_flag := 'N';
25713 END IF;
25714 EXCEPTION
25715 WHEN OTHERS THEN
25716 l_acc_rev_flag := 'N';
25717 END;
25718 --
25719 IF (l_acc_rev_flag = 'Y') THEN
25720
25721 -- 4645092 ------------------------------------------------------------------------------
25722 -- To allow MPA report to determine if it should generate report process
25723 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
25724 ------------------------------------------------------------------------------------------
25725
25726 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
25730 -- Bug 4922099
25727 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
25728 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
25729 -- call ADRs
25731 --
25732 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
25733 (NVL(l_actual_upg_option, 'N') = 'O') OR
25734 (NVL(l_enc_upg_option, 'N') = 'O')
25735 )
25736 THEN
25737 NULL;
25738 --
25739 --
25740
25741 l_ccid := AcctDerRule_7(
25742 p_application_id => p_application_id
25743 , p_ae_header_id => l_ae_header_id
25744 , p_source_11 => p_source_11
25745 , x_transaction_coa_id => l_adr_transaction_coa_id
25746 , x_accounting_coa_id => l_adr_accounting_coa_id
25747 , x_value_type_code => l_adr_value_type_code
25748 , p_side => 'NA'
25749 );
25750
25751 xla_ae_lines_pkg.set_ccid(
25752 p_code_combination_id => l_ccid
25753 , p_value_type_code => l_adr_value_type_code
25754 , p_transaction_coa_id => l_adr_transaction_coa_id
25755 , p_accounting_coa_id => l_adr_accounting_coa_id
25756 , p_adr_code => 'AP_INVOICE_DIST'
25757 , p_adr_type_code => 'S'
25758 , p_component_type => l_component_type
25759 , p_component_code => l_component_code
25760 , p_component_type_code => l_component_type_code
25761 , p_component_appl_id => l_component_appl_id
25762 , p_amb_context_code => l_amb_context_code
25763 , p_side => 'NA'
25764 );
25765
25766
25767 --
25768 --
25769 END IF;
25770
25771 --
25772 -- Update the line information that should be overwritten
25773 --
25774 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
25775 p_header_num => 1);
25776 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
25777
25778 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
25779
25780 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
25781 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
25782 END IF;
25783
25784 --
25785 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
25786 --
25787 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
25788 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
25789 ELSE
25790 ---------------------------------------------------------------------------------------------------
25791 -- 4262811a Switch Sign
25792 ---------------------------------------------------------------------------------------------------
25793 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
25794 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
25795 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
25796 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
25797 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
25798 -- 5132302
25799 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
25800 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
25801
25802 END IF;
25803
25804 -- 4955764
25805 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
25806 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
25807
25808
25809 XLA_AE_LINES_PKG.ValidateCurrentLine;
25810 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
25811
25812 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
25813 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
25814 ,p_balance_type_code => l_balance_type_code);
25815
25816 END IF;
25817
25818 -----------------------------------------------------------------------------------------
25819 -- 4262811 Multiperiod Accounting
25820 -----------------------------------------------------------------------------------------
25821 -- No MPA option is assigned.
25822
25823
25824 END IF;
25825 END IF;
25826 --
25827
25828 --
25829 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
25830 trace
25831 (p_msg => 'END of AcctLineType_46'
25832 ,p_level => C_LEVEL_PROCEDURE
25833 ,p_module => l_log_module);
25834 END IF;
25835 --
25836 EXCEPTION
25837 WHEN xla_exceptions_pkg.application_exception THEN
25838 RAISE;
25839 WHEN OTHERS THEN
25840 xla_exceptions_pkg.raise_message
25841 (p_location => 'XLA_00200_AAD_S_000006_BC_PKG.AcctLineType_46');
25842 END AcctLineType_46;
25843 --
25844
25845 ---------------------------------------
25846 --
25847 -- PRIVATE FUNCTION
25851 PROCEDURE AcctLineType_47 (
25848 -- AcctLineType_47
25849 --
25850 ---------------------------------------
25852 p_application_id IN NUMBER
25853 ,p_event_id IN NUMBER
25854 ,p_calculate_acctd_flag IN VARCHAR2
25855 ,p_calculate_g_l_flag IN VARCHAR2
25856 ,p_actual_flag IN OUT VARCHAR2
25857 ,p_balance_type_code OUT VARCHAR2
25858 ,p_gain_or_loss_ref OUT VARCHAR2
25859
25860 --Invoice Distribution Description
25861 , p_source_1 IN VARCHAR2
25862 --Invoice Distribution Account
25863 , p_source_11 IN NUMBER
25864 --Invoice Distribution Type
25865 , p_source_15 IN VARCHAR2
25866 , p_source_15_meaning IN VARCHAR2
25867 --Purchasing Encumbrance Option
25868 , p_source_17 IN VARCHAR2
25869 , p_source_17_meaning IN VARCHAR2
25870 --Accrue on Receipt Option
25871 , p_source_18 IN VARCHAR2
25872 , p_source_18_meaning IN VARCHAR2
25873 --Accounting Reversal Indicator
25874 , p_source_19 IN VARCHAR2
25875 --Distribution Link Type
25876 , p_source_21 IN VARCHAR2
25877 --Allocation to Main Distribution Identifier
25878 , p_source_23 IN NUMBER
25879 --Invoice Identifier
25880 , p_source_24 IN NUMBER
25881 --Business Flow Accounts Payable Application Identifier
25882 , p_source_25 IN NUMBER
25883 --Business Flow Invoice Distribution Type
25884 , p_source_26 IN VARCHAR2
25885 --Business Flow Invoice Entity Code
25886 , p_source_27 IN VARCHAR2
25887 --Business Flow Invoice Distribution Identifier
25888 , p_source_28 IN NUMBER
25889 --Business Flow Invoice Identifier
25890 , p_source_29 IN NUMBER
25891 --Invoice Distribution Identifier
25892 , p_source_30 IN NUMBER
25893 --Payables Encumbrance Upgrade Credit Account
25894 , p_source_31 IN NUMBER
25895 --Payables Encumbrance Upgrade Credit Amount
25896 , p_source_32 IN NUMBER
25897 --Invoice Currency Code
25898 , p_source_33 IN VARCHAR2
25899 --Payables Encumbrance Upgrade Credit Base Amount
25900 , p_source_34 IN NUMBER
25901 --Payables Encumbrance Upgrade Debit Account
25902 , p_source_35 IN NUMBER
25903 --Payables Encumbrance Upgrade Debit Amount
25904 , p_source_36 IN NUMBER
25905 --Payables Encumbrance Upgrade Debit Base Amount
25906 , p_source_37 IN NUMBER
25907 --Payables Encumbrance Upgrade Option
25908 , p_source_38 IN VARCHAR2
25909 --Invoice Exchange Date
25910 , p_source_39 IN DATE
25911 --Invoice Exchange Rate
25912 , p_source_40 IN NUMBER
25913 --Invoice Exchange Rate Type
25914 , p_source_41 IN VARCHAR2
25915 --Deferred Accounting End Date
25916 , p_source_43 IN DATE
25917 --Deferred Accounting Option
25918 , p_source_44 IN VARCHAR2
25919 --Deferred Accounting Start Date
25920 , p_source_45 IN DATE
25921 --Override Accounted Amount Indicator
25922 , p_source_46 IN VARCHAR2
25923 , p_source_46_meaning IN VARCHAR2
25924 --Invoice Supplier Identifier
25925 , p_source_47 IN NUMBER
25926 --Invoice Supplier Site Identifier
25927 , p_source_48 IN NUMBER
25928 --Third Party Type
25929 , p_source_49 IN VARCHAR2
25930 --Parent Reversal Identifier
25931 , p_source_50 IN NUMBER
25932 --Invoice Distribution Statistical Amount
25933 , p_source_51 IN NUMBER
25934 --Invoice Distribution Tax Line Identifier
25935 , p_source_52 IN NUMBER
25936 --Invoice Distribution Tax Distribution Identifier from Tax
25937 , p_source_53 IN NUMBER
25938 --Invoice Distribution Summary Tax Line Identifier
25939 , p_source_54 IN NUMBER
25940 --Payables Upgrade Credit Encumbrance Type Identifier
25941 , p_source_55 IN NUMBER
25942 --Payables Upgrade Debit Encumbrance Type Identifier
25943 , p_source_56 IN NUMBER
25944 --Invoice Distribution Amount
25945 , p_source_57 IN NUMBER
25946 --Self-Assessed Tax Flag
25947 , p_source_59 IN VARCHAR2
25948 , p_source_59_meaning IN VARCHAR2
25949 --Invoice Distribution Encumbrance Amount
25950 , p_source_65 IN NUMBER
25951 --Invoice Distribution Encumbrance Ledger Amount
25952 , p_source_66 IN NUMBER
25953 )
25954 IS
25955
25956 l_component_type VARCHAR2(80);
25957 l_component_code VARCHAR2(30);
25958 l_component_type_code VARCHAR2(1);
25959 l_component_appl_id INTEGER;
25960 l_amb_context_code VARCHAR2(30);
25961 l_entity_code VARCHAR2(30);
25962 l_event_class_code VARCHAR2(30);
25963 l_ae_header_id NUMBER;
25964 l_event_type_code VARCHAR2(30);
25965 l_line_definition_code VARCHAR2(30);
25966 l_line_definition_owner_code VARCHAR2(1);
25967 --
25968 -- adr variables
25969 l_segment VARCHAR2(30);
25970 l_ccid NUMBER;
25971 l_adr_transaction_coa_id NUMBER;
25972 l_adr_accounting_coa_id NUMBER;
25973 l_adr_flexfield_segment_code VARCHAR2(30);
25974 l_adr_flex_value_set_id NUMBER;
25975 l_adr_value_type_code VARCHAR2(30);
25976 l_adr_value_combination_id NUMBER;
25977 l_adr_value_segment_code VARCHAR2(30);
25978
25982 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
25979 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
25980 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
25981 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
25983
25984 -- 4262811 Variables ------------------------------------------------------------------------------------------
25985 l_entered_amt_idx NUMBER;
25986 l_accted_amt_idx NUMBER;
25987 l_acc_rev_flag VARCHAR2(1);
25988 l_accrual_line_num NUMBER;
25989 l_tmp_amt NUMBER;
25990 l_acc_rev_natural_side_code VARCHAR2(1);
25991
25992 l_num_entries NUMBER;
25993 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
25994 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
25995 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
25996 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
25997 l_recog_line_1 NUMBER;
25998 l_recog_line_2 NUMBER;
25999
26000 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
26001 l_bflow_applied_to_amt NUMBER; -- 5132302
26002 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
26003
26004 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
26005
26006 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
26007 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
26008
26009 ---------------------------------------------------------------------------------------------------------------
26010
26011
26012 --
26013 -- bulk performance
26014 --
26015 l_balance_type_code VARCHAR2(1);
26016 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
26017 l_log_module VARCHAR2(240);
26018
26019 --
26020 -- Upgrade strategy
26021 --
26022 l_actual_upg_option VARCHAR2(1);
26023 l_enc_upg_option VARCHAR2(1);
26024
26025 --
26026 BEGIN
26027 --
26028 IF g_log_enabled THEN
26029 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_47';
26030 END IF;
26031 --
26032 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
26033
26034 trace
26035 (p_msg => 'BEGIN of AcctLineType_47'
26036 ,p_level => C_LEVEL_PROCEDURE
26037 ,p_module => l_log_module);
26038
26039 END IF;
26040 --
26041 l_component_type := 'AMB_JLT';
26042 l_component_code := 'AP_NON_RECOV_TAX_INV_ENC_DR';
26043 l_component_type_code := 'S';
26044 l_component_appl_id := 200;
26045 l_amb_context_code := 'DEFAULT';
26046 l_entity_code := 'AP_INVOICES';
26047 l_event_class_code := 'INVOICES';
26048 l_event_type_code := 'INVOICES_ALL';
26049 l_line_definition_owner_code := 'S';
26050 l_line_definition_code := 'ENC_INVOICES_ALL';
26051 --
26052 l_balance_type_code := 'E';
26053 l_segment := NULL;
26054 l_ccid := NULL;
26055 l_adr_transaction_coa_id := NULL;
26056 l_adr_accounting_coa_id := NULL;
26057 l_adr_flexfield_segment_code := NULL;
26058 l_adr_flex_value_set_id := NULL;
26059 l_adr_value_type_code := NULL;
26060 l_adr_value_combination_id := NULL;
26061 l_adr_value_segment_code := NULL;
26062
26063 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
26064 l_bflow_class_code := 'AP_INV_ENCUM'; -- 4219869 Business Flow
26065 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
26066 l_budgetary_control_flag := 'Y';
26067
26068 l_bflow_applied_to_amt_idx := NULL; -- 5132302
26069 l_bflow_applied_to_amt := NULL; -- 5132302
26070 l_entered_amt_idx := NULL; -- 4262811
26071 l_accted_amt_idx := NULL; -- 4262811
26072 l_acc_rev_flag := NULL; -- 4262811
26073 l_accrual_line_num := NULL; -- 4262811
26074 l_tmp_amt := NULL; -- 4262811
26075 --
26076
26077 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
26078 l_balance_type_code <> 'B' THEN
26079 IF NVL(p_source_15,'
26080 ') = 'NONREC_TAX' AND
26081 NVL(p_source_59,'
26082 ') <> 'Y' AND
26083 NVL(p_source_17,'
26084 ') = 'Y' AND
26085 NVL(p_source_18,'
26086 ') <> 'Y'
26087 THEN
26088
26089 --
26090 XLA_AE_LINES_PKG.SetNewLine;
26091
26092 p_balance_type_code := l_balance_type_code;
26093 -- set the flag so later we will know whether the gain loss line needs to be created
26094
26095 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
26096 p_actual_flag :='A';
26097 END IF;
26098
26099 --
26100 -- bulk performance
26101 --
26102 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
26103 p_header_num => 0); -- 4262811
26104 --
26105 -- set accounting line options
26106 --
26107 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
26108 p_natural_side_code => 'D'
26112 , p_switch_side_flag => 'Y'
26109 , p_gain_or_loss_flag => 'N'
26110 , p_gl_transfer_mode_code => 'S'
26111 , p_acct_entry_type_code => 'E'
26113 , p_merge_duplicate_code => 'N'
26114 );
26115 --
26116 l_acc_rev_natural_side_code := 'C'; -- 4262811
26117 --
26118 --
26119 -- set accounting line type info
26120 --
26121 xla_ae_lines_pkg.SetAcctLineType
26122 (p_component_type => l_component_type
26123 ,p_event_type_code => l_event_type_code
26124 ,p_line_definition_owner_code => l_line_definition_owner_code
26125 ,p_line_definition_code => l_line_definition_code
26126 ,p_accounting_line_code => l_component_code
26127 ,p_accounting_line_type_code => l_component_type_code
26128 ,p_accounting_line_appl_id => l_component_appl_id
26129 ,p_amb_context_code => l_amb_context_code
26130 ,p_entity_code => l_entity_code
26131 ,p_event_class_code => l_event_class_code);
26132 --
26133 -- set accounting class
26134 --
26135 xla_ae_lines_pkg.SetAcctClass(
26136 p_accounting_class_code => 'NRTAX'
26137 , p_ae_header_id => l_ae_header_id
26138 );
26139
26140 --
26141 -- set rounding class
26142 --
26143 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
26144 'NRTAX';
26145
26146 --
26147 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
26148 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
26149 --
26150 -- bulk performance
26151 --
26152 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
26153
26154 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
26155 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
26156
26157 -- 4955764
26158 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
26159 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
26160
26161 -- 4458381 Public Sector Enh
26162 XLA_AE_LINES_PKG.g_rec_lines.array_encumbrance_type_id(XLA_AE_LINES_PKG.g_LineNumber) := 1060;
26163 --
26164 -- set accounting attributes for the line type
26165 --
26166 l_entered_amt_idx := 24;
26167 l_accted_amt_idx := 29;
26168 l_bflow_applied_to_amt_idx := 7; -- 5132302
26169 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
26170 l_rec_acct_attrs.array_char_value(1) := p_source_19;
26171 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
26172 l_rec_acct_attrs.array_num_value(2) :=
26173 xla_ae_sources_pkg.GetSystemSourceNum(
26174 p_source_code => 'XLA_EVENT_APPL_ID'
26175 , p_source_type_code => 'Y'
26176 , p_source_application_id => 602
26177 );
26178 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
26179 l_rec_acct_attrs.array_char_value(3) := p_source_21;
26180 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
26181 l_rec_acct_attrs.array_char_value(4) :=
26182 xla_ae_sources_pkg.GetSystemSourceChar(
26183 p_source_code => 'XLA_ENTITY_CODE'
26184 , p_source_type_code => 'Y'
26185 , p_source_application_id => 602
26186 );
26187 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
26188 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_23);
26189 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
26190 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_24);
26191 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_AMOUNT';
26192 l_rec_acct_attrs.array_num_value(7) := p_source_57;
26193 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_APPLICATION_ID';
26194 l_rec_acct_attrs.array_num_value(8) := p_source_25;
26195 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_DISTRIBUTION_TYPE';
26196 l_rec_acct_attrs.array_char_value(9) := p_source_26;
26197 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_ENTITY_CODE';
26198 l_rec_acct_attrs.array_char_value(10) := p_source_27;
26199 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_DIST_ID';
26200 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_28);
26201 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
26202 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_29);
26203 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
26204 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_30);
26205 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_TYPE';
26206 l_rec_acct_attrs.array_char_value(14) := p_source_21;
26207 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
26208 l_rec_acct_attrs.array_num_value(15) := p_source_31;
26209 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
26210 l_rec_acct_attrs.array_num_value(16) := p_source_32;
26211 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
26212 l_rec_acct_attrs.array_char_value(17) := p_source_33;
26213 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
26214 l_rec_acct_attrs.array_num_value(18) := p_source_34;
26215 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_CCID';
26219 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_CURR';
26216 l_rec_acct_attrs.array_num_value(19) := p_source_35;
26217 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_AMT';
26218 l_rec_acct_attrs.array_num_value(20) := p_source_36;
26220 l_rec_acct_attrs.array_char_value(21) := p_source_33;
26221 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_LEDGER_AMT';
26222 l_rec_acct_attrs.array_num_value(22) := p_source_37;
26223 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_OPTION';
26224 l_rec_acct_attrs.array_char_value(23) := p_source_38;
26225 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_AMOUNT';
26226 l_rec_acct_attrs.array_num_value(24) := p_source_65;
26227 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_CODE';
26228 l_rec_acct_attrs.array_char_value(25) := p_source_33;
26229 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_DATE';
26230 l_rec_acct_attrs.array_date_value(26) := p_source_39;
26231 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE';
26232 l_rec_acct_attrs.array_num_value(27) := p_source_40;
26233 l_rec_acct_attrs.array_acct_attr_code(28) := 'EXCHANGE_RATE_TYPE';
26234 l_rec_acct_attrs.array_char_value(28) := p_source_41;
26235 l_rec_acct_attrs.array_acct_attr_code(29) := 'LEDGER_AMOUNT';
26236 l_rec_acct_attrs.array_num_value(29) := p_source_66;
26237 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_END_DATE';
26238 l_rec_acct_attrs.array_date_value(30) := p_source_43;
26239 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_OPTION';
26240 l_rec_acct_attrs.array_char_value(31) := p_source_44;
26241 l_rec_acct_attrs.array_acct_attr_code(32) := 'MULTIPERIOD_START_DATE';
26242 l_rec_acct_attrs.array_date_value(32) := p_source_45;
26243 l_rec_acct_attrs.array_acct_attr_code(33) := 'OVERRIDE_ACCTD_AMT_FLAG';
26244 l_rec_acct_attrs.array_char_value(33) := p_source_46;
26245 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_ID';
26246 l_rec_acct_attrs.array_num_value(34) := p_source_47;
26247 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_SITE_ID';
26248 l_rec_acct_attrs.array_num_value(35) := p_source_48;
26249 l_rec_acct_attrs.array_acct_attr_code(36) := 'PARTY_TYPE';
26250 l_rec_acct_attrs.array_char_value(36) := p_source_49;
26251 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_ID1';
26252 l_rec_acct_attrs.array_num_value(37) := to_char(p_source_50);
26253 l_rec_acct_attrs.array_acct_attr_code(38) := 'REVERSED_DISTRIBUTION_TYPE';
26254 l_rec_acct_attrs.array_char_value(38) := p_source_21;
26255 l_rec_acct_attrs.array_acct_attr_code(39) := 'STATISTICAL_AMOUNT';
26256 l_rec_acct_attrs.array_num_value(39) := p_source_51;
26257 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_LINE_REF_ID';
26258 l_rec_acct_attrs.array_num_value(40) := p_source_52;
26259 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_REC_NREC_DIST_REF_ID';
26260 l_rec_acct_attrs.array_num_value(41) := p_source_53;
26261 l_rec_acct_attrs.array_acct_attr_code(42) := 'TAX_SUMMARY_LINE_REF_ID';
26262 l_rec_acct_attrs.array_num_value(42) := p_source_54;
26263 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_CR_ENC_TYPE_ID';
26264 l_rec_acct_attrs.array_num_value(43) := p_source_55;
26265 l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
26266 l_rec_acct_attrs.array_num_value(44) := p_source_56;
26267
26268 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
26269 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
26270
26271 ---------------------------------------------------------------------------------------------------------------
26272 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
26273 ---------------------------------------------------------------------------------------------------------------
26274 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
26275
26276 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
26277 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
26278
26279 IF xla_accounting_cache_pkg.GetValueChar
26280 (p_source_code => 'LEDGER_CATEGORY_CODE'
26281 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
26282 AND l_bflow_method_code = 'PRIOR_ENTRY'
26283 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
26284 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
26285 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
26286 )
26287 THEN
26288 xla_ae_lines_pkg.BflowUpgEntry
26289 (p_business_method_code => l_bflow_method_code
26290 ,p_business_class_code => l_bflow_class_code
26291 ,p_balance_type => l_balance_type_code);
26292 ELSE
26293 NULL;
26294 -- No business flow processing for business flow method of NONE.
26295 END IF;
26296
26297 --
26298 -- call analytical criteria
26299 --
26300
26301 --
26302 -- call description
26303 --
26304
26305 xla_ae_lines_pkg.SetLineDescription(
26306 p_ae_header_id => l_ae_header_id
26307 ,p_description => Description_2 (
26308 p_application_id => p_application_id
26309 , p_ae_header_id => l_ae_header_id
26310 , p_source_1 => p_source_1
26311 )
26312 );
26313
26314
26315 --
26319 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
26316 -- call ADRs
26317 -- Bug 4922099
26318 --
26320 (NVL(l_actual_upg_option, 'N') = 'O') OR
26321 (NVL(l_enc_upg_option, 'N') = 'O')
26322 )
26323 THEN
26324 NULL;
26325 --
26326 --
26327
26328 l_ccid := AcctDerRule_7(
26329 p_application_id => p_application_id
26330 , p_ae_header_id => l_ae_header_id
26331 , p_source_11 => p_source_11
26332 , x_transaction_coa_id => l_adr_transaction_coa_id
26333 , x_accounting_coa_id => l_adr_accounting_coa_id
26334 , x_value_type_code => l_adr_value_type_code
26335 , p_side => 'NA'
26336 );
26337
26338 xla_ae_lines_pkg.set_ccid(
26339 p_code_combination_id => l_ccid
26340 , p_value_type_code => l_adr_value_type_code
26341 , p_transaction_coa_id => l_adr_transaction_coa_id
26342 , p_accounting_coa_id => l_adr_accounting_coa_id
26343 , p_adr_code => 'AP_INVOICE_DIST'
26344 , p_adr_type_code => 'S'
26345 , p_component_type => l_component_type
26346 , p_component_code => l_component_code
26347 , p_component_type_code => l_component_type_code
26348 , p_component_appl_id => l_component_appl_id
26349 , p_amb_context_code => l_amb_context_code
26350 , p_side => 'NA'
26351 );
26352
26353
26354 --
26355 --
26356 END IF;
26357 --
26358 -- Bug 4922099
26359 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
26360 (NVL(l_enc_upg_option, 'N') = 'O')
26361 ) AND
26362 (l_bflow_method_code = 'PRIOR_ENTRY')
26363 )
26364 THEN
26365 IF
26366 --
26367 1 = 2
26368 --
26369 THEN
26370 xla_accounting_err_pkg.build_message
26371 (p_appli_s_name => 'XLA'
26372 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
26373 ,p_token_1 => 'LINE_NUMBER'
26374 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
26375 ,p_token_2 => 'LINE_TYPE_NAME'
26376 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
26377 l_component_type
26378 ,l_component_code
26379 ,l_component_type_code
26380 ,l_component_appl_id
26381 ,l_amb_context_code
26382 ,l_entity_code
26383 ,l_event_class_code
26384 )
26385 ,p_token_3 => 'OWNER'
26386 ,p_value_3 => xla_lookups_pkg.get_meaning(
26387 p_lookup_type => 'XLA_OWNER_TYPE'
26388 ,p_lookup_code => l_component_type_code
26389 )
26390 ,p_token_4 => 'PRODUCT_NAME'
26391 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
26392 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
26393 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
26394 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
26395 ,p_ae_header_id => NULL
26396 );
26397
26398 IF (C_LEVEL_ERROR>= g_log_level) THEN
26399 trace
26400 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
26401 ,p_level => C_LEVEL_ERROR
26402 ,p_module => l_log_module);
26403 END IF;
26404 END IF;
26405 END IF;
26406 --
26407 --
26408 ------------------------------------------------------------------------------------------------
26409 -- 4219869 Business Flow
26410 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
26411 -- Prior Entry. Currently, the following code is always generated.
26412 ------------------------------------------------------------------------------------------------
26413 XLA_AE_LINES_PKG.ValidateCurrentLine;
26414
26415 ------------------------------------------------------------------------------------
26416 -- 4219869 Business Flow
26417 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
26418 ------------------------------------------------------------------------------------
26419 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
26420
26424 ----------------------------------------------------------------------------------
26421 ----------------------------------------------------------------------------------
26422 -- 4219869 Business Flow
26423 -- Update journal entry status -- Need to generate this within IF <condition>
26425 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
26426 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
26427 ,p_balance_type_code => l_balance_type_code
26428 );
26429
26430 -------------------------------------------------------------------------------------------
26431 -- 4262811 - Generate the Accrual Reversal lines
26432 -------------------------------------------------------------------------------------------
26433 BEGIN
26434 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
26435 (g_array_event(p_event_id).array_value_num('header_index'));
26436 IF l_acc_rev_flag IS NULL THEN
26437 l_acc_rev_flag := 'N';
26438 END IF;
26439 EXCEPTION
26440 WHEN OTHERS THEN
26441 l_acc_rev_flag := 'N';
26442 END;
26443 --
26444 IF (l_acc_rev_flag = 'Y') THEN
26445
26446 -- 4645092 ------------------------------------------------------------------------------
26447 -- To allow MPA report to determine if it should generate report process
26448 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
26449 ------------------------------------------------------------------------------------------
26450
26451 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
26452 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
26453 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
26454 -- call ADRs
26455 -- Bug 4922099
26456 --
26457 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
26458 (NVL(l_actual_upg_option, 'N') = 'O') OR
26459 (NVL(l_enc_upg_option, 'N') = 'O')
26460 )
26461 THEN
26462 NULL;
26463 --
26464 --
26465
26466 l_ccid := AcctDerRule_7(
26467 p_application_id => p_application_id
26468 , p_ae_header_id => l_ae_header_id
26469 , p_source_11 => p_source_11
26470 , x_transaction_coa_id => l_adr_transaction_coa_id
26471 , x_accounting_coa_id => l_adr_accounting_coa_id
26472 , x_value_type_code => l_adr_value_type_code
26473 , p_side => 'NA'
26474 );
26475
26476 xla_ae_lines_pkg.set_ccid(
26477 p_code_combination_id => l_ccid
26478 , p_value_type_code => l_adr_value_type_code
26479 , p_transaction_coa_id => l_adr_transaction_coa_id
26480 , p_accounting_coa_id => l_adr_accounting_coa_id
26481 , p_adr_code => 'AP_INVOICE_DIST'
26482 , p_adr_type_code => 'S'
26483 , p_component_type => l_component_type
26484 , p_component_code => l_component_code
26485 , p_component_type_code => l_component_type_code
26486 , p_component_appl_id => l_component_appl_id
26487 , p_amb_context_code => l_amb_context_code
26488 , p_side => 'NA'
26489 );
26490
26491
26492 --
26493 --
26494 END IF;
26495
26496 --
26497 -- Update the line information that should be overwritten
26498 --
26499 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
26500 p_header_num => 1);
26501 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
26502
26503 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
26504
26505 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
26506 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
26507 END IF;
26508
26509 --
26510 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
26511 --
26512 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
26513 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
26514 ELSE
26515 ---------------------------------------------------------------------------------------------------
26516 -- 4262811a Switch Sign
26517 ---------------------------------------------------------------------------------------------------
26518 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
26519 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
26520 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
26521 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
26522 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
26523 -- 5132302
26524 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
26528
26525 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
26526
26527 END IF;
26529 -- 4955764
26530 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
26531 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
26532
26533
26534 XLA_AE_LINES_PKG.ValidateCurrentLine;
26535 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
26536
26537 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
26538 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
26539 ,p_balance_type_code => l_balance_type_code);
26540
26541 END IF;
26542
26543 -----------------------------------------------------------------------------------------
26544 -- 4262811 Multiperiod Accounting
26545 -----------------------------------------------------------------------------------------
26546 -- No MPA option is assigned.
26547
26548
26549 END IF;
26550 END IF;
26551 --
26552
26553 --
26554 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
26555 trace
26556 (p_msg => 'END of AcctLineType_47'
26557 ,p_level => C_LEVEL_PROCEDURE
26558 ,p_module => l_log_module);
26559 END IF;
26560 --
26561 EXCEPTION
26562 WHEN xla_exceptions_pkg.application_exception THEN
26563 RAISE;
26564 WHEN OTHERS THEN
26565 xla_exceptions_pkg.raise_message
26566 (p_location => 'XLA_00200_AAD_S_000006_BC_PKG.AcctLineType_47');
26567 END AcctLineType_47;
26568 --
26569
26570 ---------------------------------------
26571 --
26572 -- PRIVATE FUNCTION
26573 -- AcctLineType_48
26574 --
26575 ---------------------------------------
26576 PROCEDURE AcctLineType_48 (
26577 p_application_id IN NUMBER
26578 ,p_event_id IN NUMBER
26579 ,p_calculate_acctd_flag IN VARCHAR2
26580 ,p_calculate_g_l_flag IN VARCHAR2
26581 ,p_actual_flag IN OUT VARCHAR2
26582 ,p_balance_type_code OUT VARCHAR2
26583 ,p_gain_or_loss_ref OUT VARCHAR2
26584
26585 --Invoice Distribution Description
26586 , p_source_1 IN VARCHAR2
26587 --Invoice Distribution Account
26588 , p_source_11 IN NUMBER
26589 --Invoice Distribution Type
26590 , p_source_15 IN VARCHAR2
26591 , p_source_15_meaning IN VARCHAR2
26592 --Purchasing Encumbrance Option
26593 , p_source_17 IN VARCHAR2
26594 , p_source_17_meaning IN VARCHAR2
26595 --Accrue on Receipt Option
26596 , p_source_18 IN VARCHAR2
26597 , p_source_18_meaning IN VARCHAR2
26598 --Accounting Reversal Indicator
26599 , p_source_19 IN VARCHAR2
26600 --Distribution Link Type
26601 , p_source_21 IN VARCHAR2
26602 --Allocation to Main Distribution Identifier
26603 , p_source_23 IN NUMBER
26604 --Invoice Identifier
26605 , p_source_24 IN NUMBER
26606 --Business Flow Accounts Payable Application Identifier
26607 , p_source_25 IN NUMBER
26608 --Business Flow Invoice Distribution Type
26609 , p_source_26 IN VARCHAR2
26610 --Business Flow Invoice Entity Code
26611 , p_source_27 IN VARCHAR2
26612 --Business Flow Invoice Distribution Identifier
26613 , p_source_28 IN NUMBER
26614 --Business Flow Invoice Identifier
26615 , p_source_29 IN NUMBER
26616 --Invoice Distribution Identifier
26617 , p_source_30 IN NUMBER
26618 --Payables Encumbrance Upgrade Credit Account
26619 , p_source_31 IN NUMBER
26620 --Payables Encumbrance Upgrade Credit Amount
26621 , p_source_32 IN NUMBER
26622 --Invoice Currency Code
26623 , p_source_33 IN VARCHAR2
26624 --Payables Encumbrance Upgrade Credit Base Amount
26625 , p_source_34 IN NUMBER
26626 --Payables Encumbrance Upgrade Debit Account
26627 , p_source_35 IN NUMBER
26628 --Payables Encumbrance Upgrade Debit Amount
26629 , p_source_36 IN NUMBER
26630 --Payables Encumbrance Upgrade Debit Base Amount
26631 , p_source_37 IN NUMBER
26632 --Payables Encumbrance Upgrade Option
26633 , p_source_38 IN VARCHAR2
26634 --Invoice Exchange Date
26635 , p_source_39 IN DATE
26636 --Invoice Exchange Rate
26637 , p_source_40 IN NUMBER
26638 --Invoice Exchange Rate Type
26639 , p_source_41 IN VARCHAR2
26640 --Deferred Accounting End Date
26641 , p_source_43 IN DATE
26642 --Deferred Accounting Option
26643 , p_source_44 IN VARCHAR2
26644 --Deferred Accounting Start Date
26645 , p_source_45 IN DATE
26646 --Override Accounted Amount Indicator
26647 , p_source_46 IN VARCHAR2
26648 , p_source_46_meaning IN VARCHAR2
26649 --Invoice Supplier Identifier
26650 , p_source_47 IN NUMBER
26651 --Invoice Supplier Site Identifier
26652 , p_source_48 IN NUMBER
26653 --Third Party Type
26654 , p_source_49 IN VARCHAR2
26655 --Parent Reversal Identifier
26656 , p_source_50 IN NUMBER
26657 --Invoice Distribution Statistical Amount
26658 , p_source_51 IN NUMBER
26659 --Invoice Distribution Tax Line Identifier
26660 , p_source_52 IN NUMBER
26661 --Invoice Distribution Tax Distribution Identifier from Tax
26665 --Payables Upgrade Credit Encumbrance Type Identifier
26662 , p_source_53 IN NUMBER
26663 --Invoice Distribution Summary Tax Line Identifier
26664 , p_source_54 IN NUMBER
26666 , p_source_55 IN NUMBER
26667 --Payables Upgrade Debit Encumbrance Type Identifier
26668 , p_source_56 IN NUMBER
26669 --Self-Assessed Tax Flag
26670 , p_source_59 IN VARCHAR2
26671 , p_source_59_meaning IN VARCHAR2
26672 --Invoice Distribution Encumbrance Amount
26673 , p_source_65 IN NUMBER
26674 --Invoice Distribution Encumbrance Ledger Amount
26675 , p_source_66 IN NUMBER
26676 )
26677 IS
26678
26679 l_component_type VARCHAR2(80);
26680 l_component_code VARCHAR2(30);
26681 l_component_type_code VARCHAR2(1);
26682 l_component_appl_id INTEGER;
26683 l_amb_context_code VARCHAR2(30);
26684 l_entity_code VARCHAR2(30);
26685 l_event_class_code VARCHAR2(30);
26686 l_ae_header_id NUMBER;
26687 l_event_type_code VARCHAR2(30);
26688 l_line_definition_code VARCHAR2(30);
26689 l_line_definition_owner_code VARCHAR2(1);
26690 --
26691 -- adr variables
26692 l_segment VARCHAR2(30);
26693 l_ccid NUMBER;
26694 l_adr_transaction_coa_id NUMBER;
26695 l_adr_accounting_coa_id NUMBER;
26696 l_adr_flexfield_segment_code VARCHAR2(30);
26697 l_adr_flex_value_set_id NUMBER;
26698 l_adr_value_type_code VARCHAR2(30);
26699 l_adr_value_combination_id NUMBER;
26700 l_adr_value_segment_code VARCHAR2(30);
26701
26702 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
26703 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
26704 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
26705 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
26706
26707 -- 4262811 Variables ------------------------------------------------------------------------------------------
26708 l_entered_amt_idx NUMBER;
26709 l_accted_amt_idx NUMBER;
26710 l_acc_rev_flag VARCHAR2(1);
26711 l_accrual_line_num NUMBER;
26712 l_tmp_amt NUMBER;
26713 l_acc_rev_natural_side_code VARCHAR2(1);
26714
26715 l_num_entries NUMBER;
26716 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
26717 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
26718 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
26719 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
26720 l_recog_line_1 NUMBER;
26721 l_recog_line_2 NUMBER;
26722
26723 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
26724 l_bflow_applied_to_amt NUMBER; -- 5132302
26725 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
26726
26727 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
26728
26729 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
26730 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
26731
26732 ---------------------------------------------------------------------------------------------------------------
26733
26734
26735 --
26736 -- bulk performance
26737 --
26738 l_balance_type_code VARCHAR2(1);
26739 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
26740 l_log_module VARCHAR2(240);
26741
26742 --
26743 -- Upgrade strategy
26744 --
26745 l_actual_upg_option VARCHAR2(1);
26746 l_enc_upg_option VARCHAR2(1);
26747
26748 --
26749 BEGIN
26750 --
26751 IF g_log_enabled THEN
26752 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_48';
26753 END IF;
26754 --
26755 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
26756
26757 trace
26758 (p_msg => 'BEGIN of AcctLineType_48'
26759 ,p_level => C_LEVEL_PROCEDURE
26760 ,p_module => l_log_module);
26761
26762 END IF;
26763 --
26764 l_component_type := 'AMB_JLT';
26765 l_component_code := 'AP_NON_RECOV_TAX_PP_ENC_DR';
26766 l_component_type_code := 'S';
26767 l_component_appl_id := 200;
26768 l_amb_context_code := 'DEFAULT';
26769 l_entity_code := 'AP_INVOICES';
26770 l_event_class_code := 'PREPAYMENTS';
26771 l_event_type_code := 'PREPAYMENTS_ALL';
26772 l_line_definition_owner_code := 'S';
26773 l_line_definition_code := 'ENC_PREPAY_ALL';
26774 --
26775 l_balance_type_code := 'E';
26776 l_segment := NULL;
26777 l_ccid := NULL;
26778 l_adr_transaction_coa_id := NULL;
26779 l_adr_accounting_coa_id := NULL;
26780 l_adr_flexfield_segment_code := NULL;
26781 l_adr_flex_value_set_id := NULL;
26782 l_adr_value_type_code := NULL;
26783 l_adr_value_combination_id := NULL;
26784 l_adr_value_segment_code := NULL;
26785
26786 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
26787 l_bflow_class_code := 'AP_INV_ENCUM'; -- 4219869 Business Flow
26788 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
26792 l_bflow_applied_to_amt := NULL; -- 5132302
26789 l_budgetary_control_flag := 'Y';
26790
26791 l_bflow_applied_to_amt_idx := NULL; -- 5132302
26793 l_entered_amt_idx := NULL; -- 4262811
26794 l_accted_amt_idx := NULL; -- 4262811
26795 l_acc_rev_flag := NULL; -- 4262811
26796 l_accrual_line_num := NULL; -- 4262811
26797 l_tmp_amt := NULL; -- 4262811
26798 --
26799
26800 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
26801 l_balance_type_code <> 'B' THEN
26802 IF NVL(p_source_15,'
26803 ') = 'NONREC_TAX' AND
26804 NVL(p_source_59,'
26805 ') <> 'Y' AND
26806 NVL(p_source_17,'
26807 ') = 'Y' AND
26808 NVL(p_source_18,'
26809 ') <> 'Y'
26810 THEN
26811
26812 --
26813 XLA_AE_LINES_PKG.SetNewLine;
26814
26815 p_balance_type_code := l_balance_type_code;
26816 -- set the flag so later we will know whether the gain loss line needs to be created
26817
26818 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
26819 p_actual_flag :='A';
26820 END IF;
26821
26822 --
26823 -- bulk performance
26824 --
26825 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
26826 p_header_num => 0); -- 4262811
26827 --
26828 -- set accounting line options
26829 --
26830 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
26831 p_natural_side_code => 'D'
26832 , p_gain_or_loss_flag => 'N'
26833 , p_gl_transfer_mode_code => 'S'
26834 , p_acct_entry_type_code => 'E'
26835 , p_switch_side_flag => 'Y'
26836 , p_merge_duplicate_code => 'N'
26837 );
26838 --
26839 l_acc_rev_natural_side_code := 'C'; -- 4262811
26840 --
26841 --
26842 -- set accounting line type info
26843 --
26844 xla_ae_lines_pkg.SetAcctLineType
26845 (p_component_type => l_component_type
26846 ,p_event_type_code => l_event_type_code
26847 ,p_line_definition_owner_code => l_line_definition_owner_code
26848 ,p_line_definition_code => l_line_definition_code
26849 ,p_accounting_line_code => l_component_code
26850 ,p_accounting_line_type_code => l_component_type_code
26851 ,p_accounting_line_appl_id => l_component_appl_id
26852 ,p_amb_context_code => l_amb_context_code
26853 ,p_entity_code => l_entity_code
26854 ,p_event_class_code => l_event_class_code);
26855 --
26856 -- set accounting class
26857 --
26858 xla_ae_lines_pkg.SetAcctClass(
26859 p_accounting_class_code => 'NRTAX'
26860 , p_ae_header_id => l_ae_header_id
26861 );
26862
26863 --
26864 -- set rounding class
26865 --
26866 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
26867 'NRTAX';
26868
26869 --
26870 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
26871 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
26872 --
26873 -- bulk performance
26874 --
26875 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
26876
26877 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
26878 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
26879
26880 -- 4955764
26881 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
26882 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
26883
26884 -- 4458381 Public Sector Enh
26885 XLA_AE_LINES_PKG.g_rec_lines.array_encumbrance_type_id(XLA_AE_LINES_PKG.g_LineNumber) := 1060;
26886 --
26887 -- set accounting attributes for the line type
26888 --
26889 l_entered_amt_idx := 23;
26890 l_accted_amt_idx := 28;
26891 l_bflow_applied_to_amt_idx := NULL; -- 5132302
26892 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
26893 l_rec_acct_attrs.array_char_value(1) := p_source_19;
26894 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
26895 l_rec_acct_attrs.array_num_value(2) :=
26896 xla_ae_sources_pkg.GetSystemSourceNum(
26897 p_source_code => 'XLA_EVENT_APPL_ID'
26898 , p_source_type_code => 'Y'
26899 , p_source_application_id => 602
26900 );
26901 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
26902 l_rec_acct_attrs.array_char_value(3) := p_source_21;
26903 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
26904 l_rec_acct_attrs.array_char_value(4) :=
26905 xla_ae_sources_pkg.GetSystemSourceChar(
26906 p_source_code => 'XLA_ENTITY_CODE'
26907 , p_source_type_code => 'Y'
26908 , p_source_application_id => 602
26909 );
26910 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
26911 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_23);
26912 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
26913 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_24);
26917 l_rec_acct_attrs.array_char_value(8) := p_source_26;
26914 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
26915 l_rec_acct_attrs.array_num_value(7) := p_source_25;
26916 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
26918 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
26919 l_rec_acct_attrs.array_char_value(9) := p_source_27;
26920 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
26921 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_28);
26922 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
26923 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_29);
26924 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
26925 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_30);
26926 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
26927 l_rec_acct_attrs.array_char_value(13) := p_source_21;
26928 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
26929 l_rec_acct_attrs.array_num_value(14) := p_source_31;
26930 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
26931 l_rec_acct_attrs.array_num_value(15) := p_source_32;
26932 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
26933 l_rec_acct_attrs.array_char_value(16) := p_source_33;
26934 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
26935 l_rec_acct_attrs.array_num_value(17) := p_source_34;
26936 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
26937 l_rec_acct_attrs.array_num_value(18) := p_source_35;
26938 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
26939 l_rec_acct_attrs.array_num_value(19) := p_source_36;
26940 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
26941 l_rec_acct_attrs.array_char_value(20) := p_source_33;
26942 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
26943 l_rec_acct_attrs.array_num_value(21) := p_source_37;
26944 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
26945 l_rec_acct_attrs.array_char_value(22) := p_source_38;
26946 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
26947 l_rec_acct_attrs.array_num_value(23) := p_source_65;
26948 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
26949 l_rec_acct_attrs.array_char_value(24) := p_source_33;
26950 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
26951 l_rec_acct_attrs.array_date_value(25) := p_source_39;
26952 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
26953 l_rec_acct_attrs.array_num_value(26) := p_source_40;
26954 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
26955 l_rec_acct_attrs.array_char_value(27) := p_source_41;
26956 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
26957 l_rec_acct_attrs.array_num_value(28) := p_source_66;
26958 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
26959 l_rec_acct_attrs.array_date_value(29) := p_source_43;
26960 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
26961 l_rec_acct_attrs.array_char_value(30) := p_source_44;
26962 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
26963 l_rec_acct_attrs.array_date_value(31) := p_source_45;
26964 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
26965 l_rec_acct_attrs.array_char_value(32) := p_source_46;
26966 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
26967 l_rec_acct_attrs.array_num_value(33) := p_source_47;
26968 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
26969 l_rec_acct_attrs.array_num_value(34) := p_source_48;
26970 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
26971 l_rec_acct_attrs.array_char_value(35) := p_source_49;
26972 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
26973 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_50);
26974 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
26975 l_rec_acct_attrs.array_char_value(37) := p_source_21;
26976 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
26977 l_rec_acct_attrs.array_num_value(38) := p_source_51;
26978 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
26979 l_rec_acct_attrs.array_num_value(39) := p_source_52;
26980 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
26981 l_rec_acct_attrs.array_num_value(40) := p_source_53;
26982 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
26983 l_rec_acct_attrs.array_num_value(41) := p_source_54;
26984 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
26985 l_rec_acct_attrs.array_num_value(42) := p_source_55;
26986 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
26987 l_rec_acct_attrs.array_num_value(43) := p_source_56;
26988
26989 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
26990 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
26991
26992 ---------------------------------------------------------------------------------------------------------------
26993 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
26994 ---------------------------------------------------------------------------------------------------------------
26995 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
26996
27000 IF xla_accounting_cache_pkg.GetValueChar
26997 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
26998 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
26999
27001 (p_source_code => 'LEDGER_CATEGORY_CODE'
27002 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
27003 AND l_bflow_method_code = 'PRIOR_ENTRY'
27004 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
27005 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
27006 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
27007 )
27008 THEN
27009 xla_ae_lines_pkg.BflowUpgEntry
27010 (p_business_method_code => l_bflow_method_code
27011 ,p_business_class_code => l_bflow_class_code
27012 ,p_balance_type => l_balance_type_code);
27013 ELSE
27014 NULL;
27015 -- No business flow processing for business flow method of NONE.
27016 END IF;
27017
27018 --
27019 -- call analytical criteria
27020 --
27021
27022 --
27023 -- call description
27024 --
27025
27026 xla_ae_lines_pkg.SetLineDescription(
27027 p_ae_header_id => l_ae_header_id
27028 ,p_description => Description_2 (
27029 p_application_id => p_application_id
27030 , p_ae_header_id => l_ae_header_id
27031 , p_source_1 => p_source_1
27032 )
27033 );
27034
27035
27036 --
27037 -- call ADRs
27038 -- Bug 4922099
27039 --
27040 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
27041 (NVL(l_actual_upg_option, 'N') = 'O') OR
27042 (NVL(l_enc_upg_option, 'N') = 'O')
27043 )
27044 THEN
27045 NULL;
27046 --
27047 --
27048
27049 l_ccid := AcctDerRule_7(
27050 p_application_id => p_application_id
27051 , p_ae_header_id => l_ae_header_id
27052 , p_source_11 => p_source_11
27053 , x_transaction_coa_id => l_adr_transaction_coa_id
27054 , x_accounting_coa_id => l_adr_accounting_coa_id
27055 , x_value_type_code => l_adr_value_type_code
27056 , p_side => 'NA'
27057 );
27058
27059 xla_ae_lines_pkg.set_ccid(
27060 p_code_combination_id => l_ccid
27061 , p_value_type_code => l_adr_value_type_code
27062 , p_transaction_coa_id => l_adr_transaction_coa_id
27063 , p_accounting_coa_id => l_adr_accounting_coa_id
27064 , p_adr_code => 'AP_INVOICE_DIST'
27065 , p_adr_type_code => 'S'
27066 , p_component_type => l_component_type
27067 , p_component_code => l_component_code
27068 , p_component_type_code => l_component_type_code
27069 , p_component_appl_id => l_component_appl_id
27070 , p_amb_context_code => l_amb_context_code
27071 , p_side => 'NA'
27072 );
27073
27074
27075 --
27076 --
27077 END IF;
27078 --
27079 -- Bug 4922099
27080 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
27081 (NVL(l_enc_upg_option, 'N') = 'O')
27082 ) AND
27083 (l_bflow_method_code = 'PRIOR_ENTRY')
27084 )
27085 THEN
27086 IF
27087 --
27088 1 = 2
27089 --
27090 THEN
27091 xla_accounting_err_pkg.build_message
27092 (p_appli_s_name => 'XLA'
27093 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
27094 ,p_token_1 => 'LINE_NUMBER'
27095 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
27096 ,p_token_2 => 'LINE_TYPE_NAME'
27097 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
27098 l_component_type
27099 ,l_component_code
27100 ,l_component_type_code
27101 ,l_component_appl_id
27102 ,l_amb_context_code
27103 ,l_entity_code
27104 ,l_event_class_code
27105 )
27106 ,p_token_3 => 'OWNER'
27107 ,p_value_3 => xla_lookups_pkg.get_meaning(
27108 p_lookup_type => 'XLA_OWNER_TYPE'
27109 ,p_lookup_code => l_component_type_code
27110 )
27111 ,p_token_4 => 'PRODUCT_NAME'
27115 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
27112 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
27113 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
27114 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
27116 ,p_ae_header_id => NULL
27117 );
27118
27119 IF (C_LEVEL_ERROR>= g_log_level) THEN
27120 trace
27121 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
27122 ,p_level => C_LEVEL_ERROR
27123 ,p_module => l_log_module);
27124 END IF;
27125 END IF;
27126 END IF;
27127 --
27128 --
27129 ------------------------------------------------------------------------------------------------
27130 -- 4219869 Business Flow
27131 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
27132 -- Prior Entry. Currently, the following code is always generated.
27133 ------------------------------------------------------------------------------------------------
27134 XLA_AE_LINES_PKG.ValidateCurrentLine;
27135
27136 ------------------------------------------------------------------------------------
27137 -- 4219869 Business Flow
27138 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
27139 ------------------------------------------------------------------------------------
27140 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
27141
27142 ----------------------------------------------------------------------------------
27143 -- 4219869 Business Flow
27144 -- Update journal entry status -- Need to generate this within IF <condition>
27145 ----------------------------------------------------------------------------------
27146 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
27147 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
27148 ,p_balance_type_code => l_balance_type_code
27149 );
27150
27151 -------------------------------------------------------------------------------------------
27152 -- 4262811 - Generate the Accrual Reversal lines
27153 -------------------------------------------------------------------------------------------
27154 BEGIN
27155 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
27156 (g_array_event(p_event_id).array_value_num('header_index'));
27157 IF l_acc_rev_flag IS NULL THEN
27158 l_acc_rev_flag := 'N';
27159 END IF;
27160 EXCEPTION
27161 WHEN OTHERS THEN
27162 l_acc_rev_flag := 'N';
27163 END;
27164 --
27165 IF (l_acc_rev_flag = 'Y') THEN
27166
27167 -- 4645092 ------------------------------------------------------------------------------
27168 -- To allow MPA report to determine if it should generate report process
27169 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
27170 ------------------------------------------------------------------------------------------
27171
27172 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
27173 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
27174 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
27175 -- call ADRs
27176 -- Bug 4922099
27177 --
27178 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
27179 (NVL(l_actual_upg_option, 'N') = 'O') OR
27180 (NVL(l_enc_upg_option, 'N') = 'O')
27181 )
27182 THEN
27183 NULL;
27184 --
27185 --
27186
27187 l_ccid := AcctDerRule_7(
27188 p_application_id => p_application_id
27189 , p_ae_header_id => l_ae_header_id
27190 , p_source_11 => p_source_11
27191 , x_transaction_coa_id => l_adr_transaction_coa_id
27192 , x_accounting_coa_id => l_adr_accounting_coa_id
27193 , x_value_type_code => l_adr_value_type_code
27194 , p_side => 'NA'
27195 );
27196
27197 xla_ae_lines_pkg.set_ccid(
27198 p_code_combination_id => l_ccid
27199 , p_value_type_code => l_adr_value_type_code
27200 , p_transaction_coa_id => l_adr_transaction_coa_id
27201 , p_accounting_coa_id => l_adr_accounting_coa_id
27202 , p_adr_code => 'AP_INVOICE_DIST'
27203 , p_adr_type_code => 'S'
27204 , p_component_type => l_component_type
27205 , p_component_code => l_component_code
27206 , p_component_type_code => l_component_type_code
27207 , p_component_appl_id => l_component_appl_id
27208 , p_amb_context_code => l_amb_context_code
27209 , p_side => 'NA'
27210 );
27211
27212
27213 --
27214 --
27215 END IF;
27216
27217 --
27218 -- Update the line information that should be overwritten
27219 --
27220 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
27221 p_header_num => 1);
27225
27222 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
27223
27224 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
27226 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
27227 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
27228 END IF;
27229
27230 --
27231 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
27232 --
27233 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
27234 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
27235 ELSE
27236 ---------------------------------------------------------------------------------------------------
27237 -- 4262811a Switch Sign
27238 ---------------------------------------------------------------------------------------------------
27239 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
27240 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
27241 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
27242 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
27243 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
27244 -- 5132302
27245 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
27246 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
27247
27248 END IF;
27249
27250 -- 4955764
27251 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
27252 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
27253
27254
27255 XLA_AE_LINES_PKG.ValidateCurrentLine;
27256 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
27257
27258 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
27259 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
27260 ,p_balance_type_code => l_balance_type_code);
27261
27262 END IF;
27263
27264 -----------------------------------------------------------------------------------------
27265 -- 4262811 Multiperiod Accounting
27266 -----------------------------------------------------------------------------------------
27267 -- No MPA option is assigned.
27268
27269
27270 END IF;
27271 END IF;
27272 --
27273
27274 --
27275 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
27276 trace
27277 (p_msg => 'END of AcctLineType_48'
27278 ,p_level => C_LEVEL_PROCEDURE
27279 ,p_module => l_log_module);
27280 END IF;
27281 --
27282 EXCEPTION
27283 WHEN xla_exceptions_pkg.application_exception THEN
27284 RAISE;
27285 WHEN OTHERS THEN
27286 xla_exceptions_pkg.raise_message
27287 (p_location => 'XLA_00200_AAD_S_000006_BC_PKG.AcctLineType_48');
27288 END AcctLineType_48;
27289 --
27290
27291 ---------------------------------------
27292 --
27293 -- PRIVATE FUNCTION
27294 -- AcctLineType_49
27295 --
27296 ---------------------------------------
27297 PROCEDURE AcctLineType_49 (
27298 p_application_id IN NUMBER
27299 ,p_event_id IN NUMBER
27300 ,p_calculate_acctd_flag IN VARCHAR2
27301 ,p_calculate_g_l_flag IN VARCHAR2
27302 ,p_actual_flag IN OUT VARCHAR2
27303 ,p_balance_type_code OUT VARCHAR2
27304 ,p_gain_or_loss_ref OUT VARCHAR2
27305
27306 --Invoice Distribution Type
27307 , p_source_15 IN VARCHAR2
27308 , p_source_15_meaning IN VARCHAR2
27309 --Accrue on Receipt Option
27310 , p_source_18 IN VARCHAR2
27311 , p_source_18_meaning IN VARCHAR2
27312 --Accounting Reversal Indicator
27313 , p_source_19 IN VARCHAR2
27314 --Distribution Link Type
27315 , p_source_21 IN VARCHAR2
27316 --Allocation to Main Distribution Identifier
27317 , p_source_23 IN NUMBER
27318 --Invoice Identifier
27319 , p_source_24 IN NUMBER
27320 --Invoice Distribution Identifier
27321 , p_source_30 IN NUMBER
27322 --Payables Encumbrance Upgrade Credit Account
27323 , p_source_31 IN NUMBER
27324 --Payables Encumbrance Upgrade Credit Amount
27325 , p_source_32 IN NUMBER
27326 --Invoice Currency Code
27327 , p_source_33 IN VARCHAR2
27328 --Payables Encumbrance Upgrade Credit Base Amount
27329 , p_source_34 IN NUMBER
27330 --Payables Encumbrance Upgrade Debit Account
27331 , p_source_35 IN NUMBER
27332 --Payables Encumbrance Upgrade Debit Amount
27333 , p_source_36 IN NUMBER
27334 --Payables Encumbrance Upgrade Debit Base Amount
27335 , p_source_37 IN NUMBER
27336 --Payables Encumbrance Upgrade Option
27337 , p_source_38 IN VARCHAR2
27338 --Deferred Accounting End Date
27339 , p_source_43 IN DATE
27340 --Deferred Accounting Option
27341 , p_source_44 IN VARCHAR2
27342 --Deferred Accounting Start Date
27346 , p_source_46_meaning IN VARCHAR2
27343 , p_source_45 IN DATE
27344 --Override Accounted Amount Indicator
27345 , p_source_46 IN VARCHAR2
27347 --Third Party Type
27348 , p_source_49 IN VARCHAR2
27349 --Parent Reversal Identifier
27350 , p_source_50 IN NUMBER
27351 --Invoice Distribution Statistical Amount
27352 , p_source_51 IN NUMBER
27353 --Invoice Distribution Tax Line Identifier
27354 , p_source_52 IN NUMBER
27355 --Invoice Distribution Tax Distribution Identifier from Tax
27356 , p_source_53 IN NUMBER
27357 --Invoice Distribution Summary Tax Line Identifier
27358 , p_source_54 IN NUMBER
27359 --Payables Upgrade Credit Encumbrance Type Identifier
27360 , p_source_55 IN NUMBER
27361 --Payables Upgrade Debit Encumbrance Type Identifier
27362 , p_source_56 IN NUMBER
27363 --Purchase Order Distribution Identifier
27364 , p_source_58 IN NUMBER
27365 --Self-Assessed Tax Flag
27366 , p_source_59 IN VARCHAR2
27367 , p_source_59_meaning IN VARCHAR2
27368 --Business Flow Purchasing Application Identifier
27369 , p_source_60 IN NUMBER
27370 --Business Flow Purchase Order Distribution Type
27371 , p_source_61 IN VARCHAR2
27372 --Business Flow Purchase Order Entity Code
27373 , p_source_62 IN VARCHAR2
27374 --Business Flow Purchase Order Distribution Identifier
27375 , p_source_63 IN NUMBER
27376 --Business Flow Purchasing Document Identifier
27377 , p_source_64 IN NUMBER
27378 --Invoice Distribution Encumbrance Amount
27379 , p_source_65 IN NUMBER
27380 --Invoice Distribution Encumbrance Ledger Amount
27381 , p_source_66 IN NUMBER
27382 )
27383 IS
27384
27385 l_component_type VARCHAR2(80);
27386 l_component_code VARCHAR2(30);
27387 l_component_type_code VARCHAR2(1);
27388 l_component_appl_id INTEGER;
27389 l_amb_context_code VARCHAR2(30);
27390 l_entity_code VARCHAR2(30);
27391 l_event_class_code VARCHAR2(30);
27392 l_ae_header_id NUMBER;
27393 l_event_type_code VARCHAR2(30);
27394 l_line_definition_code VARCHAR2(30);
27395 l_line_definition_owner_code VARCHAR2(1);
27396 --
27397 -- adr variables
27398 l_segment VARCHAR2(30);
27399 l_ccid NUMBER;
27400 l_adr_transaction_coa_id NUMBER;
27401 l_adr_accounting_coa_id NUMBER;
27402 l_adr_flexfield_segment_code VARCHAR2(30);
27403 l_adr_flex_value_set_id NUMBER;
27404 l_adr_value_type_code VARCHAR2(30);
27405 l_adr_value_combination_id NUMBER;
27406 l_adr_value_segment_code VARCHAR2(30);
27407
27408 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
27409 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
27410 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
27411 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
27412
27413 -- 4262811 Variables ------------------------------------------------------------------------------------------
27414 l_entered_amt_idx NUMBER;
27415 l_accted_amt_idx NUMBER;
27416 l_acc_rev_flag VARCHAR2(1);
27417 l_accrual_line_num NUMBER;
27418 l_tmp_amt NUMBER;
27419 l_acc_rev_natural_side_code VARCHAR2(1);
27420
27421 l_num_entries NUMBER;
27422 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
27423 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
27424 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
27425 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
27426 l_recog_line_1 NUMBER;
27427 l_recog_line_2 NUMBER;
27428
27429 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
27430 l_bflow_applied_to_amt NUMBER; -- 5132302
27431 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
27432
27433 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
27434
27435 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
27436 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
27437
27438 ---------------------------------------------------------------------------------------------------------------
27439
27440
27441 --
27442 -- bulk performance
27443 --
27444 l_balance_type_code VARCHAR2(1);
27445 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
27446 l_log_module VARCHAR2(240);
27447
27448 --
27449 -- Upgrade strategy
27450 --
27451 l_actual_upg_option VARCHAR2(1);
27452 l_enc_upg_option VARCHAR2(1);
27453
27454 --
27455 BEGIN
27456 --
27457 IF g_log_enabled THEN
27458 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_49';
27459 END IF;
27460 --
27461 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
27462
27463 trace
27464 (p_msg => 'BEGIN of AcctLineType_49'
27465 ,p_level => C_LEVEL_PROCEDURE
27466 ,p_module => l_log_module);
27467
27468 END IF;
27469 --
27470 l_component_type := 'AMB_JLT';
27471 l_component_code := 'AP_PP_NON_REC_TAX_PO_ENC';
27472 l_component_type_code := 'S';
27476 l_event_class_code := 'PREPAYMENTS';
27473 l_component_appl_id := 200;
27474 l_amb_context_code := 'DEFAULT';
27475 l_entity_code := 'AP_INVOICES';
27477 l_event_type_code := 'PREPAYMENTS_ALL';
27478 l_line_definition_owner_code := 'S';
27479 l_line_definition_code := 'ENC_PREPAY_ALL';
27480 --
27481 l_balance_type_code := 'E';
27482 l_segment := NULL;
27483 l_ccid := NULL;
27484 l_adr_transaction_coa_id := NULL;
27485 l_adr_accounting_coa_id := NULL;
27486 l_adr_flexfield_segment_code := NULL;
27487 l_adr_flex_value_set_id := NULL;
27488 l_adr_value_type_code := NULL;
27489 l_adr_value_combination_id := NULL;
27490 l_adr_value_segment_code := NULL;
27491
27492 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
27493 l_bflow_class_code := 'PO_ENCUMBRANCE'; -- 4219869 Business Flow
27494 l_inherit_desc_flag := 'Y'; -- 4219869 Business Flow
27495 l_budgetary_control_flag := 'Y';
27496
27497 l_bflow_applied_to_amt_idx := NULL; -- 5132302
27498 l_bflow_applied_to_amt := NULL; -- 5132302
27499 l_entered_amt_idx := NULL; -- 4262811
27500 l_accted_amt_idx := NULL; -- 4262811
27501 l_acc_rev_flag := NULL; -- 4262811
27502 l_accrual_line_num := NULL; -- 4262811
27503 l_tmp_amt := NULL; -- 4262811
27504 --
27505
27506 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
27507 l_balance_type_code <> 'B' THEN
27508 IF p_source_58 IS NOT NULL AND
27509 NVL(p_source_15,'
27510 ') = 'NONREC_TAX' AND
27511 NVL(p_source_59,'
27512 ') <> 'Y' AND
27513 NVL(p_source_18,'
27514 ') <> 'Y'
27515 THEN
27516
27517 --
27518 XLA_AE_LINES_PKG.SetNewLine;
27519
27520 p_balance_type_code := l_balance_type_code;
27521 -- set the flag so later we will know whether the gain loss line needs to be created
27522
27523 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
27524 p_actual_flag :='A';
27525 END IF;
27526
27527 --
27528 -- bulk performance
27529 --
27530 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
27531 p_header_num => 0); -- 4262811
27532 --
27533 -- set accounting line options
27534 --
27535 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
27536 p_natural_side_code => 'C'
27537 , p_gain_or_loss_flag => 'N'
27538 , p_gl_transfer_mode_code => 'S'
27539 , p_acct_entry_type_code => 'E'
27540 , p_switch_side_flag => 'Y'
27541 , p_merge_duplicate_code => 'N'
27542 );
27543 --
27544 l_acc_rev_natural_side_code := 'D'; -- 4262811
27545 --
27546 --
27547 -- set accounting line type info
27548 --
27549 xla_ae_lines_pkg.SetAcctLineType
27550 (p_component_type => l_component_type
27551 ,p_event_type_code => l_event_type_code
27552 ,p_line_definition_owner_code => l_line_definition_owner_code
27553 ,p_line_definition_code => l_line_definition_code
27554 ,p_accounting_line_code => l_component_code
27555 ,p_accounting_line_type_code => l_component_type_code
27556 ,p_accounting_line_appl_id => l_component_appl_id
27557 ,p_amb_context_code => l_amb_context_code
27558 ,p_entity_code => l_entity_code
27559 ,p_event_class_code => l_event_class_code);
27560 --
27561 -- set accounting class
27562 --
27563 xla_ae_lines_pkg.SetAcctClass(
27564 p_accounting_class_code => 'PURCHASE_ORDER'
27565 , p_ae_header_id => l_ae_header_id
27566 );
27567
27568 --
27569 -- set rounding class
27570 --
27571 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
27572 'PURCHASE_ORDER';
27573
27574 --
27575 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
27576 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
27577 --
27578 -- bulk performance
27579 --
27580 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
27581
27582 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
27583 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
27584
27585 -- 4955764
27586 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
27587 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
27588
27589 -- 4458381 Public Sector Enh
27590
27591 --
27592 -- set accounting attributes for the line type
27593 --
27594 l_entered_amt_idx := 23;
27595 l_accted_amt_idx := 25;
27596 l_bflow_applied_to_amt_idx := NULL; -- 5132302
27597 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
27598 l_rec_acct_attrs.array_char_value(1) := p_source_19;
27599 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
27603 , p_source_type_code => 'Y'
27600 l_rec_acct_attrs.array_num_value(2) :=
27601 xla_ae_sources_pkg.GetSystemSourceNum(
27602 p_source_code => 'XLA_EVENT_APPL_ID'
27604 , p_source_application_id => 602
27605 );
27606 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
27607 l_rec_acct_attrs.array_char_value(3) := p_source_21;
27608 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
27609 l_rec_acct_attrs.array_char_value(4) :=
27610 xla_ae_sources_pkg.GetSystemSourceChar(
27611 p_source_code => 'XLA_ENTITY_CODE'
27612 , p_source_type_code => 'Y'
27613 , p_source_application_id => 602
27614 );
27615 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
27616 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_23);
27617 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
27618 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_24);
27619 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
27620 l_rec_acct_attrs.array_num_value(7) := p_source_60;
27621 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
27622 l_rec_acct_attrs.array_char_value(8) := p_source_61;
27623 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
27624 l_rec_acct_attrs.array_char_value(9) := p_source_62;
27625 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
27626 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_63);
27627 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
27628 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_64);
27629 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
27630 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_30);
27631 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
27632 l_rec_acct_attrs.array_char_value(13) := p_source_21;
27633 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
27634 l_rec_acct_attrs.array_num_value(14) := p_source_31;
27635 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
27636 l_rec_acct_attrs.array_num_value(15) := p_source_32;
27637 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
27638 l_rec_acct_attrs.array_char_value(16) := p_source_33;
27639 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
27640 l_rec_acct_attrs.array_num_value(17) := p_source_34;
27641 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
27642 l_rec_acct_attrs.array_num_value(18) := p_source_35;
27643 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
27644 l_rec_acct_attrs.array_num_value(19) := p_source_36;
27645 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
27646 l_rec_acct_attrs.array_char_value(20) := p_source_33;
27647 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
27648 l_rec_acct_attrs.array_num_value(21) := p_source_37;
27649 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
27650 l_rec_acct_attrs.array_char_value(22) := p_source_38;
27651 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
27652 l_rec_acct_attrs.array_num_value(23) := p_source_65;
27653 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
27654 l_rec_acct_attrs.array_char_value(24) := p_source_33;
27655 l_rec_acct_attrs.array_acct_attr_code(25) := 'LEDGER_AMOUNT';
27656 l_rec_acct_attrs.array_num_value(25) := p_source_66;
27657 l_rec_acct_attrs.array_acct_attr_code(26) := 'MULTIPERIOD_END_DATE';
27658 l_rec_acct_attrs.array_date_value(26) := p_source_43;
27659 l_rec_acct_attrs.array_acct_attr_code(27) := 'MULTIPERIOD_OPTION';
27660 l_rec_acct_attrs.array_char_value(27) := p_source_44;
27661 l_rec_acct_attrs.array_acct_attr_code(28) := 'MULTIPERIOD_START_DATE';
27662 l_rec_acct_attrs.array_date_value(28) := p_source_45;
27663 l_rec_acct_attrs.array_acct_attr_code(29) := 'OVERRIDE_ACCTD_AMT_FLAG';
27664 l_rec_acct_attrs.array_char_value(29) := p_source_46;
27665 l_rec_acct_attrs.array_acct_attr_code(30) := 'PARTY_TYPE';
27666 l_rec_acct_attrs.array_char_value(30) := p_source_49;
27667 l_rec_acct_attrs.array_acct_attr_code(31) := 'REVERSED_DISTRIBUTION_ID1';
27668 l_rec_acct_attrs.array_num_value(31) := to_char(p_source_50);
27669 l_rec_acct_attrs.array_acct_attr_code(32) := 'REVERSED_DISTRIBUTION_TYPE';
27670 l_rec_acct_attrs.array_char_value(32) := p_source_21;
27671 l_rec_acct_attrs.array_acct_attr_code(33) := 'STATISTICAL_AMOUNT';
27672 l_rec_acct_attrs.array_num_value(33) := p_source_51;
27673 l_rec_acct_attrs.array_acct_attr_code(34) := 'TAX_LINE_REF_ID';
27674 l_rec_acct_attrs.array_num_value(34) := p_source_52;
27675 l_rec_acct_attrs.array_acct_attr_code(35) := 'TAX_REC_NREC_DIST_REF_ID';
27676 l_rec_acct_attrs.array_num_value(35) := p_source_53;
27677 l_rec_acct_attrs.array_acct_attr_code(36) := 'TAX_SUMMARY_LINE_REF_ID';
27678 l_rec_acct_attrs.array_num_value(36) := p_source_54;
27679 l_rec_acct_attrs.array_acct_attr_code(37) := 'UPG_CR_ENC_TYPE_ID';
27680 l_rec_acct_attrs.array_num_value(37) := p_source_55;
27681 l_rec_acct_attrs.array_acct_attr_code(38) := 'UPG_DR_ENC_TYPE_ID';
27682 l_rec_acct_attrs.array_num_value(38) := p_source_56;
27683
27684 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
27685 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
27686
27687 ---------------------------------------------------------------------------------------------------------------
27691
27688 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
27689 ---------------------------------------------------------------------------------------------------------------
27690 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
27692 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
27693 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
27694
27695 IF xla_accounting_cache_pkg.GetValueChar
27696 (p_source_code => 'LEDGER_CATEGORY_CODE'
27697 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
27698 AND l_bflow_method_code = 'PRIOR_ENTRY'
27699 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
27700 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
27701 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
27702 )
27703 THEN
27704 xla_ae_lines_pkg.BflowUpgEntry
27705 (p_business_method_code => l_bflow_method_code
27706 ,p_business_class_code => l_bflow_class_code
27707 ,p_balance_type => l_balance_type_code);
27708 ELSE
27709 NULL;
27710 XLA_AE_LINES_PKG.business_flow_validation(
27711 p_business_method_code => l_bflow_method_code
27712 ,p_business_class_code => l_bflow_class_code
27713 ,p_inherit_description_flag => l_inherit_desc_flag);
27714 END IF;
27715
27716 --
27717 -- call analytical criteria
27718 --
27719 -- Inherited Analytical Criteria for business flow method of Prior Entry.
27720 --
27721 -- call description
27722 --
27723 -- No description or it is inherited.
27724 --
27725 -- call ADRs
27726 -- Bug 4922099
27727 --
27728 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
27729 (NVL(l_actual_upg_option, 'N') = 'O') OR
27730 (NVL(l_enc_upg_option, 'N') = 'O')
27731 )
27732 THEN
27733 NULL;
27734 --
27735 --
27736
27737 --
27738 --
27739 END IF;
27740 --
27741 -- Bug 4922099
27742 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
27743 (NVL(l_enc_upg_option, 'N') = 'O')
27744 ) AND
27745 (l_bflow_method_code = 'PRIOR_ENTRY')
27746 )
27747 THEN
27748 IF
27749 --
27750 1 = 1
27751 --
27752 THEN
27753 xla_accounting_err_pkg.build_message
27754 (p_appli_s_name => 'XLA'
27755 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
27756 ,p_token_1 => 'LINE_NUMBER'
27757 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
27758 ,p_token_2 => 'LINE_TYPE_NAME'
27759 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
27760 l_component_type
27761 ,l_component_code
27762 ,l_component_type_code
27763 ,l_component_appl_id
27764 ,l_amb_context_code
27765 ,l_entity_code
27766 ,l_event_class_code
27767 )
27768 ,p_token_3 => 'OWNER'
27769 ,p_value_3 => xla_lookups_pkg.get_meaning(
27770 p_lookup_type => 'XLA_OWNER_TYPE'
27771 ,p_lookup_code => l_component_type_code
27772 )
27773 ,p_token_4 => 'PRODUCT_NAME'
27774 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
27775 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
27776 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
27777 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
27778 ,p_ae_header_id => NULL
27779 );
27780
27781 IF (C_LEVEL_ERROR>= g_log_level) THEN
27782 trace
27783 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
27784 ,p_level => C_LEVEL_ERROR
27785 ,p_module => l_log_module);
27786 END IF;
27787 END IF;
27788 END IF;
27789 --
27790 --
27794 -- Prior Entry. Currently, the following code is always generated.
27791 ------------------------------------------------------------------------------------------------
27792 -- 4219869 Business Flow
27793 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
27795 ------------------------------------------------------------------------------------------------
27796 -- No ValidateCurrentLine for business flow method of Prior Entry
27797
27798 ------------------------------------------------------------------------------------
27799 -- 4219869 Business Flow
27800 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
27801 ------------------------------------------------------------------------------------
27802 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
27803
27804 ----------------------------------------------------------------------------------
27805 -- 4219869 Business Flow
27806 -- Update journal entry status -- Need to generate this within IF <condition>
27807 ----------------------------------------------------------------------------------
27808 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
27809 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
27810 ,p_balance_type_code => l_balance_type_code
27811 );
27812
27813 -------------------------------------------------------------------------------------------
27814 -- 4262811 - Generate the Accrual Reversal lines
27815 -------------------------------------------------------------------------------------------
27816 BEGIN
27817 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
27818 (g_array_event(p_event_id).array_value_num('header_index'));
27819 IF l_acc_rev_flag IS NULL THEN
27820 l_acc_rev_flag := 'N';
27821 END IF;
27822 EXCEPTION
27823 WHEN OTHERS THEN
27824 l_acc_rev_flag := 'N';
27825 END;
27826 --
27827 IF (l_acc_rev_flag = 'Y') THEN
27828
27829 -- 4645092 ------------------------------------------------------------------------------
27830 -- To allow MPA report to determine if it should generate report process
27831 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
27832 ------------------------------------------------------------------------------------------
27833
27834 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
27835 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
27836 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
27837 -- call ADRs
27838 -- Bug 4922099
27839 --
27840 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
27841 (NVL(l_actual_upg_option, 'N') = 'O') OR
27842 (NVL(l_enc_upg_option, 'N') = 'O')
27843 )
27844 THEN
27845 NULL;
27846 --
27847 --
27848
27849 --
27850 --
27851 END IF;
27852
27853 --
27854 -- Update the line information that should be overwritten
27855 --
27856 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
27857 p_header_num => 1);
27858 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
27859
27860 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
27861
27862 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
27863 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
27864 END IF;
27865
27866 --
27867 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
27868 --
27869 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
27870 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
27871 ELSE
27872 ---------------------------------------------------------------------------------------------------
27873 -- 4262811a Switch Sign
27874 ---------------------------------------------------------------------------------------------------
27875 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
27876 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
27877 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
27878 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
27879 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
27880 -- 5132302
27881 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
27882 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
27883
27884 END IF;
27885
27886 -- 4955764
27887 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
27888 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
27889
27890
27891 XLA_AE_LINES_PKG.ValidateCurrentLine;
27892 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
27893
27894 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
27898 END IF;
27895 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
27896 ,p_balance_type_code => l_balance_type_code);
27897
27899
27900 -----------------------------------------------------------------------------------------
27901 -- 4262811 Multiperiod Accounting
27902 -----------------------------------------------------------------------------------------
27903 -- No MPA option is assigned.
27904
27905
27906 END IF;
27907 END IF;
27908 --
27909
27910 --
27911 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
27912 trace
27913 (p_msg => 'END of AcctLineType_49'
27914 ,p_level => C_LEVEL_PROCEDURE
27915 ,p_module => l_log_module);
27916 END IF;
27917 --
27918 EXCEPTION
27919 WHEN xla_exceptions_pkg.application_exception THEN
27920 RAISE;
27921 WHEN OTHERS THEN
27922 xla_exceptions_pkg.raise_message
27923 (p_location => 'XLA_00200_AAD_S_000006_BC_PKG.AcctLineType_49');
27924 END AcctLineType_49;
27925 --
27926
27927 ---------------------------------------
27928 --
27929 -- PRIVATE FUNCTION
27930 -- AcctLineType_50
27931 --
27932 ---------------------------------------
27933 PROCEDURE AcctLineType_50 (
27934 p_application_id IN NUMBER
27935 ,p_event_id IN NUMBER
27936 ,p_calculate_acctd_flag IN VARCHAR2
27937 ,p_calculate_g_l_flag IN VARCHAR2
27938 ,p_actual_flag IN OUT VARCHAR2
27939 ,p_balance_type_code OUT VARCHAR2
27940 ,p_gain_or_loss_ref OUT VARCHAR2
27941
27942 --Purchasing Encumbrance Option
27943 , p_source_17 IN VARCHAR2
27944 , p_source_17_meaning IN VARCHAR2
27945 --Accounting Reversal Indicator
27946 , p_source_19 IN VARCHAR2
27947 --Distribution Link Type
27948 , p_source_21 IN VARCHAR2
27949 --Invoice Identifier
27950 , p_source_24 IN NUMBER
27951 --Business Flow Accounts Payable Application Identifier
27952 , p_source_25 IN NUMBER
27953 --Payables Encumbrance Upgrade Credit Account
27954 , p_source_31 IN NUMBER
27955 --Payables Encumbrance Upgrade Credit Amount
27956 , p_source_32 IN NUMBER
27957 --Invoice Currency Code
27958 , p_source_33 IN VARCHAR2
27959 --Payables Encumbrance Upgrade Credit Base Amount
27960 , p_source_34 IN NUMBER
27961 --Payables Encumbrance Upgrade Debit Account
27962 , p_source_35 IN NUMBER
27963 --Payables Encumbrance Upgrade Debit Amount
27964 , p_source_36 IN NUMBER
27965 --Payables Encumbrance Upgrade Debit Base Amount
27966 , p_source_37 IN NUMBER
27967 --Payables Encumbrance Upgrade Option
27968 , p_source_38 IN VARCHAR2
27969 --Deferred Accounting End Date
27970 , p_source_43 IN DATE
27971 --Deferred Accounting Option
27972 , p_source_44 IN VARCHAR2
27973 --Deferred Accounting Start Date
27974 , p_source_45 IN DATE
27975 --Override Accounted Amount Indicator
27976 , p_source_46 IN VARCHAR2
27977 , p_source_46_meaning IN VARCHAR2
27978 --Third Party Type
27979 , p_source_49 IN VARCHAR2
27980 --Invoice Distribution Tax Line Identifier
27981 , p_source_52 IN NUMBER
27982 --Invoice Distribution Tax Distribution Identifier from Tax
27983 , p_source_53 IN NUMBER
27984 --Invoice Distribution Summary Tax Line Identifier
27985 , p_source_54 IN NUMBER
27986 --Payables Upgrade Credit Encumbrance Type Identifier
27987 , p_source_55 IN NUMBER
27988 --Payables Upgrade Debit Encumbrance Type Identifier
27989 , p_source_56 IN NUMBER
27990 --Prepayment Distribution Type
27991 , p_source_69 IN VARCHAR2
27992 --Prepayment Application Distribution Identifier
27993 , p_source_71 IN NUMBER
27994 --Business Flow Prepayment Invoice Distribution Type
27995 , p_source_72 IN VARCHAR2
27996 --Business Flow Prepayment Invoice Entity Code
27997 , p_source_73 IN VARCHAR2
27998 --Business Flow Prepayment Invoice Distribution Identifier
27999 , p_source_74 IN NUMBER
28000 --Business Flow Prepayment Invoice Identifier
28001 , p_source_75 IN NUMBER
28002 --Upgrade Encumbrance Credit Account Class
28003 , p_source_76 IN VARCHAR2
28004 --Upgrade Encumbrance Debit Account Class
28005 , p_source_77 IN VARCHAR2
28006 --Prepayment Distribution Amount
28007 , p_source_78 IN NUMBER
28008 --Prepayment Distribution (Invoice Rate) Ledger Amount
28009 , p_source_79 IN NUMBER
28010 --Identifier of the Prepayment Application Reversed
28011 , p_source_80 IN NUMBER
28012 )
28013 IS
28014
28015 l_component_type VARCHAR2(80);
28016 l_component_code VARCHAR2(30);
28017 l_component_type_code VARCHAR2(1);
28018 l_component_appl_id INTEGER;
28019 l_amb_context_code VARCHAR2(30);
28020 l_entity_code VARCHAR2(30);
28021 l_event_class_code VARCHAR2(30);
28022 l_ae_header_id NUMBER;
28023 l_event_type_code VARCHAR2(30);
28024 l_line_definition_code VARCHAR2(30);
28025 l_line_definition_owner_code VARCHAR2(1);
28026 --
28027 -- adr variables
28028 l_segment VARCHAR2(30);
28029 l_ccid NUMBER;
28033 l_adr_flex_value_set_id NUMBER;
28030 l_adr_transaction_coa_id NUMBER;
28031 l_adr_accounting_coa_id NUMBER;
28032 l_adr_flexfield_segment_code VARCHAR2(30);
28034 l_adr_value_type_code VARCHAR2(30);
28035 l_adr_value_combination_id NUMBER;
28036 l_adr_value_segment_code VARCHAR2(30);
28037
28038 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
28039 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
28040 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
28041 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
28042
28043 -- 4262811 Variables ------------------------------------------------------------------------------------------
28044 l_entered_amt_idx NUMBER;
28045 l_accted_amt_idx NUMBER;
28046 l_acc_rev_flag VARCHAR2(1);
28047 l_accrual_line_num NUMBER;
28048 l_tmp_amt NUMBER;
28049 l_acc_rev_natural_side_code VARCHAR2(1);
28050
28051 l_num_entries NUMBER;
28052 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
28053 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
28054 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
28055 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
28056 l_recog_line_1 NUMBER;
28057 l_recog_line_2 NUMBER;
28058
28059 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
28060 l_bflow_applied_to_amt NUMBER; -- 5132302
28061 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
28062
28063 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
28064
28065 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
28066 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
28067
28068 ---------------------------------------------------------------------------------------------------------------
28069
28070
28071 --
28072 -- bulk performance
28073 --
28074 l_balance_type_code VARCHAR2(1);
28075 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
28076 l_log_module VARCHAR2(240);
28077
28078 --
28079 -- Upgrade strategy
28080 --
28081 l_actual_upg_option VARCHAR2(1);
28082 l_enc_upg_option VARCHAR2(1);
28083
28084 --
28085 BEGIN
28086 --
28087 IF g_log_enabled THEN
28088 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_50';
28089 END IF;
28090 --
28091 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
28092
28093 trace
28094 (p_msg => 'BEGIN of AcctLineType_50'
28095 ,p_level => C_LEVEL_PROCEDURE
28096 ,p_module => l_log_module);
28097
28098 END IF;
28099 --
28100 l_component_type := 'AMB_JLT';
28101 l_component_code := 'AP_PREPAID_EXP_PREPAY_APP_E_CR';
28102 l_component_type_code := 'S';
28103 l_component_appl_id := 200;
28104 l_amb_context_code := 'DEFAULT';
28105 l_entity_code := 'AP_INVOICES';
28106 l_event_class_code := 'PREPAYMENT APPLICATIONS';
28107 l_event_type_code := 'PREPAYMENT APPLICATIONS_ALL';
28108 l_line_definition_owner_code := 'S';
28109 l_line_definition_code := 'ENC_PREPAY_APPL_ALL';
28110 --
28111 l_balance_type_code := 'E';
28112 l_segment := NULL;
28113 l_ccid := NULL;
28114 l_adr_transaction_coa_id := NULL;
28115 l_adr_accounting_coa_id := NULL;
28116 l_adr_flexfield_segment_code := NULL;
28117 l_adr_flex_value_set_id := NULL;
28118 l_adr_value_type_code := NULL;
28119 l_adr_value_combination_id := NULL;
28120 l_adr_value_segment_code := NULL;
28121
28122 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
28123 l_bflow_class_code := 'AP_INV_ENCUM'; -- 4219869 Business Flow
28124 l_inherit_desc_flag := 'Y'; -- 4219869 Business Flow
28125 l_budgetary_control_flag := 'Y';
28126
28127 l_bflow_applied_to_amt_idx := NULL; -- 5132302
28128 l_bflow_applied_to_amt := NULL; -- 5132302
28129 l_entered_amt_idx := NULL; -- 4262811
28130 l_accted_amt_idx := NULL; -- 4262811
28131 l_acc_rev_flag := NULL; -- 4262811
28132 l_accrual_line_num := NULL; -- 4262811
28133 l_tmp_amt := NULL; -- 4262811
28134 --
28135
28136 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
28137 l_balance_type_code <> 'B' THEN
28138 IF (NVL(p_source_69,'
28139 ') = 'PREPAY APPL' OR
28140 NVL(p_source_69,'
28141 ') = 'TAX DIFF' OR
28142 NVL(p_source_69,'
28143 ') = 'FINAL APPLICATION ROUNDING' OR
28144 NVL(p_source_69,'
28145 ') = 'PREPAY APPL REC TAX' OR
28146 NVL(p_source_69,'
28147 ') = 'PREPAY APPL NONREC TAX') AND
28148 NVL(p_source_17,'
28149 ') = 'Y' AND
28150 NVL(
28151 xla_ae_sources_pkg.GetSystemSourceChar(
28152 p_source_code => 'XLA_EVENT_TYPE_CODE'
28153 , p_source_type_code => 'Y'
28154 , p_source_application_id => 602
28155 ),'
28156 ') <> 'PREPAYMENT UNAPPLIED'
28157 THEN
28158
28159 --
28160 XLA_AE_LINES_PKG.SetNewLine;
28161
28165 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
28162 p_balance_type_code := l_balance_type_code;
28163 -- set the flag so later we will know whether the gain loss line needs to be created
28164
28166 p_actual_flag :='A';
28167 END IF;
28168
28169 --
28170 -- bulk performance
28171 --
28172 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
28173 p_header_num => 0); -- 4262811
28174 --
28175 -- set accounting line options
28176 --
28177 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
28178 p_natural_side_code => 'D'
28179 , p_gain_or_loss_flag => 'N'
28180 , p_gl_transfer_mode_code => 'S'
28181 , p_acct_entry_type_code => 'E'
28182 , p_switch_side_flag => 'Y'
28183 , p_merge_duplicate_code => 'N'
28184 );
28185 --
28186 l_acc_rev_natural_side_code := 'C'; -- 4262811
28187 --
28188 --
28189 -- set accounting line type info
28190 --
28191 xla_ae_lines_pkg.SetAcctLineType
28192 (p_component_type => l_component_type
28193 ,p_event_type_code => l_event_type_code
28194 ,p_line_definition_owner_code => l_line_definition_owner_code
28195 ,p_line_definition_code => l_line_definition_code
28196 ,p_accounting_line_code => l_component_code
28197 ,p_accounting_line_type_code => l_component_type_code
28198 ,p_accounting_line_appl_id => l_component_appl_id
28199 ,p_amb_context_code => l_amb_context_code
28200 ,p_entity_code => l_entity_code
28201 ,p_event_class_code => l_event_class_code);
28202 --
28203 -- set accounting class
28204 --
28205 xla_ae_lines_pkg.SetAcctClass(
28206 p_accounting_class_code => 'PREPAID_EXPENSE'
28207 , p_ae_header_id => l_ae_header_id
28208 );
28209
28210 --
28211 -- set rounding class
28212 --
28213 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
28214 'PREPAID_EXPENSE';
28215
28216 --
28217 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
28218 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
28219 --
28220 -- bulk performance
28221 --
28222 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
28223
28224 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
28225 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
28226
28227 -- 4955764
28228 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
28229 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
28230
28231 -- 4458381 Public Sector Enh
28232
28233 --
28234 -- set accounting attributes for the line type
28235 --
28236 l_entered_amt_idx := 25;
28237 l_accted_amt_idx := 27;
28238 l_bflow_applied_to_amt_idx := NULL; -- 5132302
28239 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
28240 l_rec_acct_attrs.array_char_value(1) := p_source_19;
28241 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
28242 l_rec_acct_attrs.array_num_value(2) :=
28243 xla_ae_sources_pkg.GetSystemSourceNum(
28244 p_source_code => 'XLA_EVENT_APPL_ID'
28245 , p_source_type_code => 'Y'
28246 , p_source_application_id => 602
28247 );
28248 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
28249 l_rec_acct_attrs.array_char_value(3) := p_source_21;
28250 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
28251 l_rec_acct_attrs.array_char_value(4) :=
28252 xla_ae_sources_pkg.GetSystemSourceChar(
28253 p_source_code => 'XLA_ENTITY_CODE'
28254 , p_source_type_code => 'Y'
28255 , p_source_application_id => 602
28256 );
28257 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
28258 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_71);
28259 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
28260 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_24);
28261 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
28262 l_rec_acct_attrs.array_num_value(7) := p_source_25;
28263 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
28264 l_rec_acct_attrs.array_char_value(8) := p_source_72;
28265 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
28266 l_rec_acct_attrs.array_char_value(9) := p_source_73;
28267 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
28268 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_74);
28269 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
28270 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_75);
28271 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
28272 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_71);
28273 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
28274 l_rec_acct_attrs.array_char_value(13) := p_source_21;
28278 l_rec_acct_attrs.array_num_value(15) := p_source_31;
28275 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_ACCT_CLASS';
28276 l_rec_acct_attrs.array_char_value(14) := p_source_76;
28277 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
28279 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
28280 l_rec_acct_attrs.array_num_value(16) := p_source_32;
28281 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
28282 l_rec_acct_attrs.array_char_value(17) := p_source_33;
28283 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
28284 l_rec_acct_attrs.array_num_value(18) := p_source_34;
28285 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ACCT_CLASS';
28286 l_rec_acct_attrs.array_char_value(19) := p_source_77;
28287 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_CCID';
28288 l_rec_acct_attrs.array_num_value(20) := p_source_35;
28289 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_AMT';
28290 l_rec_acct_attrs.array_num_value(21) := p_source_36;
28291 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_ENTERED_CURR';
28292 l_rec_acct_attrs.array_char_value(22) := p_source_33;
28293 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_DR_LEDGER_AMT';
28294 l_rec_acct_attrs.array_num_value(23) := p_source_37;
28295 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENC_UPG_OPTION';
28296 l_rec_acct_attrs.array_char_value(24) := p_source_38;
28297 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_AMOUNT';
28298 l_rec_acct_attrs.array_num_value(25) := p_source_78;
28299 l_rec_acct_attrs.array_acct_attr_code(26) := 'ENTERED_CURRENCY_CODE';
28300 l_rec_acct_attrs.array_char_value(26) := p_source_33;
28301 l_rec_acct_attrs.array_acct_attr_code(27) := 'LEDGER_AMOUNT';
28302 l_rec_acct_attrs.array_num_value(27) := p_source_79;
28303 l_rec_acct_attrs.array_acct_attr_code(28) := 'MULTIPERIOD_END_DATE';
28304 l_rec_acct_attrs.array_date_value(28) := p_source_43;
28305 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_OPTION';
28306 l_rec_acct_attrs.array_char_value(29) := p_source_44;
28307 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_START_DATE';
28308 l_rec_acct_attrs.array_date_value(30) := p_source_45;
28309 l_rec_acct_attrs.array_acct_attr_code(31) := 'OVERRIDE_ACCTD_AMT_FLAG';
28310 l_rec_acct_attrs.array_char_value(31) := p_source_46;
28311 l_rec_acct_attrs.array_acct_attr_code(32) := 'PARTY_TYPE';
28312 l_rec_acct_attrs.array_char_value(32) := p_source_49;
28313 l_rec_acct_attrs.array_acct_attr_code(33) := 'REVERSED_DISTRIBUTION_ID1';
28314 l_rec_acct_attrs.array_num_value(33) := to_char(p_source_80);
28315 l_rec_acct_attrs.array_acct_attr_code(34) := 'REVERSED_DISTRIBUTION_TYPE';
28316 l_rec_acct_attrs.array_char_value(34) := p_source_21;
28317 l_rec_acct_attrs.array_acct_attr_code(35) := 'TAX_LINE_REF_ID';
28318 l_rec_acct_attrs.array_num_value(35) := p_source_52;
28319 l_rec_acct_attrs.array_acct_attr_code(36) := 'TAX_REC_NREC_DIST_REF_ID';
28320 l_rec_acct_attrs.array_num_value(36) := p_source_53;
28321 l_rec_acct_attrs.array_acct_attr_code(37) := 'TAX_SUMMARY_LINE_REF_ID';
28322 l_rec_acct_attrs.array_num_value(37) := p_source_54;
28323 l_rec_acct_attrs.array_acct_attr_code(38) := 'UPG_CR_ENC_TYPE_ID';
28324 l_rec_acct_attrs.array_num_value(38) := p_source_55;
28325 l_rec_acct_attrs.array_acct_attr_code(39) := 'UPG_DR_ENC_TYPE_ID';
28326 l_rec_acct_attrs.array_num_value(39) := p_source_56;
28327
28328 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
28329 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
28330
28331 ---------------------------------------------------------------------------------------------------------------
28332 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
28333 ---------------------------------------------------------------------------------------------------------------
28334 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
28335
28336 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
28337 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
28338
28339 IF xla_accounting_cache_pkg.GetValueChar
28340 (p_source_code => 'LEDGER_CATEGORY_CODE'
28341 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
28342 AND l_bflow_method_code = 'PRIOR_ENTRY'
28343 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
28344 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
28345 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
28346 )
28347 THEN
28348 xla_ae_lines_pkg.BflowUpgEntry
28349 (p_business_method_code => l_bflow_method_code
28350 ,p_business_class_code => l_bflow_class_code
28351 ,p_balance_type => l_balance_type_code);
28352 ELSE
28353 NULL;
28354 XLA_AE_LINES_PKG.business_flow_validation(
28355 p_business_method_code => l_bflow_method_code
28356 ,p_business_class_code => l_bflow_class_code
28357 ,p_inherit_description_flag => l_inherit_desc_flag);
28358 END IF;
28359
28360 --
28361 -- call analytical criteria
28362 --
28363 -- Inherited Analytical Criteria for business flow method of Prior Entry.
28364 --
28368 --
28365 -- call description
28366 --
28367 -- No description or it is inherited.
28369 -- call ADRs
28370 -- Bug 4922099
28371 --
28372 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
28373 (NVL(l_actual_upg_option, 'N') = 'O') OR
28374 (NVL(l_enc_upg_option, 'N') = 'O')
28375 )
28376 THEN
28377 NULL;
28378 --
28379 --
28380
28381 --
28382 --
28383 END IF;
28384 --
28385 -- Bug 4922099
28386 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
28387 (NVL(l_enc_upg_option, 'N') = 'O')
28388 ) AND
28389 (l_bflow_method_code = 'PRIOR_ENTRY')
28390 )
28391 THEN
28392 IF
28393 --
28394 1 = 1
28395 --
28396 THEN
28397 xla_accounting_err_pkg.build_message
28398 (p_appli_s_name => 'XLA'
28399 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
28400 ,p_token_1 => 'LINE_NUMBER'
28401 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
28402 ,p_token_2 => 'LINE_TYPE_NAME'
28403 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
28404 l_component_type
28405 ,l_component_code
28406 ,l_component_type_code
28407 ,l_component_appl_id
28408 ,l_amb_context_code
28409 ,l_entity_code
28410 ,l_event_class_code
28411 )
28412 ,p_token_3 => 'OWNER'
28413 ,p_value_3 => xla_lookups_pkg.get_meaning(
28414 p_lookup_type => 'XLA_OWNER_TYPE'
28415 ,p_lookup_code => l_component_type_code
28416 )
28417 ,p_token_4 => 'PRODUCT_NAME'
28418 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
28419 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
28420 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
28421 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
28422 ,p_ae_header_id => NULL
28423 );
28424
28425 IF (C_LEVEL_ERROR>= g_log_level) THEN
28426 trace
28427 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
28428 ,p_level => C_LEVEL_ERROR
28429 ,p_module => l_log_module);
28430 END IF;
28431 END IF;
28432 END IF;
28433 --
28434 --
28435 ------------------------------------------------------------------------------------------------
28436 -- 4219869 Business Flow
28437 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
28438 -- Prior Entry. Currently, the following code is always generated.
28439 ------------------------------------------------------------------------------------------------
28440 -- No ValidateCurrentLine for business flow method of Prior Entry
28441
28442 ------------------------------------------------------------------------------------
28443 -- 4219869 Business Flow
28444 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
28445 ------------------------------------------------------------------------------------
28446 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
28447
28448 ----------------------------------------------------------------------------------
28449 -- 4219869 Business Flow
28450 -- Update journal entry status -- Need to generate this within IF <condition>
28451 ----------------------------------------------------------------------------------
28452 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
28453 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
28454 ,p_balance_type_code => l_balance_type_code
28455 );
28456
28457 -------------------------------------------------------------------------------------------
28458 -- 4262811 - Generate the Accrual Reversal lines
28459 -------------------------------------------------------------------------------------------
28460 BEGIN
28461 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
28462 (g_array_event(p_event_id).array_value_num('header_index'));
28463 IF l_acc_rev_flag IS NULL THEN
28467 WHEN OTHERS THEN
28464 l_acc_rev_flag := 'N';
28465 END IF;
28466 EXCEPTION
28468 l_acc_rev_flag := 'N';
28469 END;
28470 --
28471 IF (l_acc_rev_flag = 'Y') THEN
28472
28473 -- 4645092 ------------------------------------------------------------------------------
28474 -- To allow MPA report to determine if it should generate report process
28475 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
28476 ------------------------------------------------------------------------------------------
28477
28478 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
28479 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
28480 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
28481 -- call ADRs
28482 -- Bug 4922099
28483 --
28484 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
28485 (NVL(l_actual_upg_option, 'N') = 'O') OR
28486 (NVL(l_enc_upg_option, 'N') = 'O')
28487 )
28488 THEN
28489 NULL;
28490 --
28491 --
28492
28493 --
28494 --
28495 END IF;
28496
28497 --
28498 -- Update the line information that should be overwritten
28499 --
28500 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
28501 p_header_num => 1);
28502 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
28503
28504 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
28505
28506 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
28507 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
28508 END IF;
28509
28510 --
28511 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
28512 --
28513 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
28514 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
28515 ELSE
28516 ---------------------------------------------------------------------------------------------------
28517 -- 4262811a Switch Sign
28518 ---------------------------------------------------------------------------------------------------
28519 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
28520 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
28521 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
28522 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
28523 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
28524 -- 5132302
28525 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
28526 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
28527
28528 END IF;
28529
28530 -- 4955764
28531 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
28532 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
28533
28534
28535 XLA_AE_LINES_PKG.ValidateCurrentLine;
28536 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
28537
28538 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
28539 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
28540 ,p_balance_type_code => l_balance_type_code);
28541
28542 END IF;
28543
28544 -----------------------------------------------------------------------------------------
28545 -- 4262811 Multiperiod Accounting
28546 -----------------------------------------------------------------------------------------
28547 -- No MPA option is assigned.
28548
28549
28550 END IF;
28551 END IF;
28552 --
28553
28554 --
28555 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
28556 trace
28557 (p_msg => 'END of AcctLineType_50'
28558 ,p_level => C_LEVEL_PROCEDURE
28559 ,p_module => l_log_module);
28560 END IF;
28561 --
28562 EXCEPTION
28563 WHEN xla_exceptions_pkg.application_exception THEN
28564 RAISE;
28565 WHEN OTHERS THEN
28566 xla_exceptions_pkg.raise_message
28567 (p_location => 'XLA_00200_AAD_S_000006_BC_PKG.AcctLineType_50');
28568 END AcctLineType_50;
28569 --
28570
28571 ---------------------------------------
28572 --
28573 -- PRIVATE FUNCTION
28574 -- AcctLineType_51
28575 --
28576 ---------------------------------------
28577 PROCEDURE AcctLineType_51 (
28578 p_application_id IN NUMBER
28579 ,p_event_id IN NUMBER
28580 ,p_calculate_acctd_flag IN VARCHAR2
28581 ,p_calculate_g_l_flag IN VARCHAR2
28582 ,p_actual_flag IN OUT VARCHAR2
28583 ,p_balance_type_code OUT VARCHAR2
28584 ,p_gain_or_loss_ref OUT VARCHAR2
28585
28586 --Accounting Reversal Indicator
28587 , p_source_19 IN VARCHAR2
28588 --Distribution Link Type
28592 --Payables Encumbrance Upgrade Credit Account
28589 , p_source_21 IN VARCHAR2
28590 --Invoice Identifier
28591 , p_source_24 IN NUMBER
28593 , p_source_31 IN NUMBER
28594 --Payables Encumbrance Upgrade Credit Amount
28595 , p_source_32 IN NUMBER
28596 --Invoice Currency Code
28597 , p_source_33 IN VARCHAR2
28598 --Payables Encumbrance Upgrade Credit Base Amount
28599 , p_source_34 IN NUMBER
28600 --Payables Encumbrance Upgrade Debit Account
28601 , p_source_35 IN NUMBER
28602 --Payables Encumbrance Upgrade Debit Amount
28603 , p_source_36 IN NUMBER
28604 --Payables Encumbrance Upgrade Debit Base Amount
28605 , p_source_37 IN NUMBER
28606 --Payables Encumbrance Upgrade Option
28607 , p_source_38 IN VARCHAR2
28608 --Deferred Accounting End Date
28609 , p_source_43 IN DATE
28610 --Deferred Accounting Option
28611 , p_source_44 IN VARCHAR2
28612 --Deferred Accounting Start Date
28613 , p_source_45 IN DATE
28614 --Override Accounted Amount Indicator
28615 , p_source_46 IN VARCHAR2
28616 , p_source_46_meaning IN VARCHAR2
28617 --Third Party Type
28618 , p_source_49 IN VARCHAR2
28619 --Invoice Distribution Tax Line Identifier
28620 , p_source_52 IN NUMBER
28621 --Invoice Distribution Tax Distribution Identifier from Tax
28622 , p_source_53 IN NUMBER
28623 --Invoice Distribution Summary Tax Line Identifier
28624 , p_source_54 IN NUMBER
28625 --Payables Upgrade Credit Encumbrance Type Identifier
28626 , p_source_55 IN NUMBER
28627 --Payables Upgrade Debit Encumbrance Type Identifier
28628 , p_source_56 IN NUMBER
28629 --Purchase Order Distribution Identifier
28630 , p_source_58 IN NUMBER
28631 --Business Flow Purchasing Application Identifier
28632 , p_source_60 IN NUMBER
28633 --Business Flow Purchase Order Distribution Type
28634 , p_source_61 IN VARCHAR2
28635 --Business Flow Purchase Order Entity Code
28636 , p_source_62 IN VARCHAR2
28637 --Business Flow Purchasing Document Identifier
28638 , p_source_64 IN NUMBER
28639 --Prepayment Distribution Type
28640 , p_source_69 IN VARCHAR2
28641 --Prepayment Application Distribution Identifier
28642 , p_source_71 IN NUMBER
28643 --Upgrade Encumbrance Credit Account Class
28644 , p_source_76 IN VARCHAR2
28645 --Upgrade Encumbrance Debit Account Class
28646 , p_source_77 IN VARCHAR2
28647 --Prepayment Distribution Amount
28648 , p_source_78 IN NUMBER
28649 --Prepayment Distribution (Invoice Rate) Ledger Amount
28650 , p_source_79 IN NUMBER
28651 --Identifier of the Prepayment Application Reversed
28652 , p_source_80 IN NUMBER
28653 )
28654 IS
28655
28656 l_component_type VARCHAR2(80);
28657 l_component_code VARCHAR2(30);
28658 l_component_type_code VARCHAR2(1);
28659 l_component_appl_id INTEGER;
28660 l_amb_context_code VARCHAR2(30);
28661 l_entity_code VARCHAR2(30);
28662 l_event_class_code VARCHAR2(30);
28663 l_ae_header_id NUMBER;
28664 l_event_type_code VARCHAR2(30);
28665 l_line_definition_code VARCHAR2(30);
28666 l_line_definition_owner_code VARCHAR2(1);
28667 --
28668 -- adr variables
28669 l_segment VARCHAR2(30);
28670 l_ccid NUMBER;
28671 l_adr_transaction_coa_id NUMBER;
28672 l_adr_accounting_coa_id NUMBER;
28673 l_adr_flexfield_segment_code VARCHAR2(30);
28674 l_adr_flex_value_set_id NUMBER;
28675 l_adr_value_type_code VARCHAR2(30);
28676 l_adr_value_combination_id NUMBER;
28677 l_adr_value_segment_code VARCHAR2(30);
28678
28679 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
28680 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
28681 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
28682 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
28683
28684 -- 4262811 Variables ------------------------------------------------------------------------------------------
28685 l_entered_amt_idx NUMBER;
28686 l_accted_amt_idx NUMBER;
28687 l_acc_rev_flag VARCHAR2(1);
28688 l_accrual_line_num NUMBER;
28689 l_tmp_amt NUMBER;
28690 l_acc_rev_natural_side_code VARCHAR2(1);
28691
28692 l_num_entries NUMBER;
28693 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
28694 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
28695 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
28696 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
28697 l_recog_line_1 NUMBER;
28698 l_recog_line_2 NUMBER;
28699
28700 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
28701 l_bflow_applied_to_amt NUMBER; -- 5132302
28702 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
28703
28704 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
28705
28706 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
28707 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
28708
28712 --
28709 ---------------------------------------------------------------------------------------------------------------
28710
28711
28713 -- bulk performance
28714 --
28715 l_balance_type_code VARCHAR2(1);
28716 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
28717 l_log_module VARCHAR2(240);
28718
28719 --
28720 -- Upgrade strategy
28721 --
28722 l_actual_upg_option VARCHAR2(1);
28723 l_enc_upg_option VARCHAR2(1);
28724
28725 --
28726 BEGIN
28727 --
28728 IF g_log_enabled THEN
28729 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_51';
28730 END IF;
28731 --
28732 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
28733
28734 trace
28735 (p_msg => 'BEGIN of AcctLineType_51'
28736 ,p_level => C_LEVEL_PROCEDURE
28737 ,p_module => l_log_module);
28738
28739 END IF;
28740 --
28741 l_component_type := 'AMB_JLT';
28742 l_component_code := 'AP_PREPAY_APPL_PO_ENC';
28743 l_component_type_code := 'S';
28744 l_component_appl_id := 200;
28745 l_amb_context_code := 'DEFAULT';
28746 l_entity_code := 'AP_INVOICES';
28747 l_event_class_code := 'PREPAYMENT APPLICATIONS';
28748 l_event_type_code := 'PREPAYMENT APPLICATIONS_ALL';
28749 l_line_definition_owner_code := 'S';
28750 l_line_definition_code := 'ENC_PREPAY_APPL_ALL';
28751 --
28752 l_balance_type_code := 'E';
28753 l_segment := NULL;
28754 l_ccid := NULL;
28755 l_adr_transaction_coa_id := NULL;
28756 l_adr_accounting_coa_id := NULL;
28757 l_adr_flexfield_segment_code := NULL;
28758 l_adr_flex_value_set_id := NULL;
28759 l_adr_value_type_code := NULL;
28760 l_adr_value_combination_id := NULL;
28761 l_adr_value_segment_code := NULL;
28762
28763 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
28764 l_bflow_class_code := 'PO_ENCUMBRANCE'; -- 4219869 Business Flow
28765 l_inherit_desc_flag := 'Y'; -- 4219869 Business Flow
28766 l_budgetary_control_flag := 'Y';
28767
28768 l_bflow_applied_to_amt_idx := NULL; -- 5132302
28769 l_bflow_applied_to_amt := NULL; -- 5132302
28770 l_entered_amt_idx := NULL; -- 4262811
28771 l_accted_amt_idx := NULL; -- 4262811
28772 l_acc_rev_flag := NULL; -- 4262811
28773 l_accrual_line_num := NULL; -- 4262811
28774 l_tmp_amt := NULL; -- 4262811
28775 --
28776
28777 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
28778 l_balance_type_code <> 'B' THEN
28779 IF p_source_58 IS NOT NULL AND
28780 NVL(p_source_69,'
28781 ') = 'PREPAY APPL'
28782 THEN
28783
28784 --
28785 XLA_AE_LINES_PKG.SetNewLine;
28786
28787 p_balance_type_code := l_balance_type_code;
28788 -- set the flag so later we will know whether the gain loss line needs to be created
28789
28790 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
28791 p_actual_flag :='A';
28792 END IF;
28793
28794 --
28795 -- bulk performance
28796 --
28797 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
28798 p_header_num => 0); -- 4262811
28799 --
28800 -- set accounting line options
28801 --
28802 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
28803 p_natural_side_code => 'C'
28804 , p_gain_or_loss_flag => 'N'
28805 , p_gl_transfer_mode_code => 'S'
28806 , p_acct_entry_type_code => 'E'
28807 , p_switch_side_flag => 'Y'
28808 , p_merge_duplicate_code => 'N'
28809 );
28810 --
28811 l_acc_rev_natural_side_code := 'D'; -- 4262811
28812 --
28813 --
28814 -- set accounting line type info
28815 --
28816 xla_ae_lines_pkg.SetAcctLineType
28817 (p_component_type => l_component_type
28818 ,p_event_type_code => l_event_type_code
28819 ,p_line_definition_owner_code => l_line_definition_owner_code
28820 ,p_line_definition_code => l_line_definition_code
28821 ,p_accounting_line_code => l_component_code
28822 ,p_accounting_line_type_code => l_component_type_code
28823 ,p_accounting_line_appl_id => l_component_appl_id
28824 ,p_amb_context_code => l_amb_context_code
28825 ,p_entity_code => l_entity_code
28826 ,p_event_class_code => l_event_class_code);
28827 --
28828 -- set accounting class
28829 --
28830 xla_ae_lines_pkg.SetAcctClass(
28831 p_accounting_class_code => 'PURCHASE_ORDER'
28832 , p_ae_header_id => l_ae_header_id
28833 );
28834
28835 --
28836 -- set rounding class
28837 --
28838 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
28839 'PURCHASE_ORDER';
28840
28841 --
28842 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
28843 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
28847 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
28844 --
28845 -- bulk performance
28846 --
28848
28849 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
28850 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
28851
28852 -- 4955764
28853 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
28854 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
28855
28856 -- 4458381 Public Sector Enh
28857
28858 --
28859 -- set accounting attributes for the line type
28860 --
28861 l_entered_amt_idx := 25;
28862 l_accted_amt_idx := 27;
28863 l_bflow_applied_to_amt_idx := NULL; -- 5132302
28864 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
28865 l_rec_acct_attrs.array_char_value(1) := p_source_19;
28866 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
28867 l_rec_acct_attrs.array_num_value(2) :=
28868 xla_ae_sources_pkg.GetSystemSourceNum(
28869 p_source_code => 'XLA_EVENT_APPL_ID'
28870 , p_source_type_code => 'Y'
28871 , p_source_application_id => 602
28872 );
28873 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
28874 l_rec_acct_attrs.array_char_value(3) := p_source_21;
28875 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
28876 l_rec_acct_attrs.array_char_value(4) :=
28877 xla_ae_sources_pkg.GetSystemSourceChar(
28878 p_source_code => 'XLA_ENTITY_CODE'
28879 , p_source_type_code => 'Y'
28880 , p_source_application_id => 602
28881 );
28882 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
28883 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_71);
28884 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
28885 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_24);
28886 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
28887 l_rec_acct_attrs.array_num_value(7) := p_source_60;
28888 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
28889 l_rec_acct_attrs.array_char_value(8) := p_source_61;
28890 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
28891 l_rec_acct_attrs.array_char_value(9) := p_source_62;
28892 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
28893 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_58);
28894 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
28895 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_64);
28896 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
28897 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_71);
28898 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
28899 l_rec_acct_attrs.array_char_value(13) := p_source_21;
28900 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_ACCT_CLASS';
28901 l_rec_acct_attrs.array_char_value(14) := p_source_76;
28902 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
28903 l_rec_acct_attrs.array_num_value(15) := p_source_31;
28904 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
28905 l_rec_acct_attrs.array_num_value(16) := p_source_32;
28906 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
28907 l_rec_acct_attrs.array_char_value(17) := p_source_33;
28908 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
28909 l_rec_acct_attrs.array_num_value(18) := p_source_34;
28910 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ACCT_CLASS';
28911 l_rec_acct_attrs.array_char_value(19) := p_source_77;
28912 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_CCID';
28913 l_rec_acct_attrs.array_num_value(20) := p_source_35;
28914 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_AMT';
28915 l_rec_acct_attrs.array_num_value(21) := p_source_36;
28916 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_ENTERED_CURR';
28917 l_rec_acct_attrs.array_char_value(22) := p_source_33;
28918 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_DR_LEDGER_AMT';
28919 l_rec_acct_attrs.array_num_value(23) := p_source_37;
28920 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENC_UPG_OPTION';
28921 l_rec_acct_attrs.array_char_value(24) := p_source_38;
28922 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_AMOUNT';
28923 l_rec_acct_attrs.array_num_value(25) := p_source_78;
28924 l_rec_acct_attrs.array_acct_attr_code(26) := 'ENTERED_CURRENCY_CODE';
28925 l_rec_acct_attrs.array_char_value(26) := p_source_33;
28926 l_rec_acct_attrs.array_acct_attr_code(27) := 'LEDGER_AMOUNT';
28927 l_rec_acct_attrs.array_num_value(27) := p_source_79;
28928 l_rec_acct_attrs.array_acct_attr_code(28) := 'MULTIPERIOD_END_DATE';
28929 l_rec_acct_attrs.array_date_value(28) := p_source_43;
28930 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_OPTION';
28931 l_rec_acct_attrs.array_char_value(29) := p_source_44;
28932 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_START_DATE';
28933 l_rec_acct_attrs.array_date_value(30) := p_source_45;
28934 l_rec_acct_attrs.array_acct_attr_code(31) := 'OVERRIDE_ACCTD_AMT_FLAG';
28935 l_rec_acct_attrs.array_char_value(31) := p_source_46;
28936 l_rec_acct_attrs.array_acct_attr_code(32) := 'PARTY_TYPE';
28937 l_rec_acct_attrs.array_char_value(32) := p_source_49;
28938 l_rec_acct_attrs.array_acct_attr_code(33) := 'REVERSED_DISTRIBUTION_ID1';
28942 l_rec_acct_attrs.array_acct_attr_code(35) := 'TAX_LINE_REF_ID';
28939 l_rec_acct_attrs.array_num_value(33) := to_char(p_source_80);
28940 l_rec_acct_attrs.array_acct_attr_code(34) := 'REVERSED_DISTRIBUTION_TYPE';
28941 l_rec_acct_attrs.array_char_value(34) := p_source_21;
28943 l_rec_acct_attrs.array_num_value(35) := p_source_52;
28944 l_rec_acct_attrs.array_acct_attr_code(36) := 'TAX_REC_NREC_DIST_REF_ID';
28945 l_rec_acct_attrs.array_num_value(36) := p_source_53;
28946 l_rec_acct_attrs.array_acct_attr_code(37) := 'TAX_SUMMARY_LINE_REF_ID';
28947 l_rec_acct_attrs.array_num_value(37) := p_source_54;
28948 l_rec_acct_attrs.array_acct_attr_code(38) := 'UPG_CR_ENC_TYPE_ID';
28949 l_rec_acct_attrs.array_num_value(38) := p_source_55;
28950 l_rec_acct_attrs.array_acct_attr_code(39) := 'UPG_DR_ENC_TYPE_ID';
28951 l_rec_acct_attrs.array_num_value(39) := p_source_56;
28952
28953 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
28954 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
28955
28956 ---------------------------------------------------------------------------------------------------------------
28957 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
28958 ---------------------------------------------------------------------------------------------------------------
28959 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
28960
28961 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
28962 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
28963
28964 IF xla_accounting_cache_pkg.GetValueChar
28965 (p_source_code => 'LEDGER_CATEGORY_CODE'
28966 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
28967 AND l_bflow_method_code = 'PRIOR_ENTRY'
28968 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
28969 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
28970 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
28971 )
28972 THEN
28973 xla_ae_lines_pkg.BflowUpgEntry
28974 (p_business_method_code => l_bflow_method_code
28975 ,p_business_class_code => l_bflow_class_code
28976 ,p_balance_type => l_balance_type_code);
28977 ELSE
28978 NULL;
28979 XLA_AE_LINES_PKG.business_flow_validation(
28980 p_business_method_code => l_bflow_method_code
28981 ,p_business_class_code => l_bflow_class_code
28982 ,p_inherit_description_flag => l_inherit_desc_flag);
28983 END IF;
28984
28985 --
28986 -- call analytical criteria
28987 --
28988 -- Inherited Analytical Criteria for business flow method of Prior Entry.
28989 --
28990 -- call description
28991 --
28992 -- No description or it is inherited.
28993 --
28994 -- call ADRs
28995 -- Bug 4922099
28996 --
28997 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
28998 (NVL(l_actual_upg_option, 'N') = 'O') OR
28999 (NVL(l_enc_upg_option, 'N') = 'O')
29000 )
29001 THEN
29002 NULL;
29003 --
29004 --
29005
29006 --
29007 --
29008 END IF;
29009 --
29010 -- Bug 4922099
29011 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
29012 (NVL(l_enc_upg_option, 'N') = 'O')
29013 ) AND
29014 (l_bflow_method_code = 'PRIOR_ENTRY')
29015 )
29016 THEN
29017 IF
29018 --
29019 1 = 1
29020 --
29021 THEN
29022 xla_accounting_err_pkg.build_message
29023 (p_appli_s_name => 'XLA'
29024 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
29025 ,p_token_1 => 'LINE_NUMBER'
29026 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
29027 ,p_token_2 => 'LINE_TYPE_NAME'
29028 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
29029 l_component_type
29030 ,l_component_code
29031 ,l_component_type_code
29032 ,l_component_appl_id
29033 ,l_amb_context_code
29034 ,l_entity_code
29035 ,l_event_class_code
29036 )
29037 ,p_token_3 => 'OWNER'
29038 ,p_value_3 => xla_lookups_pkg.get_meaning(
29039 p_lookup_type => 'XLA_OWNER_TYPE'
29040 ,p_lookup_code => l_component_type_code
29044 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
29041 )
29042 ,p_token_4 => 'PRODUCT_NAME'
29043 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
29045 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
29046 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
29047 ,p_ae_header_id => NULL
29048 );
29049
29050 IF (C_LEVEL_ERROR>= g_log_level) THEN
29051 trace
29052 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
29053 ,p_level => C_LEVEL_ERROR
29054 ,p_module => l_log_module);
29055 END IF;
29056 END IF;
29057 END IF;
29058 --
29059 --
29060 ------------------------------------------------------------------------------------------------
29061 -- 4219869 Business Flow
29062 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
29063 -- Prior Entry. Currently, the following code is always generated.
29064 ------------------------------------------------------------------------------------------------
29065 -- No ValidateCurrentLine for business flow method of Prior Entry
29066
29067 ------------------------------------------------------------------------------------
29068 -- 4219869 Business Flow
29069 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
29070 ------------------------------------------------------------------------------------
29071 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
29072
29073 ----------------------------------------------------------------------------------
29074 -- 4219869 Business Flow
29075 -- Update journal entry status -- Need to generate this within IF <condition>
29076 ----------------------------------------------------------------------------------
29077 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
29078 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
29079 ,p_balance_type_code => l_balance_type_code
29080 );
29081
29082 -------------------------------------------------------------------------------------------
29083 -- 4262811 - Generate the Accrual Reversal lines
29084 -------------------------------------------------------------------------------------------
29085 BEGIN
29086 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
29087 (g_array_event(p_event_id).array_value_num('header_index'));
29088 IF l_acc_rev_flag IS NULL THEN
29089 l_acc_rev_flag := 'N';
29090 END IF;
29091 EXCEPTION
29092 WHEN OTHERS THEN
29093 l_acc_rev_flag := 'N';
29094 END;
29095 --
29096 IF (l_acc_rev_flag = 'Y') THEN
29097
29098 -- 4645092 ------------------------------------------------------------------------------
29099 -- To allow MPA report to determine if it should generate report process
29100 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
29101 ------------------------------------------------------------------------------------------
29102
29103 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
29104 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
29105 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
29106 -- call ADRs
29107 -- Bug 4922099
29108 --
29109 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
29110 (NVL(l_actual_upg_option, 'N') = 'O') OR
29111 (NVL(l_enc_upg_option, 'N') = 'O')
29112 )
29113 THEN
29114 NULL;
29115 --
29116 --
29117
29118 --
29119 --
29120 END IF;
29121
29122 --
29123 -- Update the line information that should be overwritten
29124 --
29125 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
29126 p_header_num => 1);
29127 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
29128
29129 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
29130
29131 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
29132 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
29133 END IF;
29134
29135 --
29136 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
29137 --
29138 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
29139 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
29140 ELSE
29141 ---------------------------------------------------------------------------------------------------
29142 -- 4262811a Switch Sign
29143 ---------------------------------------------------------------------------------------------------
29144 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
29148 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
29145 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
29146 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
29147 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
29149 -- 5132302
29150 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
29151 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
29152
29153 END IF;
29154
29155 -- 4955764
29156 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
29157 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
29158
29159
29160 XLA_AE_LINES_PKG.ValidateCurrentLine;
29161 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
29162
29163 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
29164 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
29165 ,p_balance_type_code => l_balance_type_code);
29166
29167 END IF;
29168
29169 -----------------------------------------------------------------------------------------
29170 -- 4262811 Multiperiod Accounting
29171 -----------------------------------------------------------------------------------------
29172 -- No MPA option is assigned.
29173
29174
29175 END IF;
29176 END IF;
29177 --
29178
29179 --
29180 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
29181 trace
29182 (p_msg => 'END of AcctLineType_51'
29183 ,p_level => C_LEVEL_PROCEDURE
29184 ,p_module => l_log_module);
29185 END IF;
29186 --
29187 EXCEPTION
29188 WHEN xla_exceptions_pkg.application_exception THEN
29189 RAISE;
29190 WHEN OTHERS THEN
29191 xla_exceptions_pkg.raise_message
29192 (p_location => 'XLA_00200_AAD_S_000006_BC_PKG.AcctLineType_51');
29193 END AcctLineType_51;
29194 --
29195
29196 ---------------------------------------
29197 --
29198 -- PRIVATE FUNCTION
29199 -- AcctLineType_52
29200 --
29201 ---------------------------------------
29202 PROCEDURE AcctLineType_52 (
29203 p_application_id IN NUMBER
29204 ,p_event_id IN NUMBER
29205 ,p_calculate_acctd_flag IN VARCHAR2
29206 ,p_calculate_g_l_flag IN VARCHAR2
29207 ,p_actual_flag IN OUT VARCHAR2
29208 ,p_balance_type_code OUT VARCHAR2
29209 ,p_gain_or_loss_ref OUT VARCHAR2
29210
29211 --Invoice Distribution Type
29212 , p_source_15 IN VARCHAR2
29213 , p_source_15_meaning IN VARCHAR2
29214 --Accrue on Receipt Option
29215 , p_source_18 IN VARCHAR2
29216 , p_source_18_meaning IN VARCHAR2
29217 --Accounting Reversal Indicator
29218 , p_source_19 IN VARCHAR2
29219 --Distribution Link Type
29220 , p_source_21 IN VARCHAR2
29221 --Allocation to Main Distribution Identifier
29222 , p_source_23 IN NUMBER
29223 --Invoice Identifier
29224 , p_source_24 IN NUMBER
29225 --Invoice Distribution Identifier
29226 , p_source_30 IN NUMBER
29227 --Payables Encumbrance Upgrade Credit Account
29228 , p_source_31 IN NUMBER
29229 --Payables Encumbrance Upgrade Credit Amount
29230 , p_source_32 IN NUMBER
29231 --Invoice Currency Code
29232 , p_source_33 IN VARCHAR2
29233 --Payables Encumbrance Upgrade Credit Base Amount
29234 , p_source_34 IN NUMBER
29235 --Payables Encumbrance Upgrade Debit Account
29236 , p_source_35 IN NUMBER
29237 --Payables Encumbrance Upgrade Debit Amount
29238 , p_source_36 IN NUMBER
29239 --Payables Encumbrance Upgrade Debit Base Amount
29240 , p_source_37 IN NUMBER
29241 --Payables Encumbrance Upgrade Option
29242 , p_source_38 IN VARCHAR2
29243 --Deferred Accounting End Date
29244 , p_source_43 IN DATE
29245 --Deferred Accounting Option
29246 , p_source_44 IN VARCHAR2
29247 --Deferred Accounting Start Date
29248 , p_source_45 IN DATE
29249 --Override Accounted Amount Indicator
29250 , p_source_46 IN VARCHAR2
29251 , p_source_46_meaning IN VARCHAR2
29252 --Third Party Type
29253 , p_source_49 IN VARCHAR2
29254 --Parent Reversal Identifier
29255 , p_source_50 IN NUMBER
29256 --Invoice Distribution Statistical Amount
29257 , p_source_51 IN NUMBER
29258 --Invoice Distribution Tax Line Identifier
29259 , p_source_52 IN NUMBER
29260 --Invoice Distribution Tax Distribution Identifier from Tax
29261 , p_source_53 IN NUMBER
29262 --Invoice Distribution Summary Tax Line Identifier
29263 , p_source_54 IN NUMBER
29264 --Payables Upgrade Credit Encumbrance Type Identifier
29265 , p_source_55 IN NUMBER
29266 --Payables Upgrade Debit Encumbrance Type Identifier
29267 , p_source_56 IN NUMBER
29268 --Purchase Order Distribution Identifier
29269 , p_source_58 IN NUMBER
29270 --Business Flow Purchasing Application Identifier
29271 , p_source_60 IN NUMBER
29272 --Business Flow Purchase Order Distribution Type
29276 --Business Flow Purchase Order Distribution Identifier
29273 , p_source_61 IN VARCHAR2
29274 --Business Flow Purchase Order Entity Code
29275 , p_source_62 IN VARCHAR2
29277 , p_source_63 IN NUMBER
29278 --Business Flow Purchasing Document Identifier
29279 , p_source_64 IN NUMBER
29280 --Invoice Distribution Encumbrance Amount
29281 , p_source_65 IN NUMBER
29282 --Invoice Distribution Encumbrance Ledger Amount
29283 , p_source_66 IN NUMBER
29284 )
29285 IS
29286
29287 l_component_type VARCHAR2(80);
29288 l_component_code VARCHAR2(30);
29289 l_component_type_code VARCHAR2(1);
29290 l_component_appl_id INTEGER;
29291 l_amb_context_code VARCHAR2(30);
29292 l_entity_code VARCHAR2(30);
29293 l_event_class_code VARCHAR2(30);
29294 l_ae_header_id NUMBER;
29295 l_event_type_code VARCHAR2(30);
29296 l_line_definition_code VARCHAR2(30);
29297 l_line_definition_owner_code VARCHAR2(1);
29298 --
29299 -- adr variables
29300 l_segment VARCHAR2(30);
29301 l_ccid NUMBER;
29302 l_adr_transaction_coa_id NUMBER;
29303 l_adr_accounting_coa_id NUMBER;
29304 l_adr_flexfield_segment_code VARCHAR2(30);
29305 l_adr_flex_value_set_id NUMBER;
29306 l_adr_value_type_code VARCHAR2(30);
29307 l_adr_value_combination_id NUMBER;
29308 l_adr_value_segment_code VARCHAR2(30);
29309
29310 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
29311 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
29312 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
29313 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
29314
29315 -- 4262811 Variables ------------------------------------------------------------------------------------------
29316 l_entered_amt_idx NUMBER;
29317 l_accted_amt_idx NUMBER;
29318 l_acc_rev_flag VARCHAR2(1);
29319 l_accrual_line_num NUMBER;
29320 l_tmp_amt NUMBER;
29321 l_acc_rev_natural_side_code VARCHAR2(1);
29322
29323 l_num_entries NUMBER;
29324 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
29325 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
29326 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
29327 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
29328 l_recog_line_1 NUMBER;
29329 l_recog_line_2 NUMBER;
29330
29331 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
29332 l_bflow_applied_to_amt NUMBER; -- 5132302
29333 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
29334
29335 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
29336
29337 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
29338 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
29339
29340 ---------------------------------------------------------------------------------------------------------------
29341
29342
29343 --
29344 -- bulk performance
29345 --
29346 l_balance_type_code VARCHAR2(1);
29347 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
29348 l_log_module VARCHAR2(240);
29349
29350 --
29351 -- Upgrade strategy
29352 --
29353 l_actual_upg_option VARCHAR2(1);
29354 l_enc_upg_option VARCHAR2(1);
29355
29356 --
29357 BEGIN
29358 --
29359 IF g_log_enabled THEN
29360 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_52';
29361 END IF;
29362 --
29363 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
29364
29365 trace
29366 (p_msg => 'BEGIN of AcctLineType_52'
29367 ,p_level => C_LEVEL_PROCEDURE
29368 ,p_module => l_log_module);
29369
29370 END IF;
29371 --
29372 l_component_type := 'AMB_JLT';
29373 l_component_code := 'AP_PREPAY_PO_ENC';
29374 l_component_type_code := 'S';
29375 l_component_appl_id := 200;
29376 l_amb_context_code := 'DEFAULT';
29377 l_entity_code := 'AP_INVOICES';
29378 l_event_class_code := 'PREPAYMENTS';
29379 l_event_type_code := 'PREPAYMENTS_ALL';
29380 l_line_definition_owner_code := 'S';
29381 l_line_definition_code := 'ENC_PREPAY_ALL';
29382 --
29383 l_balance_type_code := 'E';
29384 l_segment := NULL;
29385 l_ccid := NULL;
29386 l_adr_transaction_coa_id := NULL;
29387 l_adr_accounting_coa_id := NULL;
29388 l_adr_flexfield_segment_code := NULL;
29389 l_adr_flex_value_set_id := NULL;
29390 l_adr_value_type_code := NULL;
29391 l_adr_value_combination_id := NULL;
29392 l_adr_value_segment_code := NULL;
29393
29394 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
29395 l_bflow_class_code := 'PO_ENCUMBRANCE'; -- 4219869 Business Flow
29396 l_inherit_desc_flag := 'Y'; -- 4219869 Business Flow
29397 l_budgetary_control_flag := 'Y';
29398
29399 l_bflow_applied_to_amt_idx := NULL; -- 5132302
29400 l_bflow_applied_to_amt := NULL; -- 5132302
29401 l_entered_amt_idx := NULL; -- 4262811
29405 l_tmp_amt := NULL; -- 4262811
29402 l_accted_amt_idx := NULL; -- 4262811
29403 l_acc_rev_flag := NULL; -- 4262811
29404 l_accrual_line_num := NULL; -- 4262811
29406 --
29407
29408 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
29409 l_balance_type_code <> 'B' THEN
29410 IF p_source_58 IS NOT NULL AND
29411 (NVL(p_source_15,'
29412 ') = 'ACCRUAL' OR
29413 NVL(p_source_15,'
29414 ') = 'ITEM') AND
29415 NVL(p_source_18,'
29416 ') <> 'Y'
29417 THEN
29418
29419 --
29420 XLA_AE_LINES_PKG.SetNewLine;
29421
29422 p_balance_type_code := l_balance_type_code;
29423 -- set the flag so later we will know whether the gain loss line needs to be created
29424
29425 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
29426 p_actual_flag :='A';
29427 END IF;
29428
29429 --
29430 -- bulk performance
29431 --
29432 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
29433 p_header_num => 0); -- 4262811
29434 --
29435 -- set accounting line options
29436 --
29437 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
29438 p_natural_side_code => 'C'
29439 , p_gain_or_loss_flag => 'N'
29440 , p_gl_transfer_mode_code => 'S'
29441 , p_acct_entry_type_code => 'E'
29442 , p_switch_side_flag => 'Y'
29443 , p_merge_duplicate_code => 'N'
29444 );
29445 --
29446 l_acc_rev_natural_side_code := 'D'; -- 4262811
29447 --
29448 --
29449 -- set accounting line type info
29450 --
29451 xla_ae_lines_pkg.SetAcctLineType
29452 (p_component_type => l_component_type
29453 ,p_event_type_code => l_event_type_code
29454 ,p_line_definition_owner_code => l_line_definition_owner_code
29455 ,p_line_definition_code => l_line_definition_code
29456 ,p_accounting_line_code => l_component_code
29457 ,p_accounting_line_type_code => l_component_type_code
29458 ,p_accounting_line_appl_id => l_component_appl_id
29459 ,p_amb_context_code => l_amb_context_code
29460 ,p_entity_code => l_entity_code
29461 ,p_event_class_code => l_event_class_code);
29462 --
29463 -- set accounting class
29464 --
29465 xla_ae_lines_pkg.SetAcctClass(
29466 p_accounting_class_code => 'PURCHASE_ORDER'
29467 , p_ae_header_id => l_ae_header_id
29468 );
29469
29470 --
29471 -- set rounding class
29472 --
29473 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
29474 'PURCHASE_ORDER';
29475
29476 --
29477 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
29478 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
29479 --
29480 -- bulk performance
29481 --
29482 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
29483
29484 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
29485 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
29486
29487 -- 4955764
29488 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
29489 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
29490
29491 -- 4458381 Public Sector Enh
29492
29493 --
29494 -- set accounting attributes for the line type
29495 --
29496 l_entered_amt_idx := 23;
29497 l_accted_amt_idx := 25;
29498 l_bflow_applied_to_amt_idx := NULL; -- 5132302
29499 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
29500 l_rec_acct_attrs.array_char_value(1) := p_source_19;
29501 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
29502 l_rec_acct_attrs.array_num_value(2) :=
29503 xla_ae_sources_pkg.GetSystemSourceNum(
29504 p_source_code => 'XLA_EVENT_APPL_ID'
29505 , p_source_type_code => 'Y'
29506 , p_source_application_id => 602
29507 );
29508 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
29509 l_rec_acct_attrs.array_char_value(3) := p_source_21;
29510 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
29511 l_rec_acct_attrs.array_char_value(4) :=
29512 xla_ae_sources_pkg.GetSystemSourceChar(
29513 p_source_code => 'XLA_ENTITY_CODE'
29514 , p_source_type_code => 'Y'
29515 , p_source_application_id => 602
29516 );
29517 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
29518 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_23);
29519 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
29520 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_24);
29521 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
29522 l_rec_acct_attrs.array_num_value(7) := p_source_60;
29523 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
29524 l_rec_acct_attrs.array_char_value(8) := p_source_61;
29528 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_63);
29525 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
29526 l_rec_acct_attrs.array_char_value(9) := p_source_62;
29527 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
29529 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
29530 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_64);
29531 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
29532 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_30);
29533 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
29534 l_rec_acct_attrs.array_char_value(13) := p_source_21;
29535 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
29536 l_rec_acct_attrs.array_num_value(14) := p_source_31;
29537 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
29538 l_rec_acct_attrs.array_num_value(15) := p_source_32;
29539 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
29540 l_rec_acct_attrs.array_char_value(16) := p_source_33;
29541 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
29542 l_rec_acct_attrs.array_num_value(17) := p_source_34;
29543 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
29544 l_rec_acct_attrs.array_num_value(18) := p_source_35;
29545 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
29546 l_rec_acct_attrs.array_num_value(19) := p_source_36;
29547 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
29548 l_rec_acct_attrs.array_char_value(20) := p_source_33;
29549 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
29550 l_rec_acct_attrs.array_num_value(21) := p_source_37;
29551 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
29552 l_rec_acct_attrs.array_char_value(22) := p_source_38;
29553 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
29554 l_rec_acct_attrs.array_num_value(23) := p_source_65;
29555 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
29556 l_rec_acct_attrs.array_char_value(24) := p_source_33;
29557 l_rec_acct_attrs.array_acct_attr_code(25) := 'LEDGER_AMOUNT';
29558 l_rec_acct_attrs.array_num_value(25) := p_source_66;
29559 l_rec_acct_attrs.array_acct_attr_code(26) := 'MULTIPERIOD_END_DATE';
29560 l_rec_acct_attrs.array_date_value(26) := p_source_43;
29561 l_rec_acct_attrs.array_acct_attr_code(27) := 'MULTIPERIOD_OPTION';
29562 l_rec_acct_attrs.array_char_value(27) := p_source_44;
29563 l_rec_acct_attrs.array_acct_attr_code(28) := 'MULTIPERIOD_START_DATE';
29564 l_rec_acct_attrs.array_date_value(28) := p_source_45;
29565 l_rec_acct_attrs.array_acct_attr_code(29) := 'OVERRIDE_ACCTD_AMT_FLAG';
29566 l_rec_acct_attrs.array_char_value(29) := p_source_46;
29567 l_rec_acct_attrs.array_acct_attr_code(30) := 'PARTY_TYPE';
29568 l_rec_acct_attrs.array_char_value(30) := p_source_49;
29569 l_rec_acct_attrs.array_acct_attr_code(31) := 'REVERSED_DISTRIBUTION_ID1';
29570 l_rec_acct_attrs.array_num_value(31) := to_char(p_source_50);
29571 l_rec_acct_attrs.array_acct_attr_code(32) := 'REVERSED_DISTRIBUTION_TYPE';
29572 l_rec_acct_attrs.array_char_value(32) := p_source_21;
29573 l_rec_acct_attrs.array_acct_attr_code(33) := 'STATISTICAL_AMOUNT';
29574 l_rec_acct_attrs.array_num_value(33) := p_source_51;
29575 l_rec_acct_attrs.array_acct_attr_code(34) := 'TAX_LINE_REF_ID';
29576 l_rec_acct_attrs.array_num_value(34) := p_source_52;
29577 l_rec_acct_attrs.array_acct_attr_code(35) := 'TAX_REC_NREC_DIST_REF_ID';
29578 l_rec_acct_attrs.array_num_value(35) := p_source_53;
29579 l_rec_acct_attrs.array_acct_attr_code(36) := 'TAX_SUMMARY_LINE_REF_ID';
29580 l_rec_acct_attrs.array_num_value(36) := p_source_54;
29581 l_rec_acct_attrs.array_acct_attr_code(37) := 'UPG_CR_ENC_TYPE_ID';
29582 l_rec_acct_attrs.array_num_value(37) := p_source_55;
29583 l_rec_acct_attrs.array_acct_attr_code(38) := 'UPG_DR_ENC_TYPE_ID';
29584 l_rec_acct_attrs.array_num_value(38) := p_source_56;
29585
29586 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
29587 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
29588
29589 ---------------------------------------------------------------------------------------------------------------
29590 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
29591 ---------------------------------------------------------------------------------------------------------------
29592 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
29593
29594 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
29595 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
29596
29597 IF xla_accounting_cache_pkg.GetValueChar
29598 (p_source_code => 'LEDGER_CATEGORY_CODE'
29599 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
29600 AND l_bflow_method_code = 'PRIOR_ENTRY'
29601 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
29602 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
29603 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
29604 )
29605 THEN
29606 xla_ae_lines_pkg.BflowUpgEntry
29607 (p_business_method_code => l_bflow_method_code
29608 ,p_business_class_code => l_bflow_class_code
29609 ,p_balance_type => l_balance_type_code);
29610 ELSE
29614 ,p_business_class_code => l_bflow_class_code
29611 NULL;
29612 XLA_AE_LINES_PKG.business_flow_validation(
29613 p_business_method_code => l_bflow_method_code
29615 ,p_inherit_description_flag => l_inherit_desc_flag);
29616 END IF;
29617
29618 --
29619 -- call analytical criteria
29620 --
29621 -- Inherited Analytical Criteria for business flow method of Prior Entry.
29622 --
29623 -- call description
29624 --
29625 -- No description or it is inherited.
29626 --
29627 -- call ADRs
29628 -- Bug 4922099
29629 --
29630 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
29631 (NVL(l_actual_upg_option, 'N') = 'O') OR
29632 (NVL(l_enc_upg_option, 'N') = 'O')
29633 )
29634 THEN
29635 NULL;
29636 --
29637 --
29638
29639 --
29640 --
29641 END IF;
29642 --
29643 -- Bug 4922099
29644 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
29645 (NVL(l_enc_upg_option, 'N') = 'O')
29646 ) AND
29647 (l_bflow_method_code = 'PRIOR_ENTRY')
29648 )
29649 THEN
29650 IF
29651 --
29652 1 = 1
29653 --
29654 THEN
29655 xla_accounting_err_pkg.build_message
29656 (p_appli_s_name => 'XLA'
29657 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
29658 ,p_token_1 => 'LINE_NUMBER'
29659 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
29660 ,p_token_2 => 'LINE_TYPE_NAME'
29661 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
29662 l_component_type
29663 ,l_component_code
29664 ,l_component_type_code
29665 ,l_component_appl_id
29666 ,l_amb_context_code
29667 ,l_entity_code
29668 ,l_event_class_code
29669 )
29670 ,p_token_3 => 'OWNER'
29671 ,p_value_3 => xla_lookups_pkg.get_meaning(
29672 p_lookup_type => 'XLA_OWNER_TYPE'
29673 ,p_lookup_code => l_component_type_code
29674 )
29675 ,p_token_4 => 'PRODUCT_NAME'
29676 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
29677 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
29678 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
29679 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
29680 ,p_ae_header_id => NULL
29681 );
29682
29683 IF (C_LEVEL_ERROR>= g_log_level) THEN
29684 trace
29685 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
29686 ,p_level => C_LEVEL_ERROR
29687 ,p_module => l_log_module);
29688 END IF;
29689 END IF;
29690 END IF;
29691 --
29692 --
29693 ------------------------------------------------------------------------------------------------
29694 -- 4219869 Business Flow
29695 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
29696 -- Prior Entry. Currently, the following code is always generated.
29697 ------------------------------------------------------------------------------------------------
29698 -- No ValidateCurrentLine for business flow method of Prior Entry
29699
29700 ------------------------------------------------------------------------------------
29701 -- 4219869 Business Flow
29702 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
29703 ------------------------------------------------------------------------------------
29704 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
29705
29706 ----------------------------------------------------------------------------------
29707 -- 4219869 Business Flow
29708 -- Update journal entry status -- Need to generate this within IF <condition>
29709 ----------------------------------------------------------------------------------
29710 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
29711 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
29712 ,p_balance_type_code => l_balance_type_code
29713 );
29714
29718 BEGIN
29715 -------------------------------------------------------------------------------------------
29716 -- 4262811 - Generate the Accrual Reversal lines
29717 -------------------------------------------------------------------------------------------
29719 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
29720 (g_array_event(p_event_id).array_value_num('header_index'));
29721 IF l_acc_rev_flag IS NULL THEN
29722 l_acc_rev_flag := 'N';
29723 END IF;
29724 EXCEPTION
29725 WHEN OTHERS THEN
29726 l_acc_rev_flag := 'N';
29727 END;
29728 --
29729 IF (l_acc_rev_flag = 'Y') THEN
29730
29731 -- 4645092 ------------------------------------------------------------------------------
29732 -- To allow MPA report to determine if it should generate report process
29733 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
29734 ------------------------------------------------------------------------------------------
29735
29736 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
29737 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
29738 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
29739 -- call ADRs
29740 -- Bug 4922099
29741 --
29742 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
29743 (NVL(l_actual_upg_option, 'N') = 'O') OR
29744 (NVL(l_enc_upg_option, 'N') = 'O')
29745 )
29746 THEN
29747 NULL;
29748 --
29749 --
29750
29751 --
29752 --
29753 END IF;
29754
29755 --
29756 -- Update the line information that should be overwritten
29757 --
29758 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
29759 p_header_num => 1);
29760 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
29761
29762 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
29763
29764 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
29765 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
29766 END IF;
29767
29768 --
29769 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
29770 --
29771 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
29772 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
29773 ELSE
29774 ---------------------------------------------------------------------------------------------------
29775 -- 4262811a Switch Sign
29776 ---------------------------------------------------------------------------------------------------
29777 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
29778 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
29779 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
29780 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
29781 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
29782 -- 5132302
29783 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
29784 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
29785
29786 END IF;
29787
29788 -- 4955764
29789 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
29790 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
29791
29792
29793 XLA_AE_LINES_PKG.ValidateCurrentLine;
29794 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
29795
29796 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
29797 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
29798 ,p_balance_type_code => l_balance_type_code);
29799
29800 END IF;
29801
29802 -----------------------------------------------------------------------------------------
29803 -- 4262811 Multiperiod Accounting
29804 -----------------------------------------------------------------------------------------
29805 -- No MPA option is assigned.
29806
29807
29808 END IF;
29809 END IF;
29810 --
29811
29812 --
29813 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
29814 trace
29815 (p_msg => 'END of AcctLineType_52'
29816 ,p_level => C_LEVEL_PROCEDURE
29817 ,p_module => l_log_module);
29818 END IF;
29819 --
29820 EXCEPTION
29821 WHEN xla_exceptions_pkg.application_exception THEN
29822 RAISE;
29823 WHEN OTHERS THEN
29824 xla_exceptions_pkg.raise_message
29825 (p_location => 'XLA_00200_AAD_S_000006_BC_PKG.AcctLineType_52');
29826 END AcctLineType_52;
29827 --
29828
29829 ---------------------------------------
29830 --
29831 -- PRIVATE FUNCTION
29832 -- AcctLineType_53
29833 --
29834 ---------------------------------------
29835 PROCEDURE AcctLineType_53 (
29839 ,p_calculate_g_l_flag IN VARCHAR2
29836 p_application_id IN NUMBER
29837 ,p_event_id IN NUMBER
29838 ,p_calculate_acctd_flag IN VARCHAR2
29840 ,p_actual_flag IN OUT VARCHAR2
29841 ,p_balance_type_code OUT VARCHAR2
29842 ,p_gain_or_loss_ref OUT VARCHAR2
29843
29844 --Invoice Distribution Description
29845 , p_source_1 IN VARCHAR2
29846 --Invoice Distribution Account
29847 , p_source_11 IN NUMBER
29848 --Invoice Distribution Type
29849 , p_source_15 IN VARCHAR2
29850 , p_source_15_meaning IN VARCHAR2
29851 --Purchasing Encumbrance Option
29852 , p_source_17 IN VARCHAR2
29853 , p_source_17_meaning IN VARCHAR2
29854 --Accrue on Receipt Option
29855 , p_source_18 IN VARCHAR2
29856 , p_source_18_meaning IN VARCHAR2
29857 --Accounting Reversal Indicator
29858 , p_source_19 IN VARCHAR2
29859 --Distribution Link Type
29860 , p_source_21 IN VARCHAR2
29861 --Allocation to Main Distribution Identifier
29862 , p_source_23 IN NUMBER
29863 --Invoice Identifier
29864 , p_source_24 IN NUMBER
29865 --Business Flow Accounts Payable Application Identifier
29866 , p_source_25 IN NUMBER
29867 --Business Flow Invoice Distribution Type
29868 , p_source_26 IN VARCHAR2
29869 --Business Flow Invoice Entity Code
29870 , p_source_27 IN VARCHAR2
29871 --Business Flow Invoice Distribution Identifier
29872 , p_source_28 IN NUMBER
29873 --Business Flow Invoice Identifier
29874 , p_source_29 IN NUMBER
29875 --Invoice Distribution Identifier
29876 , p_source_30 IN NUMBER
29877 --Payables Encumbrance Upgrade Credit Account
29878 , p_source_31 IN NUMBER
29879 --Payables Encumbrance Upgrade Credit Amount
29880 , p_source_32 IN NUMBER
29881 --Invoice Currency Code
29882 , p_source_33 IN VARCHAR2
29883 --Payables Encumbrance Upgrade Credit Base Amount
29884 , p_source_34 IN NUMBER
29885 --Payables Encumbrance Upgrade Debit Account
29886 , p_source_35 IN NUMBER
29887 --Payables Encumbrance Upgrade Debit Amount
29888 , p_source_36 IN NUMBER
29889 --Payables Encumbrance Upgrade Debit Base Amount
29890 , p_source_37 IN NUMBER
29891 --Payables Encumbrance Upgrade Option
29892 , p_source_38 IN VARCHAR2
29893 --Invoice Exchange Date
29894 , p_source_39 IN DATE
29895 --Invoice Exchange Rate
29896 , p_source_40 IN NUMBER
29897 --Invoice Exchange Rate Type
29898 , p_source_41 IN VARCHAR2
29899 --Deferred Accounting End Date
29900 , p_source_43 IN DATE
29901 --Deferred Accounting Option
29902 , p_source_44 IN VARCHAR2
29903 --Deferred Accounting Start Date
29904 , p_source_45 IN DATE
29905 --Override Accounted Amount Indicator
29906 , p_source_46 IN VARCHAR2
29907 , p_source_46_meaning IN VARCHAR2
29908 --Invoice Supplier Identifier
29909 , p_source_47 IN NUMBER
29910 --Invoice Supplier Site Identifier
29911 , p_source_48 IN NUMBER
29912 --Third Party Type
29913 , p_source_49 IN VARCHAR2
29914 --Parent Reversal Identifier
29915 , p_source_50 IN NUMBER
29916 --Invoice Distribution Statistical Amount
29917 , p_source_51 IN NUMBER
29918 --Invoice Distribution Tax Line Identifier
29919 , p_source_52 IN NUMBER
29920 --Invoice Distribution Tax Distribution Identifier from Tax
29921 , p_source_53 IN NUMBER
29922 --Invoice Distribution Summary Tax Line Identifier
29923 , p_source_54 IN NUMBER
29924 --Payables Upgrade Credit Encumbrance Type Identifier
29925 , p_source_55 IN NUMBER
29926 --Payables Upgrade Debit Encumbrance Type Identifier
29927 , p_source_56 IN NUMBER
29928 --Invoice Distribution Amount
29929 , p_source_57 IN NUMBER
29930 --Quantity Variance Amount
29931 , p_source_81 IN NUMBER
29932 --Quantity Variance Amount in Ledger Currency
29933 , p_source_82 IN NUMBER
29934 )
29935 IS
29936
29937 l_component_type VARCHAR2(80);
29938 l_component_code VARCHAR2(30);
29939 l_component_type_code VARCHAR2(1);
29940 l_component_appl_id INTEGER;
29941 l_amb_context_code VARCHAR2(30);
29942 l_entity_code VARCHAR2(30);
29943 l_event_class_code VARCHAR2(30);
29944 l_ae_header_id NUMBER;
29945 l_event_type_code VARCHAR2(30);
29946 l_line_definition_code VARCHAR2(30);
29947 l_line_definition_owner_code VARCHAR2(1);
29948 --
29949 -- adr variables
29950 l_segment VARCHAR2(30);
29951 l_ccid NUMBER;
29952 l_adr_transaction_coa_id NUMBER;
29953 l_adr_accounting_coa_id NUMBER;
29954 l_adr_flexfield_segment_code VARCHAR2(30);
29955 l_adr_flex_value_set_id NUMBER;
29956 l_adr_value_type_code VARCHAR2(30);
29957 l_adr_value_combination_id NUMBER;
29958 l_adr_value_segment_code VARCHAR2(30);
29959
29960 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
29961 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
29962 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
29966 l_entered_amt_idx NUMBER;
29963 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
29964
29965 -- 4262811 Variables ------------------------------------------------------------------------------------------
29967 l_accted_amt_idx NUMBER;
29968 l_acc_rev_flag VARCHAR2(1);
29969 l_accrual_line_num NUMBER;
29970 l_tmp_amt NUMBER;
29971 l_acc_rev_natural_side_code VARCHAR2(1);
29972
29973 l_num_entries NUMBER;
29974 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
29975 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
29976 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
29977 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
29978 l_recog_line_1 NUMBER;
29979 l_recog_line_2 NUMBER;
29980
29981 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
29982 l_bflow_applied_to_amt NUMBER; -- 5132302
29983 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
29984
29985 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
29986
29987 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
29988 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
29989
29990 ---------------------------------------------------------------------------------------------------------------
29991
29992
29993 --
29994 -- bulk performance
29995 --
29996 l_balance_type_code VARCHAR2(1);
29997 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
29998 l_log_module VARCHAR2(240);
29999
30000 --
30001 -- Upgrade strategy
30002 --
30003 l_actual_upg_option VARCHAR2(1);
30004 l_enc_upg_option VARCHAR2(1);
30005
30006 --
30007 BEGIN
30008 --
30009 IF g_log_enabled THEN
30010 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_53';
30011 END IF;
30012 --
30013 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
30014
30015 trace
30016 (p_msg => 'BEGIN of AcctLineType_53'
30017 ,p_level => C_LEVEL_PROCEDURE
30018 ,p_module => l_log_module);
30019
30020 END IF;
30021 --
30022 l_component_type := 'AMB_JLT';
30023 l_component_code := 'AP_QTY_VARIANCE_INV_ENC_DR';
30024 l_component_type_code := 'S';
30025 l_component_appl_id := 200;
30026 l_amb_context_code := 'DEFAULT';
30027 l_entity_code := 'AP_INVOICES';
30028 l_event_class_code := 'INVOICES';
30029 l_event_type_code := 'INVOICES_ALL';
30030 l_line_definition_owner_code := 'S';
30031 l_line_definition_code := 'ENC_INVOICES_ALL';
30032 --
30033 l_balance_type_code := 'E';
30034 l_segment := NULL;
30035 l_ccid := NULL;
30036 l_adr_transaction_coa_id := NULL;
30037 l_adr_accounting_coa_id := NULL;
30038 l_adr_flexfield_segment_code := NULL;
30039 l_adr_flex_value_set_id := NULL;
30040 l_adr_value_type_code := NULL;
30041 l_adr_value_combination_id := NULL;
30042 l_adr_value_segment_code := NULL;
30043
30044 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
30045 l_bflow_class_code := 'AP_INV_ENCUM'; -- 4219869 Business Flow
30046 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
30047 l_budgetary_control_flag := 'Y';
30048
30049 l_bflow_applied_to_amt_idx := NULL; -- 5132302
30050 l_bflow_applied_to_amt := NULL; -- 5132302
30051 l_entered_amt_idx := NULL; -- 4262811
30052 l_accted_amt_idx := NULL; -- 4262811
30053 l_acc_rev_flag := NULL; -- 4262811
30054 l_accrual_line_num := NULL; -- 4262811
30055 l_tmp_amt := NULL; -- 4262811
30056 --
30057
30058 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
30059 l_balance_type_code <> 'B' THEN
30060 IF NVL(p_source_15,'
30061 ') = 'ITEM' AND
30062 p_source_81 IS NOT NULL AND
30063 NVL(p_source_17,'
30064 ') = 'Y' AND
30065 NVL(p_source_18,'
30066 ') <> 'Y'
30067 THEN
30068
30069 --
30070 XLA_AE_LINES_PKG.SetNewLine;
30071
30072 p_balance_type_code := l_balance_type_code;
30073 -- set the flag so later we will know whether the gain loss line needs to be created
30074
30075 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
30076 p_actual_flag :='A';
30077 END IF;
30078
30079 --
30080 -- bulk performance
30081 --
30082 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
30083 p_header_num => 0); -- 4262811
30084 --
30085 -- set accounting line options
30086 --
30087 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
30088 p_natural_side_code => 'D'
30089 , p_gain_or_loss_flag => 'N'
30090 , p_gl_transfer_mode_code => 'S'
30091 , p_acct_entry_type_code => 'E'
30092 , p_switch_side_flag => 'Y'
30093 , p_merge_duplicate_code => 'N'
30094 );
30095 --
30096 l_acc_rev_natural_side_code := 'C'; -- 4262811
30097 --
30098 --
30102 (p_component_type => l_component_type
30099 -- set accounting line type info
30100 --
30101 xla_ae_lines_pkg.SetAcctLineType
30103 ,p_event_type_code => l_event_type_code
30104 ,p_line_definition_owner_code => l_line_definition_owner_code
30105 ,p_line_definition_code => l_line_definition_code
30106 ,p_accounting_line_code => l_component_code
30107 ,p_accounting_line_type_code => l_component_type_code
30108 ,p_accounting_line_appl_id => l_component_appl_id
30109 ,p_amb_context_code => l_amb_context_code
30110 ,p_entity_code => l_entity_code
30111 ,p_event_class_code => l_event_class_code);
30112 --
30113 -- set accounting class
30114 --
30115 xla_ae_lines_pkg.SetAcctClass(
30116 p_accounting_class_code => 'QV'
30117 , p_ae_header_id => l_ae_header_id
30118 );
30119
30120 --
30121 -- set rounding class
30122 --
30123 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
30124 'QV';
30125
30126 --
30127 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
30128 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
30129 --
30130 -- bulk performance
30131 --
30132 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
30133
30134 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
30135 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
30136
30137 -- 4955764
30138 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
30139 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
30140
30141 -- 4458381 Public Sector Enh
30142 XLA_AE_LINES_PKG.g_rec_lines.array_encumbrance_type_id(XLA_AE_LINES_PKG.g_LineNumber) := 1060;
30143 --
30144 -- set accounting attributes for the line type
30145 --
30146 l_entered_amt_idx := 24;
30147 l_accted_amt_idx := 29;
30148 l_bflow_applied_to_amt_idx := 7; -- 5132302
30149 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
30150 l_rec_acct_attrs.array_char_value(1) := p_source_19;
30151 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
30152 l_rec_acct_attrs.array_num_value(2) :=
30153 xla_ae_sources_pkg.GetSystemSourceNum(
30154 p_source_code => 'XLA_EVENT_APPL_ID'
30155 , p_source_type_code => 'Y'
30156 , p_source_application_id => 602
30157 );
30158 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
30159 l_rec_acct_attrs.array_char_value(3) := p_source_21;
30160 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
30161 l_rec_acct_attrs.array_char_value(4) :=
30162 xla_ae_sources_pkg.GetSystemSourceChar(
30163 p_source_code => 'XLA_ENTITY_CODE'
30164 , p_source_type_code => 'Y'
30165 , p_source_application_id => 602
30166 );
30167 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
30168 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_23);
30169 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
30170 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_24);
30171 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_AMOUNT';
30172 l_rec_acct_attrs.array_num_value(7) := p_source_57;
30173 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_APPLICATION_ID';
30174 l_rec_acct_attrs.array_num_value(8) := p_source_25;
30175 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_DISTRIBUTION_TYPE';
30176 l_rec_acct_attrs.array_char_value(9) := p_source_26;
30177 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_ENTITY_CODE';
30178 l_rec_acct_attrs.array_char_value(10) := p_source_27;
30179 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_DIST_ID';
30180 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_28);
30181 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
30182 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_29);
30183 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
30184 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_30);
30185 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_TYPE';
30186 l_rec_acct_attrs.array_char_value(14) := p_source_21;
30187 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
30188 l_rec_acct_attrs.array_num_value(15) := p_source_31;
30189 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
30190 l_rec_acct_attrs.array_num_value(16) := p_source_32;
30191 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
30192 l_rec_acct_attrs.array_char_value(17) := p_source_33;
30193 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
30194 l_rec_acct_attrs.array_num_value(18) := p_source_34;
30195 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_CCID';
30196 l_rec_acct_attrs.array_num_value(19) := p_source_35;
30197 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_AMT';
30198 l_rec_acct_attrs.array_num_value(20) := p_source_36;
30199 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_CURR';
30203 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_OPTION';
30200 l_rec_acct_attrs.array_char_value(21) := p_source_33;
30201 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_LEDGER_AMT';
30202 l_rec_acct_attrs.array_num_value(22) := p_source_37;
30204 l_rec_acct_attrs.array_char_value(23) := p_source_38;
30205 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_AMOUNT';
30206 l_rec_acct_attrs.array_num_value(24) := p_source_81;
30207 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_CODE';
30208 l_rec_acct_attrs.array_char_value(25) := p_source_33;
30209 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_DATE';
30210 l_rec_acct_attrs.array_date_value(26) := p_source_39;
30211 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE';
30212 l_rec_acct_attrs.array_num_value(27) := p_source_40;
30213 l_rec_acct_attrs.array_acct_attr_code(28) := 'EXCHANGE_RATE_TYPE';
30214 l_rec_acct_attrs.array_char_value(28) := p_source_41;
30215 l_rec_acct_attrs.array_acct_attr_code(29) := 'LEDGER_AMOUNT';
30216 l_rec_acct_attrs.array_num_value(29) := p_source_82;
30217 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_END_DATE';
30218 l_rec_acct_attrs.array_date_value(30) := p_source_43;
30219 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_OPTION';
30220 l_rec_acct_attrs.array_char_value(31) := p_source_44;
30221 l_rec_acct_attrs.array_acct_attr_code(32) := 'MULTIPERIOD_START_DATE';
30222 l_rec_acct_attrs.array_date_value(32) := p_source_45;
30223 l_rec_acct_attrs.array_acct_attr_code(33) := 'OVERRIDE_ACCTD_AMT_FLAG';
30224 l_rec_acct_attrs.array_char_value(33) := p_source_46;
30225 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_ID';
30226 l_rec_acct_attrs.array_num_value(34) := p_source_47;
30227 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_SITE_ID';
30228 l_rec_acct_attrs.array_num_value(35) := p_source_48;
30229 l_rec_acct_attrs.array_acct_attr_code(36) := 'PARTY_TYPE';
30230 l_rec_acct_attrs.array_char_value(36) := p_source_49;
30231 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_ID1';
30232 l_rec_acct_attrs.array_num_value(37) := to_char(p_source_50);
30233 l_rec_acct_attrs.array_acct_attr_code(38) := 'REVERSED_DISTRIBUTION_TYPE';
30234 l_rec_acct_attrs.array_char_value(38) := p_source_21;
30235 l_rec_acct_attrs.array_acct_attr_code(39) := 'STATISTICAL_AMOUNT';
30236 l_rec_acct_attrs.array_num_value(39) := p_source_51;
30237 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_LINE_REF_ID';
30238 l_rec_acct_attrs.array_num_value(40) := p_source_52;
30239 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_REC_NREC_DIST_REF_ID';
30240 l_rec_acct_attrs.array_num_value(41) := p_source_53;
30241 l_rec_acct_attrs.array_acct_attr_code(42) := 'TAX_SUMMARY_LINE_REF_ID';
30242 l_rec_acct_attrs.array_num_value(42) := p_source_54;
30243 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_CR_ENC_TYPE_ID';
30244 l_rec_acct_attrs.array_num_value(43) := p_source_55;
30245 l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
30246 l_rec_acct_attrs.array_num_value(44) := p_source_56;
30247
30248 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
30249 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
30250
30251 ---------------------------------------------------------------------------------------------------------------
30252 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
30253 ---------------------------------------------------------------------------------------------------------------
30254 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
30255
30256 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
30257 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
30258
30259 IF xla_accounting_cache_pkg.GetValueChar
30260 (p_source_code => 'LEDGER_CATEGORY_CODE'
30261 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
30262 AND l_bflow_method_code = 'PRIOR_ENTRY'
30263 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
30264 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
30265 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
30266 )
30267 THEN
30268 xla_ae_lines_pkg.BflowUpgEntry
30269 (p_business_method_code => l_bflow_method_code
30270 ,p_business_class_code => l_bflow_class_code
30271 ,p_balance_type => l_balance_type_code);
30272 ELSE
30273 NULL;
30274 -- No business flow processing for business flow method of NONE.
30275 END IF;
30276
30277 --
30278 -- call analytical criteria
30279 --
30280
30281 --
30282 -- call description
30283 --
30284
30285 xla_ae_lines_pkg.SetLineDescription(
30286 p_ae_header_id => l_ae_header_id
30287 ,p_description => Description_2 (
30288 p_application_id => p_application_id
30289 , p_ae_header_id => l_ae_header_id
30290 , p_source_1 => p_source_1
30291 )
30292 );
30293
30294
30295 --
30296 -- call ADRs
30297 -- Bug 4922099
30298 --
30299 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
30300 (NVL(l_actual_upg_option, 'N') = 'O') OR
30301 (NVL(l_enc_upg_option, 'N') = 'O')
30302 )
30303 THEN
30304 NULL;
30305 --
30306 --
30307
30311 , p_source_11 => p_source_11
30308 l_ccid := AcctDerRule_7(
30309 p_application_id => p_application_id
30310 , p_ae_header_id => l_ae_header_id
30312 , x_transaction_coa_id => l_adr_transaction_coa_id
30313 , x_accounting_coa_id => l_adr_accounting_coa_id
30314 , x_value_type_code => l_adr_value_type_code
30315 , p_side => 'NA'
30316 );
30317
30318 xla_ae_lines_pkg.set_ccid(
30319 p_code_combination_id => l_ccid
30320 , p_value_type_code => l_adr_value_type_code
30321 , p_transaction_coa_id => l_adr_transaction_coa_id
30322 , p_accounting_coa_id => l_adr_accounting_coa_id
30323 , p_adr_code => 'AP_INVOICE_DIST'
30324 , p_adr_type_code => 'S'
30325 , p_component_type => l_component_type
30326 , p_component_code => l_component_code
30327 , p_component_type_code => l_component_type_code
30328 , p_component_appl_id => l_component_appl_id
30329 , p_amb_context_code => l_amb_context_code
30330 , p_side => 'NA'
30331 );
30332
30333
30334 --
30335 --
30336 END IF;
30337 --
30338 -- Bug 4922099
30339 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
30340 (NVL(l_enc_upg_option, 'N') = 'O')
30341 ) AND
30342 (l_bflow_method_code = 'PRIOR_ENTRY')
30343 )
30344 THEN
30345 IF
30346 --
30347 1 = 2
30348 --
30349 THEN
30350 xla_accounting_err_pkg.build_message
30351 (p_appli_s_name => 'XLA'
30352 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
30353 ,p_token_1 => 'LINE_NUMBER'
30354 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
30355 ,p_token_2 => 'LINE_TYPE_NAME'
30356 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
30357 l_component_type
30358 ,l_component_code
30359 ,l_component_type_code
30360 ,l_component_appl_id
30361 ,l_amb_context_code
30362 ,l_entity_code
30363 ,l_event_class_code
30364 )
30365 ,p_token_3 => 'OWNER'
30366 ,p_value_3 => xla_lookups_pkg.get_meaning(
30367 p_lookup_type => 'XLA_OWNER_TYPE'
30368 ,p_lookup_code => l_component_type_code
30369 )
30370 ,p_token_4 => 'PRODUCT_NAME'
30371 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
30372 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
30373 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
30374 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
30375 ,p_ae_header_id => NULL
30376 );
30377
30378 IF (C_LEVEL_ERROR>= g_log_level) THEN
30379 trace
30380 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
30381 ,p_level => C_LEVEL_ERROR
30382 ,p_module => l_log_module);
30383 END IF;
30384 END IF;
30385 END IF;
30386 --
30387 --
30388 ------------------------------------------------------------------------------------------------
30389 -- 4219869 Business Flow
30390 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
30391 -- Prior Entry. Currently, the following code is always generated.
30392 ------------------------------------------------------------------------------------------------
30393 XLA_AE_LINES_PKG.ValidateCurrentLine;
30394
30395 ------------------------------------------------------------------------------------
30396 -- 4219869 Business Flow
30397 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
30398 ------------------------------------------------------------------------------------
30399 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
30400
30401 ----------------------------------------------------------------------------------
30402 -- 4219869 Business Flow
30403 -- Update journal entry status -- Need to generate this within IF <condition>
30404 ----------------------------------------------------------------------------------
30408 );
30405 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
30406 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
30407 ,p_balance_type_code => l_balance_type_code
30409
30410 -------------------------------------------------------------------------------------------
30411 -- 4262811 - Generate the Accrual Reversal lines
30412 -------------------------------------------------------------------------------------------
30413 BEGIN
30414 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
30415 (g_array_event(p_event_id).array_value_num('header_index'));
30416 IF l_acc_rev_flag IS NULL THEN
30417 l_acc_rev_flag := 'N';
30418 END IF;
30419 EXCEPTION
30420 WHEN OTHERS THEN
30421 l_acc_rev_flag := 'N';
30422 END;
30423 --
30424 IF (l_acc_rev_flag = 'Y') THEN
30425
30426 -- 4645092 ------------------------------------------------------------------------------
30427 -- To allow MPA report to determine if it should generate report process
30428 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
30429 ------------------------------------------------------------------------------------------
30430
30431 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
30432 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
30433 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
30434 -- call ADRs
30435 -- Bug 4922099
30436 --
30437 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
30438 (NVL(l_actual_upg_option, 'N') = 'O') OR
30439 (NVL(l_enc_upg_option, 'N') = 'O')
30440 )
30441 THEN
30442 NULL;
30443 --
30444 --
30445
30446 l_ccid := AcctDerRule_7(
30447 p_application_id => p_application_id
30448 , p_ae_header_id => l_ae_header_id
30449 , p_source_11 => p_source_11
30450 , x_transaction_coa_id => l_adr_transaction_coa_id
30451 , x_accounting_coa_id => l_adr_accounting_coa_id
30452 , x_value_type_code => l_adr_value_type_code
30453 , p_side => 'NA'
30454 );
30455
30456 xla_ae_lines_pkg.set_ccid(
30457 p_code_combination_id => l_ccid
30458 , p_value_type_code => l_adr_value_type_code
30459 , p_transaction_coa_id => l_adr_transaction_coa_id
30460 , p_accounting_coa_id => l_adr_accounting_coa_id
30461 , p_adr_code => 'AP_INVOICE_DIST'
30462 , p_adr_type_code => 'S'
30463 , p_component_type => l_component_type
30464 , p_component_code => l_component_code
30465 , p_component_type_code => l_component_type_code
30466 , p_component_appl_id => l_component_appl_id
30467 , p_amb_context_code => l_amb_context_code
30468 , p_side => 'NA'
30469 );
30470
30471
30472 --
30473 --
30474 END IF;
30475
30476 --
30477 -- Update the line information that should be overwritten
30478 --
30479 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
30480 p_header_num => 1);
30481 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
30482
30483 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
30484
30485 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
30486 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
30487 END IF;
30488
30489 --
30490 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
30491 --
30492 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
30493 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
30494 ELSE
30495 ---------------------------------------------------------------------------------------------------
30496 -- 4262811a Switch Sign
30497 ---------------------------------------------------------------------------------------------------
30498 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
30499 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
30500 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
30501 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
30502 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
30503 -- 5132302
30504 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
30505 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
30506
30507 END IF;
30508
30509 -- 4955764
30510 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
30511 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
30512
30513
30514 XLA_AE_LINES_PKG.ValidateCurrentLine;
30518 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
30515 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
30516
30517 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
30519 ,p_balance_type_code => l_balance_type_code);
30520
30521 END IF;
30522
30523 -----------------------------------------------------------------------------------------
30524 -- 4262811 Multiperiod Accounting
30525 -----------------------------------------------------------------------------------------
30526 -- No MPA option is assigned.
30527
30528
30529 END IF;
30530 END IF;
30531 --
30532
30533 --
30534 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
30535 trace
30536 (p_msg => 'END of AcctLineType_53'
30537 ,p_level => C_LEVEL_PROCEDURE
30538 ,p_module => l_log_module);
30539 END IF;
30540 --
30541 EXCEPTION
30542 WHEN xla_exceptions_pkg.application_exception THEN
30543 RAISE;
30544 WHEN OTHERS THEN
30545 xla_exceptions_pkg.raise_message
30546 (p_location => 'XLA_00200_AAD_S_000006_BC_PKG.AcctLineType_53');
30547 END AcctLineType_53;
30548 --
30549
30550 ---------------------------------------
30551 --
30552 -- PRIVATE FUNCTION
30553 -- AcctLineType_54
30554 --
30555 ---------------------------------------
30556 PROCEDURE AcctLineType_54 (
30557 p_application_id IN NUMBER
30558 ,p_event_id IN NUMBER
30559 ,p_calculate_acctd_flag IN VARCHAR2
30560 ,p_calculate_g_l_flag IN VARCHAR2
30561 ,p_actual_flag IN OUT VARCHAR2
30562 ,p_balance_type_code OUT VARCHAR2
30563 ,p_gain_or_loss_ref OUT VARCHAR2
30564
30565 --Invoice Distribution Description
30566 , p_source_1 IN VARCHAR2
30567 --Invoice Distribution Account
30568 , p_source_11 IN NUMBER
30569 --Invoice Distribution Type
30570 , p_source_15 IN VARCHAR2
30571 , p_source_15_meaning IN VARCHAR2
30572 --Purchasing Encumbrance Option
30573 , p_source_17 IN VARCHAR2
30574 , p_source_17_meaning IN VARCHAR2
30575 --Accrue on Receipt Option
30576 , p_source_18 IN VARCHAR2
30577 , p_source_18_meaning IN VARCHAR2
30578 --Accounting Reversal Indicator
30579 , p_source_19 IN VARCHAR2
30580 --Distribution Link Type
30581 , p_source_21 IN VARCHAR2
30582 --Allocation to Main Distribution Identifier
30583 , p_source_23 IN NUMBER
30584 --Invoice Identifier
30585 , p_source_24 IN NUMBER
30586 --Business Flow Accounts Payable Application Identifier
30587 , p_source_25 IN NUMBER
30588 --Business Flow Invoice Distribution Type
30589 , p_source_26 IN VARCHAR2
30590 --Business Flow Invoice Entity Code
30591 , p_source_27 IN VARCHAR2
30592 --Business Flow Invoice Distribution Identifier
30593 , p_source_28 IN NUMBER
30594 --Business Flow Invoice Identifier
30595 , p_source_29 IN NUMBER
30596 --Invoice Distribution Identifier
30597 , p_source_30 IN NUMBER
30598 --Payables Encumbrance Upgrade Credit Account
30599 , p_source_31 IN NUMBER
30600 --Payables Encumbrance Upgrade Credit Amount
30601 , p_source_32 IN NUMBER
30602 --Invoice Currency Code
30603 , p_source_33 IN VARCHAR2
30604 --Payables Encumbrance Upgrade Credit Base Amount
30605 , p_source_34 IN NUMBER
30606 --Payables Encumbrance Upgrade Debit Account
30607 , p_source_35 IN NUMBER
30608 --Payables Encumbrance Upgrade Debit Amount
30609 , p_source_36 IN NUMBER
30610 --Payables Encumbrance Upgrade Debit Base Amount
30611 , p_source_37 IN NUMBER
30612 --Payables Encumbrance Upgrade Option
30613 , p_source_38 IN VARCHAR2
30614 --Invoice Exchange Date
30615 , p_source_39 IN DATE
30616 --Invoice Exchange Rate
30617 , p_source_40 IN NUMBER
30618 --Invoice Exchange Rate Type
30619 , p_source_41 IN VARCHAR2
30620 --Deferred Accounting End Date
30621 , p_source_43 IN DATE
30622 --Deferred Accounting Option
30623 , p_source_44 IN VARCHAR2
30624 --Deferred Accounting Start Date
30625 , p_source_45 IN DATE
30626 --Override Accounted Amount Indicator
30627 , p_source_46 IN VARCHAR2
30628 , p_source_46_meaning IN VARCHAR2
30629 --Invoice Supplier Identifier
30630 , p_source_47 IN NUMBER
30631 --Invoice Supplier Site Identifier
30632 , p_source_48 IN NUMBER
30633 --Third Party Type
30634 , p_source_49 IN VARCHAR2
30635 --Parent Reversal Identifier
30636 , p_source_50 IN NUMBER
30637 --Invoice Distribution Statistical Amount
30638 , p_source_51 IN NUMBER
30639 --Invoice Distribution Tax Line Identifier
30640 , p_source_52 IN NUMBER
30641 --Invoice Distribution Tax Distribution Identifier from Tax
30642 , p_source_53 IN NUMBER
30643 --Invoice Distribution Summary Tax Line Identifier
30644 , p_source_54 IN NUMBER
30645 --Payables Upgrade Credit Encumbrance Type Identifier
30646 , p_source_55 IN NUMBER
30647 --Payables Upgrade Debit Encumbrance Type Identifier
30648 , p_source_56 IN NUMBER
30649 --Quantity Variance Amount
30650 , p_source_81 IN NUMBER
30654 IS
30651 --Quantity Variance Amount in Ledger Currency
30652 , p_source_82 IN NUMBER
30653 )
30655
30656 l_component_type VARCHAR2(80);
30657 l_component_code VARCHAR2(30);
30658 l_component_type_code VARCHAR2(1);
30659 l_component_appl_id INTEGER;
30660 l_amb_context_code VARCHAR2(30);
30661 l_entity_code VARCHAR2(30);
30662 l_event_class_code VARCHAR2(30);
30663 l_ae_header_id NUMBER;
30664 l_event_type_code VARCHAR2(30);
30665 l_line_definition_code VARCHAR2(30);
30666 l_line_definition_owner_code VARCHAR2(1);
30667 --
30668 -- adr variables
30669 l_segment VARCHAR2(30);
30670 l_ccid NUMBER;
30671 l_adr_transaction_coa_id NUMBER;
30672 l_adr_accounting_coa_id NUMBER;
30673 l_adr_flexfield_segment_code VARCHAR2(30);
30674 l_adr_flex_value_set_id NUMBER;
30675 l_adr_value_type_code VARCHAR2(30);
30676 l_adr_value_combination_id NUMBER;
30677 l_adr_value_segment_code VARCHAR2(30);
30678
30679 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
30680 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
30681 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
30682 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
30683
30684 -- 4262811 Variables ------------------------------------------------------------------------------------------
30685 l_entered_amt_idx NUMBER;
30686 l_accted_amt_idx NUMBER;
30687 l_acc_rev_flag VARCHAR2(1);
30688 l_accrual_line_num NUMBER;
30689 l_tmp_amt NUMBER;
30690 l_acc_rev_natural_side_code VARCHAR2(1);
30691
30692 l_num_entries NUMBER;
30693 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
30694 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
30695 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
30696 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
30697 l_recog_line_1 NUMBER;
30698 l_recog_line_2 NUMBER;
30699
30700 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
30701 l_bflow_applied_to_amt NUMBER; -- 5132302
30702 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
30703
30704 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
30705
30706 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
30707 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
30708
30709 ---------------------------------------------------------------------------------------------------------------
30710
30711
30712 --
30713 -- bulk performance
30714 --
30715 l_balance_type_code VARCHAR2(1);
30716 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
30717 l_log_module VARCHAR2(240);
30718
30719 --
30720 -- Upgrade strategy
30721 --
30722 l_actual_upg_option VARCHAR2(1);
30723 l_enc_upg_option VARCHAR2(1);
30724
30725 --
30726 BEGIN
30727 --
30728 IF g_log_enabled THEN
30729 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_54';
30730 END IF;
30731 --
30732 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
30733
30734 trace
30735 (p_msg => 'BEGIN of AcctLineType_54'
30736 ,p_level => C_LEVEL_PROCEDURE
30737 ,p_module => l_log_module);
30738
30739 END IF;
30740 --
30741 l_component_type := 'AMB_JLT';
30742 l_component_code := 'AP_QUANTITY_VARIANCE_CM_ENC_DR';
30743 l_component_type_code := 'S';
30744 l_component_appl_id := 200;
30745 l_amb_context_code := 'DEFAULT';
30746 l_entity_code := 'AP_INVOICES';
30747 l_event_class_code := 'CREDIT MEMOS';
30748 l_event_type_code := 'CREDIT MEMOS_ALL';
30749 l_line_definition_owner_code := 'S';
30750 l_line_definition_code := 'ENC_CM_ALL';
30751 --
30752 l_balance_type_code := 'E';
30753 l_segment := NULL;
30754 l_ccid := NULL;
30755 l_adr_transaction_coa_id := NULL;
30756 l_adr_accounting_coa_id := NULL;
30757 l_adr_flexfield_segment_code := NULL;
30758 l_adr_flex_value_set_id := NULL;
30759 l_adr_value_type_code := NULL;
30760 l_adr_value_combination_id := NULL;
30761 l_adr_value_segment_code := NULL;
30762
30763 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
30764 l_bflow_class_code := 'AP_INV_ENCUM'; -- 4219869 Business Flow
30765 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
30766 l_budgetary_control_flag := 'Y';
30767
30768 l_bflow_applied_to_amt_idx := NULL; -- 5132302
30769 l_bflow_applied_to_amt := NULL; -- 5132302
30770 l_entered_amt_idx := NULL; -- 4262811
30771 l_accted_amt_idx := NULL; -- 4262811
30772 l_acc_rev_flag := NULL; -- 4262811
30773 l_accrual_line_num := NULL; -- 4262811
30774 l_tmp_amt := NULL; -- 4262811
30775 --
30776
30777 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
30778 l_balance_type_code <> 'B' THEN
30782 NVL(p_source_17,'
30779 IF NVL(p_source_15,'
30780 ') <> 'ACCRUAL' AND
30781 p_source_81 IS NOT NULL AND
30783 ') = 'Y' AND
30784 NVL(p_source_18,'
30785 ') <> 'Y'
30786 THEN
30787
30788 --
30789 XLA_AE_LINES_PKG.SetNewLine;
30790
30791 p_balance_type_code := l_balance_type_code;
30792 -- set the flag so later we will know whether the gain loss line needs to be created
30793
30794 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
30795 p_actual_flag :='A';
30796 END IF;
30797
30798 --
30799 -- bulk performance
30800 --
30801 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
30802 p_header_num => 0); -- 4262811
30803 --
30804 -- set accounting line options
30805 --
30806 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
30807 p_natural_side_code => 'D'
30808 , p_gain_or_loss_flag => 'N'
30809 , p_gl_transfer_mode_code => 'S'
30810 , p_acct_entry_type_code => 'E'
30811 , p_switch_side_flag => 'Y'
30812 , p_merge_duplicate_code => 'N'
30813 );
30814 --
30815 l_acc_rev_natural_side_code := 'C'; -- 4262811
30816 --
30817 --
30818 -- set accounting line type info
30819 --
30820 xla_ae_lines_pkg.SetAcctLineType
30821 (p_component_type => l_component_type
30822 ,p_event_type_code => l_event_type_code
30823 ,p_line_definition_owner_code => l_line_definition_owner_code
30824 ,p_line_definition_code => l_line_definition_code
30825 ,p_accounting_line_code => l_component_code
30826 ,p_accounting_line_type_code => l_component_type_code
30827 ,p_accounting_line_appl_id => l_component_appl_id
30828 ,p_amb_context_code => l_amb_context_code
30829 ,p_entity_code => l_entity_code
30830 ,p_event_class_code => l_event_class_code);
30831 --
30832 -- set accounting class
30833 --
30834 xla_ae_lines_pkg.SetAcctClass(
30835 p_accounting_class_code => 'QV'
30836 , p_ae_header_id => l_ae_header_id
30837 );
30838
30839 --
30840 -- set rounding class
30841 --
30842 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
30843 'QV';
30844
30845 --
30846 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
30847 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
30848 --
30849 -- bulk performance
30850 --
30851 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
30852
30853 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
30854 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
30855
30856 -- 4955764
30857 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
30858 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
30859
30860 -- 4458381 Public Sector Enh
30861 XLA_AE_LINES_PKG.g_rec_lines.array_encumbrance_type_id(XLA_AE_LINES_PKG.g_LineNumber) := 1060;
30862 --
30863 -- set accounting attributes for the line type
30864 --
30865 l_entered_amt_idx := 23;
30866 l_accted_amt_idx := 28;
30867 l_bflow_applied_to_amt_idx := NULL; -- 5132302
30868 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
30869 l_rec_acct_attrs.array_char_value(1) := p_source_19;
30870 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
30871 l_rec_acct_attrs.array_num_value(2) :=
30872 xla_ae_sources_pkg.GetSystemSourceNum(
30873 p_source_code => 'XLA_EVENT_APPL_ID'
30874 , p_source_type_code => 'Y'
30875 , p_source_application_id => 602
30876 );
30877 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
30878 l_rec_acct_attrs.array_char_value(3) := p_source_21;
30879 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
30880 l_rec_acct_attrs.array_char_value(4) :=
30881 xla_ae_sources_pkg.GetSystemSourceChar(
30882 p_source_code => 'XLA_ENTITY_CODE'
30883 , p_source_type_code => 'Y'
30884 , p_source_application_id => 602
30885 );
30886 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
30887 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_23);
30888 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
30889 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_24);
30890 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
30891 l_rec_acct_attrs.array_num_value(7) := p_source_25;
30892 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
30893 l_rec_acct_attrs.array_char_value(8) := p_source_26;
30894 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
30895 l_rec_acct_attrs.array_char_value(9) := p_source_27;
30896 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
30897 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_28);
30898 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
30902 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
30899 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_29);
30900 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
30901 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_30);
30903 l_rec_acct_attrs.array_char_value(13) := p_source_21;
30904 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
30905 l_rec_acct_attrs.array_num_value(14) := p_source_31;
30906 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
30907 l_rec_acct_attrs.array_num_value(15) := p_source_32;
30908 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
30909 l_rec_acct_attrs.array_char_value(16) := p_source_33;
30910 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
30911 l_rec_acct_attrs.array_num_value(17) := p_source_34;
30912 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
30913 l_rec_acct_attrs.array_num_value(18) := p_source_35;
30914 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
30915 l_rec_acct_attrs.array_num_value(19) := p_source_36;
30916 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
30917 l_rec_acct_attrs.array_char_value(20) := p_source_33;
30918 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
30919 l_rec_acct_attrs.array_num_value(21) := p_source_37;
30920 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
30921 l_rec_acct_attrs.array_char_value(22) := p_source_38;
30922 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
30923 l_rec_acct_attrs.array_num_value(23) := p_source_81;
30924 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
30925 l_rec_acct_attrs.array_char_value(24) := p_source_33;
30926 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
30927 l_rec_acct_attrs.array_date_value(25) := p_source_39;
30928 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
30929 l_rec_acct_attrs.array_num_value(26) := p_source_40;
30930 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
30931 l_rec_acct_attrs.array_char_value(27) := p_source_41;
30932 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
30933 l_rec_acct_attrs.array_num_value(28) := p_source_82;
30934 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
30935 l_rec_acct_attrs.array_date_value(29) := p_source_43;
30936 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
30937 l_rec_acct_attrs.array_char_value(30) := p_source_44;
30938 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
30939 l_rec_acct_attrs.array_date_value(31) := p_source_45;
30940 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
30941 l_rec_acct_attrs.array_char_value(32) := p_source_46;
30942 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
30943 l_rec_acct_attrs.array_num_value(33) := p_source_47;
30944 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
30945 l_rec_acct_attrs.array_num_value(34) := p_source_48;
30946 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
30947 l_rec_acct_attrs.array_char_value(35) := p_source_49;
30948 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
30949 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_50);
30950 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
30951 l_rec_acct_attrs.array_char_value(37) := p_source_21;
30952 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
30953 l_rec_acct_attrs.array_num_value(38) := p_source_51;
30954 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
30955 l_rec_acct_attrs.array_num_value(39) := p_source_52;
30956 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
30957 l_rec_acct_attrs.array_num_value(40) := p_source_53;
30958 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
30959 l_rec_acct_attrs.array_num_value(41) := p_source_54;
30960 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
30961 l_rec_acct_attrs.array_num_value(42) := p_source_55;
30962 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
30963 l_rec_acct_attrs.array_num_value(43) := p_source_56;
30964
30965 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
30966 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
30967
30968 ---------------------------------------------------------------------------------------------------------------
30969 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
30970 ---------------------------------------------------------------------------------------------------------------
30971 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
30972
30973 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
30974 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
30975
30976 IF xla_accounting_cache_pkg.GetValueChar
30977 (p_source_code => 'LEDGER_CATEGORY_CODE'
30978 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
30979 AND l_bflow_method_code = 'PRIOR_ENTRY'
30980 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
30981 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
30982 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
30983 )
30984 THEN
30988 ,p_balance_type => l_balance_type_code);
30985 xla_ae_lines_pkg.BflowUpgEntry
30986 (p_business_method_code => l_bflow_method_code
30987 ,p_business_class_code => l_bflow_class_code
30989 ELSE
30990 NULL;
30991 -- No business flow processing for business flow method of NONE.
30992 END IF;
30993
30994 --
30995 -- call analytical criteria
30996 --
30997
30998 --
30999 -- call description
31000 --
31001
31002 xla_ae_lines_pkg.SetLineDescription(
31003 p_ae_header_id => l_ae_header_id
31004 ,p_description => Description_2 (
31005 p_application_id => p_application_id
31006 , p_ae_header_id => l_ae_header_id
31007 , p_source_1 => p_source_1
31008 )
31009 );
31010
31011
31012 --
31013 -- call ADRs
31014 -- Bug 4922099
31015 --
31016 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
31017 (NVL(l_actual_upg_option, 'N') = 'O') OR
31018 (NVL(l_enc_upg_option, 'N') = 'O')
31019 )
31020 THEN
31021 NULL;
31022 --
31023 --
31024
31025 l_ccid := AcctDerRule_7(
31026 p_application_id => p_application_id
31027 , p_ae_header_id => l_ae_header_id
31028 , p_source_11 => p_source_11
31029 , x_transaction_coa_id => l_adr_transaction_coa_id
31030 , x_accounting_coa_id => l_adr_accounting_coa_id
31031 , x_value_type_code => l_adr_value_type_code
31032 , p_side => 'NA'
31033 );
31034
31035 xla_ae_lines_pkg.set_ccid(
31036 p_code_combination_id => l_ccid
31037 , p_value_type_code => l_adr_value_type_code
31038 , p_transaction_coa_id => l_adr_transaction_coa_id
31039 , p_accounting_coa_id => l_adr_accounting_coa_id
31040 , p_adr_code => 'AP_INVOICE_DIST'
31041 , p_adr_type_code => 'S'
31042 , p_component_type => l_component_type
31043 , p_component_code => l_component_code
31044 , p_component_type_code => l_component_type_code
31045 , p_component_appl_id => l_component_appl_id
31046 , p_amb_context_code => l_amb_context_code
31047 , p_side => 'NA'
31048 );
31049
31050
31051 --
31052 --
31053 END IF;
31054 --
31055 -- Bug 4922099
31056 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
31057 (NVL(l_enc_upg_option, 'N') = 'O')
31058 ) AND
31059 (l_bflow_method_code = 'PRIOR_ENTRY')
31060 )
31061 THEN
31062 IF
31063 --
31064 1 = 2
31065 --
31066 THEN
31067 xla_accounting_err_pkg.build_message
31068 (p_appli_s_name => 'XLA'
31069 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
31070 ,p_token_1 => 'LINE_NUMBER'
31071 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
31072 ,p_token_2 => 'LINE_TYPE_NAME'
31073 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
31074 l_component_type
31075 ,l_component_code
31076 ,l_component_type_code
31077 ,l_component_appl_id
31078 ,l_amb_context_code
31079 ,l_entity_code
31080 ,l_event_class_code
31081 )
31082 ,p_token_3 => 'OWNER'
31083 ,p_value_3 => xla_lookups_pkg.get_meaning(
31084 p_lookup_type => 'XLA_OWNER_TYPE'
31085 ,p_lookup_code => l_component_type_code
31086 )
31087 ,p_token_4 => 'PRODUCT_NAME'
31088 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
31089 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
31090 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
31091 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
31092 ,p_ae_header_id => NULL
31093 );
31094
31095 IF (C_LEVEL_ERROR>= g_log_level) THEN
31096 trace
31097 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
31101 END IF;
31098 ,p_level => C_LEVEL_ERROR
31099 ,p_module => l_log_module);
31100 END IF;
31102 END IF;
31103 --
31104 --
31105 ------------------------------------------------------------------------------------------------
31106 -- 4219869 Business Flow
31107 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
31108 -- Prior Entry. Currently, the following code is always generated.
31109 ------------------------------------------------------------------------------------------------
31110 XLA_AE_LINES_PKG.ValidateCurrentLine;
31111
31112 ------------------------------------------------------------------------------------
31113 -- 4219869 Business Flow
31114 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
31115 ------------------------------------------------------------------------------------
31116 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
31117
31118 ----------------------------------------------------------------------------------
31119 -- 4219869 Business Flow
31120 -- Update journal entry status -- Need to generate this within IF <condition>
31121 ----------------------------------------------------------------------------------
31122 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
31123 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
31124 ,p_balance_type_code => l_balance_type_code
31125 );
31126
31127 -------------------------------------------------------------------------------------------
31128 -- 4262811 - Generate the Accrual Reversal lines
31129 -------------------------------------------------------------------------------------------
31130 BEGIN
31131 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
31132 (g_array_event(p_event_id).array_value_num('header_index'));
31133 IF l_acc_rev_flag IS NULL THEN
31134 l_acc_rev_flag := 'N';
31135 END IF;
31136 EXCEPTION
31137 WHEN OTHERS THEN
31138 l_acc_rev_flag := 'N';
31139 END;
31140 --
31141 IF (l_acc_rev_flag = 'Y') THEN
31142
31143 -- 4645092 ------------------------------------------------------------------------------
31144 -- To allow MPA report to determine if it should generate report process
31145 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
31146 ------------------------------------------------------------------------------------------
31147
31148 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
31149 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
31150 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
31151 -- call ADRs
31152 -- Bug 4922099
31153 --
31154 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
31155 (NVL(l_actual_upg_option, 'N') = 'O') OR
31156 (NVL(l_enc_upg_option, 'N') = 'O')
31157 )
31158 THEN
31159 NULL;
31160 --
31161 --
31162
31163 l_ccid := AcctDerRule_7(
31164 p_application_id => p_application_id
31165 , p_ae_header_id => l_ae_header_id
31166 , p_source_11 => p_source_11
31167 , x_transaction_coa_id => l_adr_transaction_coa_id
31168 , x_accounting_coa_id => l_adr_accounting_coa_id
31169 , x_value_type_code => l_adr_value_type_code
31170 , p_side => 'NA'
31171 );
31172
31173 xla_ae_lines_pkg.set_ccid(
31174 p_code_combination_id => l_ccid
31175 , p_value_type_code => l_adr_value_type_code
31176 , p_transaction_coa_id => l_adr_transaction_coa_id
31177 , p_accounting_coa_id => l_adr_accounting_coa_id
31178 , p_adr_code => 'AP_INVOICE_DIST'
31179 , p_adr_type_code => 'S'
31180 , p_component_type => l_component_type
31181 , p_component_code => l_component_code
31182 , p_component_type_code => l_component_type_code
31183 , p_component_appl_id => l_component_appl_id
31184 , p_amb_context_code => l_amb_context_code
31185 , p_side => 'NA'
31186 );
31187
31188
31189 --
31190 --
31191 END IF;
31192
31193 --
31194 -- Update the line information that should be overwritten
31195 --
31196 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
31197 p_header_num => 1);
31198 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
31199
31200 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
31201
31202 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
31203 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
31204 END IF;
31205
31206 --
31207 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
31208 --
31209 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
31210 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
31211 ELSE
31215 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
31212 ---------------------------------------------------------------------------------------------------
31213 -- 4262811a Switch Sign
31214 ---------------------------------------------------------------------------------------------------
31216 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
31217 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
31218 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
31219 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
31220 -- 5132302
31221 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
31222 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
31223
31224 END IF;
31225
31226 -- 4955764
31227 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
31228 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
31229
31230
31231 XLA_AE_LINES_PKG.ValidateCurrentLine;
31232 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
31233
31234 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
31235 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
31236 ,p_balance_type_code => l_balance_type_code);
31237
31238 END IF;
31239
31240 -----------------------------------------------------------------------------------------
31241 -- 4262811 Multiperiod Accounting
31242 -----------------------------------------------------------------------------------------
31243 -- No MPA option is assigned.
31244
31245
31246 END IF;
31247 END IF;
31248 --
31249
31250 --
31251 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
31252 trace
31253 (p_msg => 'END of AcctLineType_54'
31254 ,p_level => C_LEVEL_PROCEDURE
31255 ,p_module => l_log_module);
31256 END IF;
31257 --
31258 EXCEPTION
31259 WHEN xla_exceptions_pkg.application_exception THEN
31260 RAISE;
31261 WHEN OTHERS THEN
31262 xla_exceptions_pkg.raise_message
31263 (p_location => 'XLA_00200_AAD_S_000006_BC_PKG.AcctLineType_54');
31264 END AcctLineType_54;
31265 --
31266
31267 ---------------------------------------
31268 --
31269 -- PRIVATE FUNCTION
31270 -- AcctLineType_55
31271 --
31272 ---------------------------------------
31273 PROCEDURE AcctLineType_55 (
31274 p_application_id IN NUMBER
31275 ,p_event_id IN NUMBER
31276 ,p_calculate_acctd_flag IN VARCHAR2
31277 ,p_calculate_g_l_flag IN VARCHAR2
31278 ,p_actual_flag IN OUT VARCHAR2
31279 ,p_balance_type_code OUT VARCHAR2
31280 ,p_gain_or_loss_ref OUT VARCHAR2
31281
31282 --Invoice Distribution Description
31283 , p_source_1 IN VARCHAR2
31284 --Invoice Distribution Account
31285 , p_source_11 IN NUMBER
31286 --Invoice Distribution Type
31287 , p_source_15 IN VARCHAR2
31288 , p_source_15_meaning IN VARCHAR2
31289 --Amount for Variance Amount
31290 , p_source_16 IN NUMBER
31291 --Purchasing Encumbrance Option
31292 , p_source_17 IN VARCHAR2
31293 , p_source_17_meaning IN VARCHAR2
31294 --Accrue on Receipt Option
31295 , p_source_18 IN VARCHAR2
31296 , p_source_18_meaning IN VARCHAR2
31297 --Accounting Reversal Indicator
31298 , p_source_19 IN VARCHAR2
31299 --Distribution Link Type
31300 , p_source_21 IN VARCHAR2
31301 --Allocation to Main Distribution Identifier
31302 , p_source_23 IN NUMBER
31303 --Invoice Identifier
31304 , p_source_24 IN NUMBER
31305 --Business Flow Accounts Payable Application Identifier
31306 , p_source_25 IN NUMBER
31307 --Business Flow Invoice Distribution Type
31308 , p_source_26 IN VARCHAR2
31309 --Business Flow Invoice Entity Code
31310 , p_source_27 IN VARCHAR2
31311 --Business Flow Invoice Distribution Identifier
31312 , p_source_28 IN NUMBER
31313 --Business Flow Invoice Identifier
31314 , p_source_29 IN NUMBER
31315 --Invoice Distribution Identifier
31316 , p_source_30 IN NUMBER
31317 --Payables Encumbrance Upgrade Credit Account
31318 , p_source_31 IN NUMBER
31319 --Payables Encumbrance Upgrade Credit Amount
31320 , p_source_32 IN NUMBER
31321 --Invoice Currency Code
31322 , p_source_33 IN VARCHAR2
31323 --Payables Encumbrance Upgrade Credit Base Amount
31324 , p_source_34 IN NUMBER
31325 --Payables Encumbrance Upgrade Debit Account
31326 , p_source_35 IN NUMBER
31327 --Payables Encumbrance Upgrade Debit Amount
31328 , p_source_36 IN NUMBER
31329 --Payables Encumbrance Upgrade Debit Base Amount
31330 , p_source_37 IN NUMBER
31331 --Payables Encumbrance Upgrade Option
31332 , p_source_38 IN VARCHAR2
31333 --Invoice Exchange Date
31334 , p_source_39 IN DATE
31335 --Invoice Exchange Rate
31336 , p_source_40 IN NUMBER
31337 --Invoice Exchange Rate Type
31341 --Deferred Accounting Option
31338 , p_source_41 IN VARCHAR2
31339 --Deferred Accounting End Date
31340 , p_source_43 IN DATE
31342 , p_source_44 IN VARCHAR2
31343 --Deferred Accounting Start Date
31344 , p_source_45 IN DATE
31345 --Override Accounted Amount Indicator
31346 , p_source_46 IN VARCHAR2
31347 , p_source_46_meaning IN VARCHAR2
31348 --Invoice Supplier Identifier
31349 , p_source_47 IN NUMBER
31350 --Invoice Supplier Site Identifier
31351 , p_source_48 IN NUMBER
31352 --Third Party Type
31353 , p_source_49 IN VARCHAR2
31354 --Parent Reversal Identifier
31355 , p_source_50 IN NUMBER
31356 --Invoice Distribution Tax Line Identifier
31357 , p_source_52 IN NUMBER
31358 --Invoice Distribution Tax Distribution Identifier from Tax
31359 , p_source_53 IN NUMBER
31360 --Invoice Distribution Summary Tax Line Identifier
31361 , p_source_54 IN NUMBER
31362 --Payables Upgrade Credit Encumbrance Type Identifier
31363 , p_source_55 IN NUMBER
31364 --Payables Upgrade Debit Encumbrance Type Identifier
31365 , p_source_56 IN NUMBER
31366 --Quantity Variance Amount
31367 , p_source_81 IN NUMBER
31368 --Quantity Variance Amount in Ledger Currency
31369 , p_source_82 IN NUMBER
31370 )
31371 IS
31372
31373 l_component_type VARCHAR2(80);
31374 l_component_code VARCHAR2(30);
31375 l_component_type_code VARCHAR2(1);
31376 l_component_appl_id INTEGER;
31377 l_amb_context_code VARCHAR2(30);
31378 l_entity_code VARCHAR2(30);
31379 l_event_class_code VARCHAR2(30);
31380 l_ae_header_id NUMBER;
31381 l_event_type_code VARCHAR2(30);
31382 l_line_definition_code VARCHAR2(30);
31383 l_line_definition_owner_code VARCHAR2(1);
31384 --
31385 -- adr variables
31386 l_segment VARCHAR2(30);
31387 l_ccid NUMBER;
31388 l_adr_transaction_coa_id NUMBER;
31389 l_adr_accounting_coa_id NUMBER;
31390 l_adr_flexfield_segment_code VARCHAR2(30);
31391 l_adr_flex_value_set_id NUMBER;
31392 l_adr_value_type_code VARCHAR2(30);
31393 l_adr_value_combination_id NUMBER;
31394 l_adr_value_segment_code VARCHAR2(30);
31395
31396 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
31397 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
31398 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
31399 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
31400
31401 -- 4262811 Variables ------------------------------------------------------------------------------------------
31402 l_entered_amt_idx NUMBER;
31403 l_accted_amt_idx NUMBER;
31404 l_acc_rev_flag VARCHAR2(1);
31405 l_accrual_line_num NUMBER;
31406 l_tmp_amt NUMBER;
31407 l_acc_rev_natural_side_code VARCHAR2(1);
31408
31409 l_num_entries NUMBER;
31410 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
31411 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
31412 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
31413 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
31414 l_recog_line_1 NUMBER;
31415 l_recog_line_2 NUMBER;
31416
31417 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
31418 l_bflow_applied_to_amt NUMBER; -- 5132302
31419 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
31420
31421 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
31422
31423 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
31424 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
31425
31426 ---------------------------------------------------------------------------------------------------------------
31427
31428
31429 --
31430 -- bulk performance
31431 --
31432 l_balance_type_code VARCHAR2(1);
31433 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
31434 l_log_module VARCHAR2(240);
31435
31436 --
31437 -- Upgrade strategy
31438 --
31439 l_actual_upg_option VARCHAR2(1);
31440 l_enc_upg_option VARCHAR2(1);
31441
31442 --
31443 BEGIN
31444 --
31445 IF g_log_enabled THEN
31446 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_55';
31447 END IF;
31448 --
31449 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
31450
31451 trace
31452 (p_msg => 'BEGIN of AcctLineType_55'
31453 ,p_level => C_LEVEL_PROCEDURE
31454 ,p_module => l_log_module);
31455
31456 END IF;
31457 --
31458 l_component_type := 'AMB_JLT';
31459 l_component_code := 'AP_QUANTITY_VARIANCE_DM_ENC_DR';
31460 l_component_type_code := 'S';
31461 l_component_appl_id := 200;
31462 l_amb_context_code := 'DEFAULT';
31463 l_entity_code := 'AP_INVOICES';
31464 l_event_class_code := 'DEBIT MEMOS';
31465 l_event_type_code := 'DEBIT MEMOS_ALL';
31466 l_line_definition_owner_code := 'S';
31467 l_line_definition_code := 'ENC_DM_ALL';
31468 --
31472 l_adr_transaction_coa_id := NULL;
31469 l_balance_type_code := 'E';
31470 l_segment := NULL;
31471 l_ccid := NULL;
31473 l_adr_accounting_coa_id := NULL;
31474 l_adr_flexfield_segment_code := NULL;
31475 l_adr_flex_value_set_id := NULL;
31476 l_adr_value_type_code := NULL;
31477 l_adr_value_combination_id := NULL;
31478 l_adr_value_segment_code := NULL;
31479
31480 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
31481 l_bflow_class_code := 'AP_INV_ENCUM'; -- 4219869 Business Flow
31482 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
31483 l_budgetary_control_flag := 'Y';
31484
31485 l_bflow_applied_to_amt_idx := NULL; -- 5132302
31486 l_bflow_applied_to_amt := NULL; -- 5132302
31487 l_entered_amt_idx := NULL; -- 4262811
31488 l_accted_amt_idx := NULL; -- 4262811
31489 l_acc_rev_flag := NULL; -- 4262811
31490 l_accrual_line_num := NULL; -- 4262811
31491 l_tmp_amt := NULL; -- 4262811
31492 --
31493
31494 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
31495 l_balance_type_code <> 'B' THEN
31496 IF NVL(p_source_15,'
31497 ') = 'ITEM' AND
31498 p_source_16 IS NOT NULL AND
31499 NVL(p_source_17,'
31500 ') = 'Y' AND
31501 NVL(p_source_18,'
31502 ') <> 'Y'
31503 THEN
31504
31505 --
31506 XLA_AE_LINES_PKG.SetNewLine;
31507
31508 p_balance_type_code := l_balance_type_code;
31509 -- set the flag so later we will know whether the gain loss line needs to be created
31510
31511 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
31512 p_actual_flag :='A';
31513 END IF;
31514
31515 --
31516 -- bulk performance
31517 --
31518 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
31519 p_header_num => 0); -- 4262811
31520 --
31521 -- set accounting line options
31522 --
31523 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
31524 p_natural_side_code => 'D'
31525 , p_gain_or_loss_flag => 'N'
31526 , p_gl_transfer_mode_code => 'S'
31527 , p_acct_entry_type_code => 'E'
31528 , p_switch_side_flag => 'Y'
31529 , p_merge_duplicate_code => 'N'
31530 );
31531 --
31532 l_acc_rev_natural_side_code := 'C'; -- 4262811
31533 --
31534 --
31535 -- set accounting line type info
31536 --
31537 xla_ae_lines_pkg.SetAcctLineType
31538 (p_component_type => l_component_type
31539 ,p_event_type_code => l_event_type_code
31540 ,p_line_definition_owner_code => l_line_definition_owner_code
31541 ,p_line_definition_code => l_line_definition_code
31542 ,p_accounting_line_code => l_component_code
31543 ,p_accounting_line_type_code => l_component_type_code
31544 ,p_accounting_line_appl_id => l_component_appl_id
31545 ,p_amb_context_code => l_amb_context_code
31546 ,p_entity_code => l_entity_code
31547 ,p_event_class_code => l_event_class_code);
31548 --
31549 -- set accounting class
31550 --
31551 xla_ae_lines_pkg.SetAcctClass(
31552 p_accounting_class_code => 'QV'
31553 , p_ae_header_id => l_ae_header_id
31554 );
31555
31556 --
31557 -- set rounding class
31558 --
31559 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
31560 'QV';
31561
31562 --
31563 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
31564 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
31565 --
31566 -- bulk performance
31567 --
31568 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
31569
31570 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
31571 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
31572
31573 -- 4955764
31574 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
31575 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
31576
31577 -- 4458381 Public Sector Enh
31578 XLA_AE_LINES_PKG.g_rec_lines.array_encumbrance_type_id(XLA_AE_LINES_PKG.g_LineNumber) := 1060;
31579 --
31580 -- set accounting attributes for the line type
31581 --
31582 l_entered_amt_idx := 23;
31583 l_accted_amt_idx := 28;
31584 l_bflow_applied_to_amt_idx := NULL; -- 5132302
31585 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
31586 l_rec_acct_attrs.array_char_value(1) := p_source_19;
31587 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
31588 l_rec_acct_attrs.array_num_value(2) :=
31589 xla_ae_sources_pkg.GetSystemSourceNum(
31590 p_source_code => 'XLA_EVENT_APPL_ID'
31591 , p_source_type_code => 'Y'
31592 , p_source_application_id => 602
31593 );
31594 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
31598 xla_ae_sources_pkg.GetSystemSourceChar(
31595 l_rec_acct_attrs.array_char_value(3) := p_source_21;
31596 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
31597 l_rec_acct_attrs.array_char_value(4) :=
31599 p_source_code => 'XLA_ENTITY_CODE'
31600 , p_source_type_code => 'Y'
31601 , p_source_application_id => 602
31602 );
31603 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
31604 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_23);
31605 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
31606 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_24);
31607 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
31608 l_rec_acct_attrs.array_num_value(7) := p_source_25;
31609 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
31610 l_rec_acct_attrs.array_char_value(8) := p_source_26;
31611 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
31612 l_rec_acct_attrs.array_char_value(9) := p_source_27;
31613 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
31614 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_28);
31615 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
31616 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_29);
31617 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
31618 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_30);
31619 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
31620 l_rec_acct_attrs.array_char_value(13) := p_source_21;
31621 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
31622 l_rec_acct_attrs.array_num_value(14) := p_source_31;
31623 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
31624 l_rec_acct_attrs.array_num_value(15) := p_source_32;
31625 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
31626 l_rec_acct_attrs.array_char_value(16) := p_source_33;
31627 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
31628 l_rec_acct_attrs.array_num_value(17) := p_source_34;
31629 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
31630 l_rec_acct_attrs.array_num_value(18) := p_source_35;
31631 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
31632 l_rec_acct_attrs.array_num_value(19) := p_source_36;
31633 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
31634 l_rec_acct_attrs.array_char_value(20) := p_source_33;
31635 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
31636 l_rec_acct_attrs.array_num_value(21) := p_source_37;
31637 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
31638 l_rec_acct_attrs.array_char_value(22) := p_source_38;
31639 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
31640 l_rec_acct_attrs.array_num_value(23) := p_source_81;
31641 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
31642 l_rec_acct_attrs.array_char_value(24) := p_source_33;
31643 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
31644 l_rec_acct_attrs.array_date_value(25) := p_source_39;
31645 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
31646 l_rec_acct_attrs.array_num_value(26) := p_source_40;
31647 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
31648 l_rec_acct_attrs.array_char_value(27) := p_source_41;
31649 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
31650 l_rec_acct_attrs.array_num_value(28) := p_source_82;
31651 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
31652 l_rec_acct_attrs.array_date_value(29) := p_source_43;
31653 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
31654 l_rec_acct_attrs.array_char_value(30) := p_source_44;
31655 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
31656 l_rec_acct_attrs.array_date_value(31) := p_source_45;
31657 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
31658 l_rec_acct_attrs.array_char_value(32) := p_source_46;
31659 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
31660 l_rec_acct_attrs.array_num_value(33) := p_source_47;
31661 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
31662 l_rec_acct_attrs.array_num_value(34) := p_source_48;
31663 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
31664 l_rec_acct_attrs.array_char_value(35) := p_source_49;
31665 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
31666 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_50);
31667 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
31668 l_rec_acct_attrs.array_char_value(37) := p_source_21;
31669 l_rec_acct_attrs.array_acct_attr_code(38) := 'TAX_LINE_REF_ID';
31670 l_rec_acct_attrs.array_num_value(38) := p_source_52;
31671 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_REC_NREC_DIST_REF_ID';
31672 l_rec_acct_attrs.array_num_value(39) := p_source_53;
31673 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_SUMMARY_LINE_REF_ID';
31674 l_rec_acct_attrs.array_num_value(40) := p_source_54;
31675 l_rec_acct_attrs.array_acct_attr_code(41) := 'UPG_CR_ENC_TYPE_ID';
31676 l_rec_acct_attrs.array_num_value(41) := p_source_55;
31677 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_DR_ENC_TYPE_ID';
31678 l_rec_acct_attrs.array_num_value(42) := p_source_56;
31679
31680 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
31684 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
31681 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
31682
31683 ---------------------------------------------------------------------------------------------------------------
31685 ---------------------------------------------------------------------------------------------------------------
31686 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
31687
31688 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
31689 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
31690
31691 IF xla_accounting_cache_pkg.GetValueChar
31692 (p_source_code => 'LEDGER_CATEGORY_CODE'
31693 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
31694 AND l_bflow_method_code = 'PRIOR_ENTRY'
31695 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
31696 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
31697 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
31698 )
31699 THEN
31700 xla_ae_lines_pkg.BflowUpgEntry
31701 (p_business_method_code => l_bflow_method_code
31702 ,p_business_class_code => l_bflow_class_code
31703 ,p_balance_type => l_balance_type_code);
31704 ELSE
31705 NULL;
31706 -- No business flow processing for business flow method of NONE.
31707 END IF;
31708
31709 --
31710 -- call analytical criteria
31711 --
31712
31713 --
31714 -- call description
31715 --
31716
31717 xla_ae_lines_pkg.SetLineDescription(
31718 p_ae_header_id => l_ae_header_id
31719 ,p_description => Description_2 (
31720 p_application_id => p_application_id
31721 , p_ae_header_id => l_ae_header_id
31722 , p_source_1 => p_source_1
31723 )
31724 );
31725
31726
31727 --
31728 -- call ADRs
31729 -- Bug 4922099
31730 --
31731 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
31732 (NVL(l_actual_upg_option, 'N') = 'O') OR
31733 (NVL(l_enc_upg_option, 'N') = 'O')
31734 )
31735 THEN
31736 NULL;
31737 --
31738 --
31739
31740 l_ccid := AcctDerRule_7(
31741 p_application_id => p_application_id
31742 , p_ae_header_id => l_ae_header_id
31743 , p_source_11 => p_source_11
31744 , x_transaction_coa_id => l_adr_transaction_coa_id
31745 , x_accounting_coa_id => l_adr_accounting_coa_id
31746 , x_value_type_code => l_adr_value_type_code
31747 , p_side => 'NA'
31748 );
31749
31750 xla_ae_lines_pkg.set_ccid(
31751 p_code_combination_id => l_ccid
31752 , p_value_type_code => l_adr_value_type_code
31753 , p_transaction_coa_id => l_adr_transaction_coa_id
31754 , p_accounting_coa_id => l_adr_accounting_coa_id
31755 , p_adr_code => 'AP_INVOICE_DIST'
31756 , p_adr_type_code => 'S'
31757 , p_component_type => l_component_type
31758 , p_component_code => l_component_code
31759 , p_component_type_code => l_component_type_code
31760 , p_component_appl_id => l_component_appl_id
31761 , p_amb_context_code => l_amb_context_code
31762 , p_side => 'NA'
31763 );
31764
31765
31766 --
31767 --
31768 END IF;
31769 --
31770 -- Bug 4922099
31771 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
31772 (NVL(l_enc_upg_option, 'N') = 'O')
31773 ) AND
31774 (l_bflow_method_code = 'PRIOR_ENTRY')
31775 )
31776 THEN
31777 IF
31778 --
31779 1 = 2
31780 --
31781 THEN
31782 xla_accounting_err_pkg.build_message
31783 (p_appli_s_name => 'XLA'
31784 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
31785 ,p_token_1 => 'LINE_NUMBER'
31786 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
31787 ,p_token_2 => 'LINE_TYPE_NAME'
31788 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
31789 l_component_type
31790 ,l_component_code
31791 ,l_component_type_code
31792 ,l_component_appl_id
31793 ,l_amb_context_code
31794 ,l_entity_code
31795 ,l_event_class_code
31796 )
31800 ,p_lookup_code => l_component_type_code
31797 ,p_token_3 => 'OWNER'
31798 ,p_value_3 => xla_lookups_pkg.get_meaning(
31799 p_lookup_type => 'XLA_OWNER_TYPE'
31801 )
31802 ,p_token_4 => 'PRODUCT_NAME'
31803 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
31804 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
31805 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
31806 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
31807 ,p_ae_header_id => NULL
31808 );
31809
31810 IF (C_LEVEL_ERROR>= g_log_level) THEN
31811 trace
31812 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
31813 ,p_level => C_LEVEL_ERROR
31814 ,p_module => l_log_module);
31815 END IF;
31816 END IF;
31817 END IF;
31818 --
31819 --
31820 ------------------------------------------------------------------------------------------------
31821 -- 4219869 Business Flow
31822 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
31823 -- Prior Entry. Currently, the following code is always generated.
31824 ------------------------------------------------------------------------------------------------
31825 XLA_AE_LINES_PKG.ValidateCurrentLine;
31826
31827 ------------------------------------------------------------------------------------
31828 -- 4219869 Business Flow
31829 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
31830 ------------------------------------------------------------------------------------
31831 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
31832
31833 ----------------------------------------------------------------------------------
31834 -- 4219869 Business Flow
31835 -- Update journal entry status -- Need to generate this within IF <condition>
31836 ----------------------------------------------------------------------------------
31837 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
31838 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
31839 ,p_balance_type_code => l_balance_type_code
31840 );
31841
31842 -------------------------------------------------------------------------------------------
31843 -- 4262811 - Generate the Accrual Reversal lines
31844 -------------------------------------------------------------------------------------------
31845 BEGIN
31846 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
31847 (g_array_event(p_event_id).array_value_num('header_index'));
31848 IF l_acc_rev_flag IS NULL THEN
31849 l_acc_rev_flag := 'N';
31850 END IF;
31851 EXCEPTION
31852 WHEN OTHERS THEN
31853 l_acc_rev_flag := 'N';
31854 END;
31855 --
31856 IF (l_acc_rev_flag = 'Y') THEN
31857
31858 -- 4645092 ------------------------------------------------------------------------------
31859 -- To allow MPA report to determine if it should generate report process
31860 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
31861 ------------------------------------------------------------------------------------------
31862
31863 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
31864 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
31865 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
31866 -- call ADRs
31867 -- Bug 4922099
31868 --
31869 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
31870 (NVL(l_actual_upg_option, 'N') = 'O') OR
31871 (NVL(l_enc_upg_option, 'N') = 'O')
31872 )
31873 THEN
31874 NULL;
31875 --
31876 --
31877
31878 l_ccid := AcctDerRule_7(
31879 p_application_id => p_application_id
31880 , p_ae_header_id => l_ae_header_id
31881 , p_source_11 => p_source_11
31882 , x_transaction_coa_id => l_adr_transaction_coa_id
31883 , x_accounting_coa_id => l_adr_accounting_coa_id
31884 , x_value_type_code => l_adr_value_type_code
31885 , p_side => 'NA'
31886 );
31887
31888 xla_ae_lines_pkg.set_ccid(
31889 p_code_combination_id => l_ccid
31890 , p_value_type_code => l_adr_value_type_code
31891 , p_transaction_coa_id => l_adr_transaction_coa_id
31892 , p_accounting_coa_id => l_adr_accounting_coa_id
31893 , p_adr_code => 'AP_INVOICE_DIST'
31894 , p_adr_type_code => 'S'
31895 , p_component_type => l_component_type
31896 , p_component_code => l_component_code
31897 , p_component_type_code => l_component_type_code
31901 );
31898 , p_component_appl_id => l_component_appl_id
31899 , p_amb_context_code => l_amb_context_code
31900 , p_side => 'NA'
31902
31903
31904 --
31905 --
31906 END IF;
31907
31908 --
31909 -- Update the line information that should be overwritten
31910 --
31911 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
31912 p_header_num => 1);
31913 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
31914
31915 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
31916
31917 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
31918 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
31919 END IF;
31920
31921 --
31922 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
31923 --
31924 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
31925 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
31926 ELSE
31927 ---------------------------------------------------------------------------------------------------
31928 -- 4262811a Switch Sign
31929 ---------------------------------------------------------------------------------------------------
31930 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
31931 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
31932 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
31933 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
31934 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
31935 -- 5132302
31936 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
31937 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
31938
31939 END IF;
31940
31941 -- 4955764
31942 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
31943 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
31944
31945
31946 XLA_AE_LINES_PKG.ValidateCurrentLine;
31947 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
31948
31949 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
31950 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
31951 ,p_balance_type_code => l_balance_type_code);
31952
31953 END IF;
31954
31955 -----------------------------------------------------------------------------------------
31956 -- 4262811 Multiperiod Accounting
31957 -----------------------------------------------------------------------------------------
31958 -- No MPA option is assigned.
31959
31960
31961 END IF;
31962 END IF;
31963 --
31964
31965 --
31966 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
31967 trace
31968 (p_msg => 'END of AcctLineType_55'
31969 ,p_level => C_LEVEL_PROCEDURE
31970 ,p_module => l_log_module);
31971 END IF;
31972 --
31973 EXCEPTION
31974 WHEN xla_exceptions_pkg.application_exception THEN
31975 RAISE;
31976 WHEN OTHERS THEN
31977 xla_exceptions_pkg.raise_message
31978 (p_location => 'XLA_00200_AAD_S_000006_BC_PKG.AcctLineType_55');
31979 END AcctLineType_55;
31980 --
31981
31982 ---------------------------------------
31983 --
31984 -- PRIVATE FUNCTION
31985 -- AcctLineType_56
31986 --
31987 ---------------------------------------
31988 PROCEDURE AcctLineType_56 (
31989 p_application_id IN NUMBER
31990 ,p_event_id IN NUMBER
31991 ,p_calculate_acctd_flag IN VARCHAR2
31992 ,p_calculate_g_l_flag IN VARCHAR2
31993 ,p_actual_flag IN OUT VARCHAR2
31994 ,p_balance_type_code OUT VARCHAR2
31995 ,p_gain_or_loss_ref OUT VARCHAR2
31996
31997 --Invoice Distribution Description
31998 , p_source_1 IN VARCHAR2
31999 --Invoice Distribution Account
32000 , p_source_11 IN NUMBER
32001 --Invoice Distribution Type
32002 , p_source_15 IN VARCHAR2
32003 , p_source_15_meaning IN VARCHAR2
32004 --Amount for Variance Amount
32005 , p_source_16 IN NUMBER
32006 --Purchasing Encumbrance Option
32007 , p_source_17 IN VARCHAR2
32008 , p_source_17_meaning IN VARCHAR2
32009 --Accrue on Receipt Option
32010 , p_source_18 IN VARCHAR2
32011 , p_source_18_meaning IN VARCHAR2
32012 --Accounting Reversal Indicator
32013 , p_source_19 IN VARCHAR2
32014 --Distribution Link Type
32015 , p_source_21 IN VARCHAR2
32016 --Allocation to Main Distribution Identifier
32017 , p_source_23 IN NUMBER
32018 --Invoice Identifier
32019 , p_source_24 IN NUMBER
32020 --Business Flow Accounts Payable Application Identifier
32021 , p_source_25 IN NUMBER
32022 --Business Flow Invoice Distribution Type
32026 --Business Flow Invoice Distribution Identifier
32023 , p_source_26 IN VARCHAR2
32024 --Business Flow Invoice Entity Code
32025 , p_source_27 IN VARCHAR2
32027 , p_source_28 IN NUMBER
32028 --Business Flow Invoice Identifier
32029 , p_source_29 IN NUMBER
32030 --Invoice Distribution Identifier
32031 , p_source_30 IN NUMBER
32032 --Payables Encumbrance Upgrade Credit Account
32033 , p_source_31 IN NUMBER
32034 --Payables Encumbrance Upgrade Credit Amount
32035 , p_source_32 IN NUMBER
32036 --Invoice Currency Code
32037 , p_source_33 IN VARCHAR2
32038 --Payables Encumbrance Upgrade Credit Base Amount
32039 , p_source_34 IN NUMBER
32040 --Payables Encumbrance Upgrade Debit Account
32041 , p_source_35 IN NUMBER
32042 --Payables Encumbrance Upgrade Debit Amount
32043 , p_source_36 IN NUMBER
32044 --Payables Encumbrance Upgrade Debit Base Amount
32045 , p_source_37 IN NUMBER
32046 --Payables Encumbrance Upgrade Option
32047 , p_source_38 IN VARCHAR2
32048 --Invoice Exchange Date
32049 , p_source_39 IN DATE
32050 --Invoice Exchange Rate
32051 , p_source_40 IN NUMBER
32052 --Invoice Exchange Rate Type
32053 , p_source_41 IN VARCHAR2
32054 --Deferred Accounting End Date
32055 , p_source_43 IN DATE
32056 --Deferred Accounting Option
32057 , p_source_44 IN VARCHAR2
32058 --Deferred Accounting Start Date
32059 , p_source_45 IN DATE
32060 --Override Accounted Amount Indicator
32061 , p_source_46 IN VARCHAR2
32062 , p_source_46_meaning IN VARCHAR2
32063 --Invoice Supplier Identifier
32064 , p_source_47 IN NUMBER
32065 --Invoice Supplier Site Identifier
32066 , p_source_48 IN NUMBER
32067 --Third Party Type
32068 , p_source_49 IN VARCHAR2
32069 --Parent Reversal Identifier
32070 , p_source_50 IN NUMBER
32071 --Invoice Distribution Statistical Amount
32072 , p_source_51 IN NUMBER
32073 --Invoice Distribution Tax Line Identifier
32074 , p_source_52 IN NUMBER
32075 --Invoice Distribution Tax Distribution Identifier from Tax
32076 , p_source_53 IN NUMBER
32077 --Invoice Distribution Summary Tax Line Identifier
32078 , p_source_54 IN NUMBER
32079 --Payables Upgrade Credit Encumbrance Type Identifier
32080 , p_source_55 IN NUMBER
32081 --Payables Upgrade Debit Encumbrance Type Identifier
32082 , p_source_56 IN NUMBER
32083 --Quantity Variance Amount
32084 , p_source_81 IN NUMBER
32085 --Quantity Variance Amount in Ledger Currency
32086 , p_source_82 IN NUMBER
32087 )
32088 IS
32089
32090 l_component_type VARCHAR2(80);
32091 l_component_code VARCHAR2(30);
32092 l_component_type_code VARCHAR2(1);
32093 l_component_appl_id INTEGER;
32094 l_amb_context_code VARCHAR2(30);
32095 l_entity_code VARCHAR2(30);
32096 l_event_class_code VARCHAR2(30);
32097 l_ae_header_id NUMBER;
32098 l_event_type_code VARCHAR2(30);
32099 l_line_definition_code VARCHAR2(30);
32100 l_line_definition_owner_code VARCHAR2(1);
32101 --
32102 -- adr variables
32103 l_segment VARCHAR2(30);
32104 l_ccid NUMBER;
32105 l_adr_transaction_coa_id NUMBER;
32106 l_adr_accounting_coa_id NUMBER;
32107 l_adr_flexfield_segment_code VARCHAR2(30);
32108 l_adr_flex_value_set_id NUMBER;
32109 l_adr_value_type_code VARCHAR2(30);
32110 l_adr_value_combination_id NUMBER;
32111 l_adr_value_segment_code VARCHAR2(30);
32112
32113 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
32114 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
32115 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
32116 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
32117
32118 -- 4262811 Variables ------------------------------------------------------------------------------------------
32119 l_entered_amt_idx NUMBER;
32120 l_accted_amt_idx NUMBER;
32121 l_acc_rev_flag VARCHAR2(1);
32122 l_accrual_line_num NUMBER;
32123 l_tmp_amt NUMBER;
32124 l_acc_rev_natural_side_code VARCHAR2(1);
32125
32126 l_num_entries NUMBER;
32127 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
32128 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
32129 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
32130 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
32131 l_recog_line_1 NUMBER;
32132 l_recog_line_2 NUMBER;
32133
32134 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
32135 l_bflow_applied_to_amt NUMBER; -- 5132302
32136 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
32137
32138 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
32139
32140 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
32141 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
32142
32143 ---------------------------------------------------------------------------------------------------------------
32144
32145
32146 --
32150 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
32147 -- bulk performance
32148 --
32149 l_balance_type_code VARCHAR2(1);
32151 l_log_module VARCHAR2(240);
32152
32153 --
32154 -- Upgrade strategy
32155 --
32156 l_actual_upg_option VARCHAR2(1);
32157 l_enc_upg_option VARCHAR2(1);
32158
32159 --
32160 BEGIN
32161 --
32162 IF g_log_enabled THEN
32163 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_56';
32164 END IF;
32165 --
32166 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
32167
32168 trace
32169 (p_msg => 'BEGIN of AcctLineType_56'
32170 ,p_level => C_LEVEL_PROCEDURE
32171 ,p_module => l_log_module);
32172
32173 END IF;
32174 --
32175 l_component_type := 'AMB_JLT';
32176 l_component_code := 'AP_QUANTITY_VARIANCE_PP_ENC_DR';
32177 l_component_type_code := 'S';
32178 l_component_appl_id := 200;
32179 l_amb_context_code := 'DEFAULT';
32180 l_entity_code := 'AP_INVOICES';
32181 l_event_class_code := 'PREPAYMENTS';
32182 l_event_type_code := 'PREPAYMENTS_ALL';
32183 l_line_definition_owner_code := 'S';
32184 l_line_definition_code := 'ENC_PREPAY_ALL';
32185 --
32186 l_balance_type_code := 'E';
32187 l_segment := NULL;
32188 l_ccid := NULL;
32189 l_adr_transaction_coa_id := NULL;
32190 l_adr_accounting_coa_id := NULL;
32191 l_adr_flexfield_segment_code := NULL;
32192 l_adr_flex_value_set_id := NULL;
32193 l_adr_value_type_code := NULL;
32194 l_adr_value_combination_id := NULL;
32195 l_adr_value_segment_code := NULL;
32196
32197 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
32198 l_bflow_class_code := 'AP_INV_ENCUM'; -- 4219869 Business Flow
32199 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
32200 l_budgetary_control_flag := 'Y';
32201
32202 l_bflow_applied_to_amt_idx := NULL; -- 5132302
32203 l_bflow_applied_to_amt := NULL; -- 5132302
32204 l_entered_amt_idx := NULL; -- 4262811
32205 l_accted_amt_idx := NULL; -- 4262811
32206 l_acc_rev_flag := NULL; -- 4262811
32207 l_accrual_line_num := NULL; -- 4262811
32208 l_tmp_amt := NULL; -- 4262811
32209 --
32210
32211 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
32212 l_balance_type_code <> 'B' THEN
32213 IF NVL(p_source_15,'
32214 ') = 'ITEM' AND
32215 p_source_16 IS NOT NULL AND
32216 NVL(p_source_17,'
32217 ') = 'Y' AND
32218 NVL(p_source_18,'
32219 ') <> 'Y'
32220 THEN
32221
32222 --
32223 XLA_AE_LINES_PKG.SetNewLine;
32224
32225 p_balance_type_code := l_balance_type_code;
32226 -- set the flag so later we will know whether the gain loss line needs to be created
32227
32228 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
32229 p_actual_flag :='A';
32230 END IF;
32231
32232 --
32233 -- bulk performance
32234 --
32235 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
32236 p_header_num => 0); -- 4262811
32237 --
32238 -- set accounting line options
32239 --
32240 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
32241 p_natural_side_code => 'D'
32242 , p_gain_or_loss_flag => 'N'
32243 , p_gl_transfer_mode_code => 'S'
32244 , p_acct_entry_type_code => 'E'
32245 , p_switch_side_flag => 'Y'
32246 , p_merge_duplicate_code => 'N'
32247 );
32248 --
32249 l_acc_rev_natural_side_code := 'C'; -- 4262811
32250 --
32251 --
32252 -- set accounting line type info
32253 --
32254 xla_ae_lines_pkg.SetAcctLineType
32255 (p_component_type => l_component_type
32256 ,p_event_type_code => l_event_type_code
32257 ,p_line_definition_owner_code => l_line_definition_owner_code
32258 ,p_line_definition_code => l_line_definition_code
32259 ,p_accounting_line_code => l_component_code
32260 ,p_accounting_line_type_code => l_component_type_code
32261 ,p_accounting_line_appl_id => l_component_appl_id
32262 ,p_amb_context_code => l_amb_context_code
32263 ,p_entity_code => l_entity_code
32264 ,p_event_class_code => l_event_class_code);
32265 --
32266 -- set accounting class
32267 --
32268 xla_ae_lines_pkg.SetAcctClass(
32269 p_accounting_class_code => 'QV'
32270 , p_ae_header_id => l_ae_header_id
32271 );
32272
32273 --
32274 -- set rounding class
32275 --
32276 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
32277 'QV';
32278
32279 --
32280 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
32281 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
32282 --
32283 -- bulk performance
32284 --
32288 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
32285 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
32286
32287 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
32289
32290 -- 4955764
32291 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
32292 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
32293
32294 -- 4458381 Public Sector Enh
32295 XLA_AE_LINES_PKG.g_rec_lines.array_encumbrance_type_id(XLA_AE_LINES_PKG.g_LineNumber) := 1060;
32296 --
32297 -- set accounting attributes for the line type
32298 --
32299 l_entered_amt_idx := 23;
32300 l_accted_amt_idx := 28;
32301 l_bflow_applied_to_amt_idx := NULL; -- 5132302
32302 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
32303 l_rec_acct_attrs.array_char_value(1) := p_source_19;
32304 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
32305 l_rec_acct_attrs.array_num_value(2) :=
32306 xla_ae_sources_pkg.GetSystemSourceNum(
32307 p_source_code => 'XLA_EVENT_APPL_ID'
32308 , p_source_type_code => 'Y'
32309 , p_source_application_id => 602
32310 );
32311 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
32312 l_rec_acct_attrs.array_char_value(3) := p_source_21;
32313 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
32314 l_rec_acct_attrs.array_char_value(4) :=
32315 xla_ae_sources_pkg.GetSystemSourceChar(
32316 p_source_code => 'XLA_ENTITY_CODE'
32317 , p_source_type_code => 'Y'
32318 , p_source_application_id => 602
32319 );
32320 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
32321 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_23);
32322 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
32323 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_24);
32324 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
32325 l_rec_acct_attrs.array_num_value(7) := p_source_25;
32326 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
32327 l_rec_acct_attrs.array_char_value(8) := p_source_26;
32328 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
32329 l_rec_acct_attrs.array_char_value(9) := p_source_27;
32330 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
32331 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_28);
32332 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
32333 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_29);
32334 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
32335 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_30);
32336 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
32337 l_rec_acct_attrs.array_char_value(13) := p_source_21;
32338 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
32339 l_rec_acct_attrs.array_num_value(14) := p_source_31;
32340 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
32341 l_rec_acct_attrs.array_num_value(15) := p_source_32;
32342 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
32343 l_rec_acct_attrs.array_char_value(16) := p_source_33;
32344 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
32345 l_rec_acct_attrs.array_num_value(17) := p_source_34;
32346 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
32347 l_rec_acct_attrs.array_num_value(18) := p_source_35;
32348 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
32349 l_rec_acct_attrs.array_num_value(19) := p_source_36;
32350 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
32351 l_rec_acct_attrs.array_char_value(20) := p_source_33;
32352 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
32353 l_rec_acct_attrs.array_num_value(21) := p_source_37;
32354 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
32355 l_rec_acct_attrs.array_char_value(22) := p_source_38;
32356 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
32357 l_rec_acct_attrs.array_num_value(23) := p_source_81;
32358 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
32359 l_rec_acct_attrs.array_char_value(24) := p_source_33;
32360 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
32361 l_rec_acct_attrs.array_date_value(25) := p_source_39;
32362 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
32363 l_rec_acct_attrs.array_num_value(26) := p_source_40;
32364 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
32365 l_rec_acct_attrs.array_char_value(27) := p_source_41;
32366 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
32367 l_rec_acct_attrs.array_num_value(28) := p_source_82;
32368 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
32369 l_rec_acct_attrs.array_date_value(29) := p_source_43;
32370 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
32371 l_rec_acct_attrs.array_char_value(30) := p_source_44;
32372 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
32373 l_rec_acct_attrs.array_date_value(31) := p_source_45;
32374 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
32375 l_rec_acct_attrs.array_char_value(32) := p_source_46;
32379 l_rec_acct_attrs.array_num_value(34) := p_source_48;
32376 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
32377 l_rec_acct_attrs.array_num_value(33) := p_source_47;
32378 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
32380 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
32381 l_rec_acct_attrs.array_char_value(35) := p_source_49;
32382 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
32383 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_50);
32384 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
32385 l_rec_acct_attrs.array_char_value(37) := p_source_21;
32386 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
32387 l_rec_acct_attrs.array_num_value(38) := p_source_51;
32388 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
32389 l_rec_acct_attrs.array_num_value(39) := p_source_52;
32390 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
32391 l_rec_acct_attrs.array_num_value(40) := p_source_53;
32392 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
32393 l_rec_acct_attrs.array_num_value(41) := p_source_54;
32394 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
32395 l_rec_acct_attrs.array_num_value(42) := p_source_55;
32396 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
32397 l_rec_acct_attrs.array_num_value(43) := p_source_56;
32398
32399 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
32400 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
32401
32402 ---------------------------------------------------------------------------------------------------------------
32403 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
32404 ---------------------------------------------------------------------------------------------------------------
32405 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
32406
32407 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
32408 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
32409
32410 IF xla_accounting_cache_pkg.GetValueChar
32411 (p_source_code => 'LEDGER_CATEGORY_CODE'
32412 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
32413 AND l_bflow_method_code = 'PRIOR_ENTRY'
32414 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
32415 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
32416 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
32417 )
32418 THEN
32419 xla_ae_lines_pkg.BflowUpgEntry
32420 (p_business_method_code => l_bflow_method_code
32421 ,p_business_class_code => l_bflow_class_code
32422 ,p_balance_type => l_balance_type_code);
32423 ELSE
32424 NULL;
32425 -- No business flow processing for business flow method of NONE.
32426 END IF;
32427
32428 --
32429 -- call analytical criteria
32430 --
32431
32432 --
32433 -- call description
32434 --
32435
32436 xla_ae_lines_pkg.SetLineDescription(
32437 p_ae_header_id => l_ae_header_id
32438 ,p_description => Description_2 (
32439 p_application_id => p_application_id
32440 , p_ae_header_id => l_ae_header_id
32441 , p_source_1 => p_source_1
32442 )
32443 );
32444
32445
32446 --
32447 -- call ADRs
32448 -- Bug 4922099
32449 --
32450 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
32451 (NVL(l_actual_upg_option, 'N') = 'O') OR
32452 (NVL(l_enc_upg_option, 'N') = 'O')
32453 )
32454 THEN
32455 NULL;
32456 --
32457 --
32458
32459 l_ccid := AcctDerRule_7(
32460 p_application_id => p_application_id
32461 , p_ae_header_id => l_ae_header_id
32462 , p_source_11 => p_source_11
32463 , x_transaction_coa_id => l_adr_transaction_coa_id
32464 , x_accounting_coa_id => l_adr_accounting_coa_id
32465 , x_value_type_code => l_adr_value_type_code
32466 , p_side => 'NA'
32467 );
32468
32469 xla_ae_lines_pkg.set_ccid(
32470 p_code_combination_id => l_ccid
32471 , p_value_type_code => l_adr_value_type_code
32472 , p_transaction_coa_id => l_adr_transaction_coa_id
32473 , p_accounting_coa_id => l_adr_accounting_coa_id
32474 , p_adr_code => 'AP_INVOICE_DIST'
32475 , p_adr_type_code => 'S'
32476 , p_component_type => l_component_type
32477 , p_component_code => l_component_code
32478 , p_component_type_code => l_component_type_code
32479 , p_component_appl_id => l_component_appl_id
32480 , p_amb_context_code => l_amb_context_code
32481 , p_side => 'NA'
32482 );
32483
32484
32485 --
32486 --
32487 END IF;
32488 --
32489 -- Bug 4922099
32490 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
32491 (NVL(l_enc_upg_option, 'N') = 'O')
32492 ) AND
32496 IF
32493 (l_bflow_method_code = 'PRIOR_ENTRY')
32494 )
32495 THEN
32497 --
32498 1 = 2
32499 --
32500 THEN
32501 xla_accounting_err_pkg.build_message
32502 (p_appli_s_name => 'XLA'
32503 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
32504 ,p_token_1 => 'LINE_NUMBER'
32505 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
32506 ,p_token_2 => 'LINE_TYPE_NAME'
32507 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
32508 l_component_type
32509 ,l_component_code
32510 ,l_component_type_code
32511 ,l_component_appl_id
32512 ,l_amb_context_code
32513 ,l_entity_code
32514 ,l_event_class_code
32515 )
32516 ,p_token_3 => 'OWNER'
32517 ,p_value_3 => xla_lookups_pkg.get_meaning(
32518 p_lookup_type => 'XLA_OWNER_TYPE'
32519 ,p_lookup_code => l_component_type_code
32520 )
32521 ,p_token_4 => 'PRODUCT_NAME'
32522 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
32523 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
32524 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
32525 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
32526 ,p_ae_header_id => NULL
32527 );
32528
32529 IF (C_LEVEL_ERROR>= g_log_level) THEN
32530 trace
32531 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
32532 ,p_level => C_LEVEL_ERROR
32533 ,p_module => l_log_module);
32534 END IF;
32535 END IF;
32536 END IF;
32537 --
32538 --
32539 ------------------------------------------------------------------------------------------------
32540 -- 4219869 Business Flow
32541 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
32542 -- Prior Entry. Currently, the following code is always generated.
32543 ------------------------------------------------------------------------------------------------
32544 XLA_AE_LINES_PKG.ValidateCurrentLine;
32545
32546 ------------------------------------------------------------------------------------
32547 -- 4219869 Business Flow
32548 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
32549 ------------------------------------------------------------------------------------
32550 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
32551
32552 ----------------------------------------------------------------------------------
32553 -- 4219869 Business Flow
32554 -- Update journal entry status -- Need to generate this within IF <condition>
32555 ----------------------------------------------------------------------------------
32556 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
32557 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
32558 ,p_balance_type_code => l_balance_type_code
32559 );
32560
32561 -------------------------------------------------------------------------------------------
32562 -- 4262811 - Generate the Accrual Reversal lines
32563 -------------------------------------------------------------------------------------------
32564 BEGIN
32565 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
32566 (g_array_event(p_event_id).array_value_num('header_index'));
32567 IF l_acc_rev_flag IS NULL THEN
32568 l_acc_rev_flag := 'N';
32569 END IF;
32570 EXCEPTION
32571 WHEN OTHERS THEN
32572 l_acc_rev_flag := 'N';
32573 END;
32574 --
32575 IF (l_acc_rev_flag = 'Y') THEN
32576
32577 -- 4645092 ------------------------------------------------------------------------------
32578 -- To allow MPA report to determine if it should generate report process
32579 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
32580 ------------------------------------------------------------------------------------------
32581
32582 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
32583 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
32587 --
32584 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
32585 -- call ADRs
32586 -- Bug 4922099
32588 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
32589 (NVL(l_actual_upg_option, 'N') = 'O') OR
32590 (NVL(l_enc_upg_option, 'N') = 'O')
32591 )
32592 THEN
32593 NULL;
32594 --
32595 --
32596
32597 l_ccid := AcctDerRule_7(
32598 p_application_id => p_application_id
32599 , p_ae_header_id => l_ae_header_id
32600 , p_source_11 => p_source_11
32601 , x_transaction_coa_id => l_adr_transaction_coa_id
32602 , x_accounting_coa_id => l_adr_accounting_coa_id
32603 , x_value_type_code => l_adr_value_type_code
32604 , p_side => 'NA'
32605 );
32606
32607 xla_ae_lines_pkg.set_ccid(
32608 p_code_combination_id => l_ccid
32609 , p_value_type_code => l_adr_value_type_code
32610 , p_transaction_coa_id => l_adr_transaction_coa_id
32611 , p_accounting_coa_id => l_adr_accounting_coa_id
32612 , p_adr_code => 'AP_INVOICE_DIST'
32613 , p_adr_type_code => 'S'
32614 , p_component_type => l_component_type
32615 , p_component_code => l_component_code
32616 , p_component_type_code => l_component_type_code
32617 , p_component_appl_id => l_component_appl_id
32618 , p_amb_context_code => l_amb_context_code
32619 , p_side => 'NA'
32620 );
32621
32622
32623 --
32624 --
32625 END IF;
32626
32627 --
32628 -- Update the line information that should be overwritten
32629 --
32630 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
32631 p_header_num => 1);
32632 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
32633
32634 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
32635
32636 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
32637 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
32638 END IF;
32639
32640 --
32641 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
32642 --
32643 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
32644 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
32645 ELSE
32646 ---------------------------------------------------------------------------------------------------
32647 -- 4262811a Switch Sign
32648 ---------------------------------------------------------------------------------------------------
32649 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
32650 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
32651 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
32652 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
32653 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
32654 -- 5132302
32655 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
32656 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
32657
32658 END IF;
32659
32660 -- 4955764
32661 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
32662 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
32663
32664
32665 XLA_AE_LINES_PKG.ValidateCurrentLine;
32666 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
32667
32668 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
32669 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
32670 ,p_balance_type_code => l_balance_type_code);
32671
32672 END IF;
32673
32674 -----------------------------------------------------------------------------------------
32675 -- 4262811 Multiperiod Accounting
32676 -----------------------------------------------------------------------------------------
32677 -- No MPA option is assigned.
32678
32679
32680 END IF;
32681 END IF;
32682 --
32683
32684 --
32685 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
32686 trace
32687 (p_msg => 'END of AcctLineType_56'
32688 ,p_level => C_LEVEL_PROCEDURE
32689 ,p_module => l_log_module);
32690 END IF;
32691 --
32692 EXCEPTION
32693 WHEN xla_exceptions_pkg.application_exception THEN
32694 RAISE;
32695 WHEN OTHERS THEN
32696 xla_exceptions_pkg.raise_message
32697 (p_location => 'XLA_00200_AAD_S_000006_BC_PKG.AcctLineType_56');
32698 END AcctLineType_56;
32699 --
32700
32701 ---------------------------------------
32702 --
32703 -- PRIVATE FUNCTION
32704 -- AcctLineType_57
32705 --
32706 ---------------------------------------
32710 ,p_calculate_acctd_flag IN VARCHAR2
32707 PROCEDURE AcctLineType_57 (
32708 p_application_id IN NUMBER
32709 ,p_event_id IN NUMBER
32711 ,p_calculate_g_l_flag IN VARCHAR2
32712 ,p_actual_flag IN OUT VARCHAR2
32713 ,p_balance_type_code OUT VARCHAR2
32714 ,p_gain_or_loss_ref OUT VARCHAR2
32715
32716 --Invoice Distribution Description
32717 , p_source_1 IN VARCHAR2
32718 --Invoice Distribution Account
32719 , p_source_11 IN NUMBER
32720 --Invoice Distribution Type
32721 , p_source_15 IN VARCHAR2
32722 , p_source_15_meaning IN VARCHAR2
32723 --Purchasing Encumbrance Option
32724 , p_source_17 IN VARCHAR2
32725 , p_source_17_meaning IN VARCHAR2
32726 --Accounting Reversal Indicator
32727 , p_source_19 IN VARCHAR2
32728 --Distribution Link Type
32729 , p_source_21 IN VARCHAR2
32730 --Allocation to Main Distribution Identifier
32731 , p_source_23 IN NUMBER
32732 --Invoice Identifier
32733 , p_source_24 IN NUMBER
32734 --Business Flow Accounts Payable Application Identifier
32735 , p_source_25 IN NUMBER
32736 --Business Flow Invoice Distribution Type
32737 , p_source_26 IN VARCHAR2
32738 --Business Flow Invoice Entity Code
32739 , p_source_27 IN VARCHAR2
32740 --Business Flow Invoice Distribution Identifier
32741 , p_source_28 IN NUMBER
32742 --Business Flow Invoice Identifier
32743 , p_source_29 IN NUMBER
32744 --Invoice Distribution Identifier
32745 , p_source_30 IN NUMBER
32746 --Payables Encumbrance Upgrade Credit Account
32747 , p_source_31 IN NUMBER
32748 --Payables Encumbrance Upgrade Credit Amount
32749 , p_source_32 IN NUMBER
32750 --Invoice Currency Code
32751 , p_source_33 IN VARCHAR2
32752 --Payables Encumbrance Upgrade Credit Base Amount
32753 , p_source_34 IN NUMBER
32754 --Payables Encumbrance Upgrade Debit Account
32755 , p_source_35 IN NUMBER
32756 --Payables Encumbrance Upgrade Debit Amount
32757 , p_source_36 IN NUMBER
32758 --Payables Encumbrance Upgrade Debit Base Amount
32759 , p_source_37 IN NUMBER
32760 --Payables Encumbrance Upgrade Option
32761 , p_source_38 IN VARCHAR2
32762 --Invoice Exchange Date
32763 , p_source_39 IN DATE
32764 --Invoice Exchange Rate
32765 , p_source_40 IN NUMBER
32766 --Invoice Exchange Rate Type
32767 , p_source_41 IN VARCHAR2
32768 --Deferred Accounting End Date
32769 , p_source_43 IN DATE
32770 --Deferred Accounting Option
32771 , p_source_44 IN VARCHAR2
32772 --Deferred Accounting Start Date
32773 , p_source_45 IN DATE
32774 --Override Accounted Amount Indicator
32775 , p_source_46 IN VARCHAR2
32776 , p_source_46_meaning IN VARCHAR2
32777 --Invoice Supplier Identifier
32778 , p_source_47 IN NUMBER
32779 --Invoice Supplier Site Identifier
32780 , p_source_48 IN NUMBER
32781 --Third Party Type
32782 , p_source_49 IN VARCHAR2
32783 --Parent Reversal Identifier
32784 , p_source_50 IN NUMBER
32785 --Invoice Distribution Statistical Amount
32786 , p_source_51 IN NUMBER
32787 --Invoice Distribution Tax Line Identifier
32788 , p_source_52 IN NUMBER
32789 --Invoice Distribution Tax Distribution Identifier from Tax
32790 , p_source_53 IN NUMBER
32791 --Invoice Distribution Summary Tax Line Identifier
32792 , p_source_54 IN NUMBER
32793 --Payables Upgrade Credit Encumbrance Type Identifier
32794 , p_source_55 IN NUMBER
32795 --Payables Upgrade Debit Encumbrance Type Identifier
32796 , p_source_56 IN NUMBER
32797 --Self-Assessed Tax Flag
32798 , p_source_59 IN VARCHAR2
32799 , p_source_59_meaning IN VARCHAR2
32800 --Invoice Distribution Encumbrance Amount
32801 , p_source_65 IN NUMBER
32802 --Invoice Distribution Encumbrance Ledger Amount
32803 , p_source_66 IN NUMBER
32804 )
32805 IS
32806
32807 l_component_type VARCHAR2(80);
32808 l_component_code VARCHAR2(30);
32809 l_component_type_code VARCHAR2(1);
32810 l_component_appl_id INTEGER;
32811 l_amb_context_code VARCHAR2(30);
32812 l_entity_code VARCHAR2(30);
32813 l_event_class_code VARCHAR2(30);
32814 l_ae_header_id NUMBER;
32815 l_event_type_code VARCHAR2(30);
32816 l_line_definition_code VARCHAR2(30);
32817 l_line_definition_owner_code VARCHAR2(1);
32818 --
32819 -- adr variables
32820 l_segment VARCHAR2(30);
32821 l_ccid NUMBER;
32822 l_adr_transaction_coa_id NUMBER;
32823 l_adr_accounting_coa_id NUMBER;
32824 l_adr_flexfield_segment_code VARCHAR2(30);
32825 l_adr_flex_value_set_id NUMBER;
32826 l_adr_value_type_code VARCHAR2(30);
32827 l_adr_value_combination_id NUMBER;
32828 l_adr_value_segment_code VARCHAR2(30);
32829
32830 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
32831 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
32832 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
32833 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
32834
32838 l_acc_rev_flag VARCHAR2(1);
32835 -- 4262811 Variables ------------------------------------------------------------------------------------------
32836 l_entered_amt_idx NUMBER;
32837 l_accted_amt_idx NUMBER;
32839 l_accrual_line_num NUMBER;
32840 l_tmp_amt NUMBER;
32841 l_acc_rev_natural_side_code VARCHAR2(1);
32842
32843 l_num_entries NUMBER;
32844 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
32845 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
32846 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
32847 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
32848 l_recog_line_1 NUMBER;
32849 l_recog_line_2 NUMBER;
32850
32851 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
32852 l_bflow_applied_to_amt NUMBER; -- 5132302
32853 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
32854
32855 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
32856
32857 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
32858 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
32859
32860 ---------------------------------------------------------------------------------------------------------------
32861
32862
32863 --
32864 -- bulk performance
32865 --
32866 l_balance_type_code VARCHAR2(1);
32867 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
32868 l_log_module VARCHAR2(240);
32869
32870 --
32871 -- Upgrade strategy
32872 --
32873 l_actual_upg_option VARCHAR2(1);
32874 l_enc_upg_option VARCHAR2(1);
32875
32876 --
32877 BEGIN
32878 --
32879 IF g_log_enabled THEN
32880 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_57';
32881 END IF;
32882 --
32883 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
32884
32885 trace
32886 (p_msg => 'BEGIN of AcctLineType_57'
32887 ,p_level => C_LEVEL_PROCEDURE
32888 ,p_module => l_log_module);
32889
32890 END IF;
32891 --
32892 l_component_type := 'AMB_JLT';
32893 l_component_code := 'AP_RECOV_TAX_CM_ENC_DR';
32894 l_component_type_code := 'S';
32895 l_component_appl_id := 200;
32896 l_amb_context_code := 'DEFAULT';
32897 l_entity_code := 'AP_INVOICES';
32898 l_event_class_code := 'CREDIT MEMOS';
32899 l_event_type_code := 'CREDIT MEMOS_ALL';
32900 l_line_definition_owner_code := 'S';
32901 l_line_definition_code := 'ENC_CM_ALL';
32902 --
32903 l_balance_type_code := 'E';
32904 l_segment := NULL;
32905 l_ccid := NULL;
32906 l_adr_transaction_coa_id := NULL;
32907 l_adr_accounting_coa_id := NULL;
32908 l_adr_flexfield_segment_code := NULL;
32909 l_adr_flex_value_set_id := NULL;
32910 l_adr_value_type_code := NULL;
32911 l_adr_value_combination_id := NULL;
32912 l_adr_value_segment_code := NULL;
32913
32914 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
32915 l_bflow_class_code := 'AP_INV_ENCUM'; -- 4219869 Business Flow
32916 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
32917 l_budgetary_control_flag := 'Y';
32918
32919 l_bflow_applied_to_amt_idx := NULL; -- 5132302
32920 l_bflow_applied_to_amt := NULL; -- 5132302
32921 l_entered_amt_idx := NULL; -- 4262811
32922 l_accted_amt_idx := NULL; -- 4262811
32923 l_acc_rev_flag := NULL; -- 4262811
32924 l_accrual_line_num := NULL; -- 4262811
32925 l_tmp_amt := NULL; -- 4262811
32926 --
32927
32928 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
32929 l_balance_type_code <> 'B' THEN
32930 IF NVL(p_source_15,'
32931 ') = 'REC_TAX' AND
32932 NVL(p_source_59,'
32933 ') <> 'Y' AND
32934 NVL(p_source_17,'
32935 ') = 'Y'
32936 THEN
32937
32938 --
32939 XLA_AE_LINES_PKG.SetNewLine;
32940
32941 p_balance_type_code := l_balance_type_code;
32942 -- set the flag so later we will know whether the gain loss line needs to be created
32943
32944 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
32945 p_actual_flag :='A';
32946 END IF;
32947
32948 --
32949 -- bulk performance
32950 --
32951 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
32952 p_header_num => 0); -- 4262811
32953 --
32954 -- set accounting line options
32955 --
32956 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
32957 p_natural_side_code => 'D'
32958 , p_gain_or_loss_flag => 'N'
32959 , p_gl_transfer_mode_code => 'S'
32960 , p_acct_entry_type_code => 'E'
32961 , p_switch_side_flag => 'Y'
32962 , p_merge_duplicate_code => 'N'
32963 );
32964 --
32965 l_acc_rev_natural_side_code := 'C'; -- 4262811
32966 --
32967 --
32968 -- set accounting line type info
32969 --
32973 ,p_line_definition_owner_code => l_line_definition_owner_code
32970 xla_ae_lines_pkg.SetAcctLineType
32971 (p_component_type => l_component_type
32972 ,p_event_type_code => l_event_type_code
32974 ,p_line_definition_code => l_line_definition_code
32975 ,p_accounting_line_code => l_component_code
32976 ,p_accounting_line_type_code => l_component_type_code
32977 ,p_accounting_line_appl_id => l_component_appl_id
32978 ,p_amb_context_code => l_amb_context_code
32979 ,p_entity_code => l_entity_code
32980 ,p_event_class_code => l_event_class_code);
32981 --
32982 -- set accounting class
32983 --
32984 xla_ae_lines_pkg.SetAcctClass(
32985 p_accounting_class_code => 'RTAX'
32986 , p_ae_header_id => l_ae_header_id
32987 );
32988
32989 --
32990 -- set rounding class
32991 --
32992 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
32993 'RTAX';
32994
32995 --
32996 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
32997 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
32998 --
32999 -- bulk performance
33000 --
33001 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
33002
33003 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
33004 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
33005
33006 -- 4955764
33007 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
33008 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
33009
33010 -- 4458381 Public Sector Enh
33011 XLA_AE_LINES_PKG.g_rec_lines.array_encumbrance_type_id(XLA_AE_LINES_PKG.g_LineNumber) := 1060;
33012 --
33013 -- set accounting attributes for the line type
33014 --
33015 l_entered_amt_idx := 23;
33016 l_accted_amt_idx := 28;
33017 l_bflow_applied_to_amt_idx := NULL; -- 5132302
33018 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
33019 l_rec_acct_attrs.array_char_value(1) := p_source_19;
33020 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
33021 l_rec_acct_attrs.array_num_value(2) :=
33022 xla_ae_sources_pkg.GetSystemSourceNum(
33023 p_source_code => 'XLA_EVENT_APPL_ID'
33024 , p_source_type_code => 'Y'
33025 , p_source_application_id => 602
33026 );
33027 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
33028 l_rec_acct_attrs.array_char_value(3) := p_source_21;
33029 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
33030 l_rec_acct_attrs.array_char_value(4) :=
33031 xla_ae_sources_pkg.GetSystemSourceChar(
33032 p_source_code => 'XLA_ENTITY_CODE'
33033 , p_source_type_code => 'Y'
33034 , p_source_application_id => 602
33035 );
33036 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
33037 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_23);
33038 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
33039 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_24);
33040 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
33041 l_rec_acct_attrs.array_num_value(7) := p_source_25;
33042 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
33043 l_rec_acct_attrs.array_char_value(8) := p_source_26;
33044 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
33045 l_rec_acct_attrs.array_char_value(9) := p_source_27;
33046 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
33047 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_28);
33048 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
33049 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_29);
33050 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
33051 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_30);
33052 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
33053 l_rec_acct_attrs.array_char_value(13) := p_source_21;
33054 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
33055 l_rec_acct_attrs.array_num_value(14) := p_source_31;
33056 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
33057 l_rec_acct_attrs.array_num_value(15) := p_source_32;
33058 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
33059 l_rec_acct_attrs.array_char_value(16) := p_source_33;
33060 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
33061 l_rec_acct_attrs.array_num_value(17) := p_source_34;
33062 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
33063 l_rec_acct_attrs.array_num_value(18) := p_source_35;
33064 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
33065 l_rec_acct_attrs.array_num_value(19) := p_source_36;
33066 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
33067 l_rec_acct_attrs.array_char_value(20) := p_source_33;
33068 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
33069 l_rec_acct_attrs.array_num_value(21) := p_source_37;
33073 l_rec_acct_attrs.array_num_value(23) := p_source_65;
33070 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
33071 l_rec_acct_attrs.array_char_value(22) := p_source_38;
33072 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
33074 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
33075 l_rec_acct_attrs.array_char_value(24) := p_source_33;
33076 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
33077 l_rec_acct_attrs.array_date_value(25) := p_source_39;
33078 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
33079 l_rec_acct_attrs.array_num_value(26) := p_source_40;
33080 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
33081 l_rec_acct_attrs.array_char_value(27) := p_source_41;
33082 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
33083 l_rec_acct_attrs.array_num_value(28) := p_source_66;
33084 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
33085 l_rec_acct_attrs.array_date_value(29) := p_source_43;
33086 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
33087 l_rec_acct_attrs.array_char_value(30) := p_source_44;
33088 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
33089 l_rec_acct_attrs.array_date_value(31) := p_source_45;
33090 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
33091 l_rec_acct_attrs.array_char_value(32) := p_source_46;
33092 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
33093 l_rec_acct_attrs.array_num_value(33) := p_source_47;
33094 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
33095 l_rec_acct_attrs.array_num_value(34) := p_source_48;
33096 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
33097 l_rec_acct_attrs.array_char_value(35) := p_source_49;
33098 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
33099 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_50);
33100 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
33101 l_rec_acct_attrs.array_char_value(37) := p_source_21;
33102 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
33103 l_rec_acct_attrs.array_num_value(38) := p_source_51;
33104 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
33105 l_rec_acct_attrs.array_num_value(39) := p_source_52;
33106 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
33107 l_rec_acct_attrs.array_num_value(40) := p_source_53;
33108 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
33109 l_rec_acct_attrs.array_num_value(41) := p_source_54;
33110 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
33111 l_rec_acct_attrs.array_num_value(42) := p_source_55;
33112 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
33113 l_rec_acct_attrs.array_num_value(43) := p_source_56;
33114
33115 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
33116 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
33117
33118 ---------------------------------------------------------------------------------------------------------------
33119 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
33120 ---------------------------------------------------------------------------------------------------------------
33121 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
33122
33123 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
33124 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
33125
33126 IF xla_accounting_cache_pkg.GetValueChar
33127 (p_source_code => 'LEDGER_CATEGORY_CODE'
33128 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
33129 AND l_bflow_method_code = 'PRIOR_ENTRY'
33130 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
33131 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
33132 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
33133 )
33134 THEN
33135 xla_ae_lines_pkg.BflowUpgEntry
33136 (p_business_method_code => l_bflow_method_code
33137 ,p_business_class_code => l_bflow_class_code
33138 ,p_balance_type => l_balance_type_code);
33139 ELSE
33140 NULL;
33141 -- No business flow processing for business flow method of NONE.
33142 END IF;
33143
33144 --
33145 -- call analytical criteria
33146 --
33147
33148 --
33149 -- call description
33150 --
33151
33152 xla_ae_lines_pkg.SetLineDescription(
33153 p_ae_header_id => l_ae_header_id
33154 ,p_description => Description_2 (
33155 p_application_id => p_application_id
33156 , p_ae_header_id => l_ae_header_id
33157 , p_source_1 => p_source_1
33158 )
33159 );
33160
33161
33162 --
33163 -- call ADRs
33164 -- Bug 4922099
33165 --
33166 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
33167 (NVL(l_actual_upg_option, 'N') = 'O') OR
33168 (NVL(l_enc_upg_option, 'N') = 'O')
33169 )
33170 THEN
33171 NULL;
33172 --
33173 --
33174
33175 l_ccid := AcctDerRule_7(
33179 , x_transaction_coa_id => l_adr_transaction_coa_id
33176 p_application_id => p_application_id
33177 , p_ae_header_id => l_ae_header_id
33178 , p_source_11 => p_source_11
33180 , x_accounting_coa_id => l_adr_accounting_coa_id
33181 , x_value_type_code => l_adr_value_type_code
33182 , p_side => 'NA'
33183 );
33184
33185 xla_ae_lines_pkg.set_ccid(
33186 p_code_combination_id => l_ccid
33187 , p_value_type_code => l_adr_value_type_code
33188 , p_transaction_coa_id => l_adr_transaction_coa_id
33189 , p_accounting_coa_id => l_adr_accounting_coa_id
33190 , p_adr_code => 'AP_INVOICE_DIST'
33191 , p_adr_type_code => 'S'
33192 , p_component_type => l_component_type
33193 , p_component_code => l_component_code
33194 , p_component_type_code => l_component_type_code
33195 , p_component_appl_id => l_component_appl_id
33196 , p_amb_context_code => l_amb_context_code
33197 , p_side => 'NA'
33198 );
33199
33200
33201 --
33202 --
33203 END IF;
33204 --
33205 -- Bug 4922099
33206 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
33207 (NVL(l_enc_upg_option, 'N') = 'O')
33208 ) AND
33209 (l_bflow_method_code = 'PRIOR_ENTRY')
33210 )
33211 THEN
33212 IF
33213 --
33214 1 = 2
33215 --
33216 THEN
33217 xla_accounting_err_pkg.build_message
33218 (p_appli_s_name => 'XLA'
33219 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
33220 ,p_token_1 => 'LINE_NUMBER'
33221 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
33222 ,p_token_2 => 'LINE_TYPE_NAME'
33223 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
33224 l_component_type
33225 ,l_component_code
33226 ,l_component_type_code
33227 ,l_component_appl_id
33228 ,l_amb_context_code
33229 ,l_entity_code
33230 ,l_event_class_code
33231 )
33232 ,p_token_3 => 'OWNER'
33233 ,p_value_3 => xla_lookups_pkg.get_meaning(
33234 p_lookup_type => 'XLA_OWNER_TYPE'
33235 ,p_lookup_code => l_component_type_code
33236 )
33237 ,p_token_4 => 'PRODUCT_NAME'
33238 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
33239 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
33240 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
33241 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
33242 ,p_ae_header_id => NULL
33243 );
33244
33245 IF (C_LEVEL_ERROR>= g_log_level) THEN
33246 trace
33247 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
33248 ,p_level => C_LEVEL_ERROR
33249 ,p_module => l_log_module);
33250 END IF;
33251 END IF;
33252 END IF;
33253 --
33254 --
33255 ------------------------------------------------------------------------------------------------
33256 -- 4219869 Business Flow
33257 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
33258 -- Prior Entry. Currently, the following code is always generated.
33259 ------------------------------------------------------------------------------------------------
33260 XLA_AE_LINES_PKG.ValidateCurrentLine;
33261
33262 ------------------------------------------------------------------------------------
33263 -- 4219869 Business Flow
33264 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
33265 ------------------------------------------------------------------------------------
33266 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
33267
33268 ----------------------------------------------------------------------------------
33269 -- 4219869 Business Flow
33270 -- Update journal entry status -- Need to generate this within IF <condition>
33274 ,p_balance_type_code => l_balance_type_code
33271 ----------------------------------------------------------------------------------
33272 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
33273 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
33275 );
33276
33277 -------------------------------------------------------------------------------------------
33278 -- 4262811 - Generate the Accrual Reversal lines
33279 -------------------------------------------------------------------------------------------
33280 BEGIN
33281 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
33282 (g_array_event(p_event_id).array_value_num('header_index'));
33283 IF l_acc_rev_flag IS NULL THEN
33284 l_acc_rev_flag := 'N';
33285 END IF;
33286 EXCEPTION
33287 WHEN OTHERS THEN
33288 l_acc_rev_flag := 'N';
33289 END;
33290 --
33291 IF (l_acc_rev_flag = 'Y') THEN
33292
33293 -- 4645092 ------------------------------------------------------------------------------
33294 -- To allow MPA report to determine if it should generate report process
33295 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
33296 ------------------------------------------------------------------------------------------
33297
33298 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
33299 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
33300 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
33301 -- call ADRs
33302 -- Bug 4922099
33303 --
33304 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
33305 (NVL(l_actual_upg_option, 'N') = 'O') OR
33306 (NVL(l_enc_upg_option, 'N') = 'O')
33307 )
33308 THEN
33309 NULL;
33310 --
33311 --
33312
33313 l_ccid := AcctDerRule_7(
33314 p_application_id => p_application_id
33315 , p_ae_header_id => l_ae_header_id
33316 , p_source_11 => p_source_11
33317 , x_transaction_coa_id => l_adr_transaction_coa_id
33318 , x_accounting_coa_id => l_adr_accounting_coa_id
33319 , x_value_type_code => l_adr_value_type_code
33320 , p_side => 'NA'
33321 );
33322
33323 xla_ae_lines_pkg.set_ccid(
33324 p_code_combination_id => l_ccid
33325 , p_value_type_code => l_adr_value_type_code
33326 , p_transaction_coa_id => l_adr_transaction_coa_id
33327 , p_accounting_coa_id => l_adr_accounting_coa_id
33328 , p_adr_code => 'AP_INVOICE_DIST'
33329 , p_adr_type_code => 'S'
33330 , p_component_type => l_component_type
33331 , p_component_code => l_component_code
33332 , p_component_type_code => l_component_type_code
33333 , p_component_appl_id => l_component_appl_id
33334 , p_amb_context_code => l_amb_context_code
33335 , p_side => 'NA'
33336 );
33337
33338
33339 --
33340 --
33341 END IF;
33342
33343 --
33344 -- Update the line information that should be overwritten
33345 --
33346 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
33347 p_header_num => 1);
33348 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
33349
33350 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
33351
33352 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
33353 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
33354 END IF;
33355
33356 --
33357 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
33358 --
33359 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
33360 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
33361 ELSE
33362 ---------------------------------------------------------------------------------------------------
33363 -- 4262811a Switch Sign
33364 ---------------------------------------------------------------------------------------------------
33365 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
33366 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
33367 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
33368 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
33369 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
33370 -- 5132302
33371 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
33372 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
33373
33374 END IF;
33375
33376 -- 4955764
33377 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
33378 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
33379
33380
33381 XLA_AE_LINES_PKG.ValidateCurrentLine;
33385 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
33382 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
33383
33384 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
33386 ,p_balance_type_code => l_balance_type_code);
33387
33388 END IF;
33389
33390 -----------------------------------------------------------------------------------------
33391 -- 4262811 Multiperiod Accounting
33392 -----------------------------------------------------------------------------------------
33393 -- No MPA option is assigned.
33394
33395
33396 END IF;
33397 END IF;
33398 --
33399
33400 --
33401 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
33402 trace
33403 (p_msg => 'END of AcctLineType_57'
33404 ,p_level => C_LEVEL_PROCEDURE
33405 ,p_module => l_log_module);
33406 END IF;
33407 --
33408 EXCEPTION
33409 WHEN xla_exceptions_pkg.application_exception THEN
33410 RAISE;
33411 WHEN OTHERS THEN
33412 xla_exceptions_pkg.raise_message
33413 (p_location => 'XLA_00200_AAD_S_000006_BC_PKG.AcctLineType_57');
33414 END AcctLineType_57;
33415 --
33416
33417 ---------------------------------------
33418 --
33419 -- PRIVATE FUNCTION
33420 -- AcctLineType_58
33421 --
33422 ---------------------------------------
33423 PROCEDURE AcctLineType_58 (
33424 p_application_id IN NUMBER
33425 ,p_event_id IN NUMBER
33426 ,p_calculate_acctd_flag IN VARCHAR2
33427 ,p_calculate_g_l_flag IN VARCHAR2
33428 ,p_actual_flag IN OUT VARCHAR2
33429 ,p_balance_type_code OUT VARCHAR2
33430 ,p_gain_or_loss_ref OUT VARCHAR2
33431
33432 --Invoice Distribution Description
33433 , p_source_1 IN VARCHAR2
33434 --Invoice Distribution Account
33435 , p_source_11 IN NUMBER
33436 --Invoice Distribution Type
33437 , p_source_15 IN VARCHAR2
33438 , p_source_15_meaning IN VARCHAR2
33439 --Purchasing Encumbrance Option
33440 , p_source_17 IN VARCHAR2
33441 , p_source_17_meaning IN VARCHAR2
33442 --Accounting Reversal Indicator
33443 , p_source_19 IN VARCHAR2
33444 --Distribution Link Type
33445 , p_source_21 IN VARCHAR2
33446 --Allocation to Main Distribution Identifier
33447 , p_source_23 IN NUMBER
33448 --Invoice Identifier
33449 , p_source_24 IN NUMBER
33450 --Business Flow Accounts Payable Application Identifier
33451 , p_source_25 IN NUMBER
33452 --Business Flow Invoice Distribution Type
33453 , p_source_26 IN VARCHAR2
33454 --Business Flow Invoice Entity Code
33455 , p_source_27 IN VARCHAR2
33456 --Business Flow Invoice Distribution Identifier
33457 , p_source_28 IN NUMBER
33458 --Business Flow Invoice Identifier
33459 , p_source_29 IN NUMBER
33460 --Invoice Distribution Identifier
33461 , p_source_30 IN NUMBER
33462 --Payables Encumbrance Upgrade Credit Account
33463 , p_source_31 IN NUMBER
33464 --Payables Encumbrance Upgrade Credit Amount
33465 , p_source_32 IN NUMBER
33466 --Invoice Currency Code
33467 , p_source_33 IN VARCHAR2
33468 --Payables Encumbrance Upgrade Credit Base Amount
33469 , p_source_34 IN NUMBER
33470 --Payables Encumbrance Upgrade Debit Account
33471 , p_source_35 IN NUMBER
33472 --Payables Encumbrance Upgrade Debit Amount
33473 , p_source_36 IN NUMBER
33474 --Payables Encumbrance Upgrade Debit Base Amount
33475 , p_source_37 IN NUMBER
33476 --Payables Encumbrance Upgrade Option
33477 , p_source_38 IN VARCHAR2
33478 --Invoice Exchange Date
33479 , p_source_39 IN DATE
33480 --Invoice Exchange Rate
33481 , p_source_40 IN NUMBER
33482 --Invoice Exchange Rate Type
33483 , p_source_41 IN VARCHAR2
33484 --Deferred Accounting End Date
33485 , p_source_43 IN DATE
33486 --Deferred Accounting Option
33487 , p_source_44 IN VARCHAR2
33488 --Deferred Accounting Start Date
33489 , p_source_45 IN DATE
33490 --Override Accounted Amount Indicator
33491 , p_source_46 IN VARCHAR2
33492 , p_source_46_meaning IN VARCHAR2
33493 --Invoice Supplier Identifier
33494 , p_source_47 IN NUMBER
33495 --Invoice Supplier Site Identifier
33496 , p_source_48 IN NUMBER
33497 --Third Party Type
33498 , p_source_49 IN VARCHAR2
33499 --Parent Reversal Identifier
33500 , p_source_50 IN NUMBER
33501 --Invoice Distribution Tax Line Identifier
33502 , p_source_52 IN NUMBER
33503 --Invoice Distribution Tax Distribution Identifier from Tax
33504 , p_source_53 IN NUMBER
33505 --Invoice Distribution Summary Tax Line Identifier
33506 , p_source_54 IN NUMBER
33507 --Payables Upgrade Credit Encumbrance Type Identifier
33508 , p_source_55 IN NUMBER
33509 --Payables Upgrade Debit Encumbrance Type Identifier
33510 , p_source_56 IN NUMBER
33511 --Self-Assessed Tax Flag
33512 , p_source_59 IN VARCHAR2
33513 , p_source_59_meaning IN VARCHAR2
33514 --Invoice Distribution Encumbrance Amount
33515 , p_source_65 IN NUMBER
33516 --Invoice Distribution Encumbrance Ledger Amount
33517 , p_source_66 IN NUMBER
33518 )
33519 IS
33523 l_component_type_code VARCHAR2(1);
33520
33521 l_component_type VARCHAR2(80);
33522 l_component_code VARCHAR2(30);
33524 l_component_appl_id INTEGER;
33525 l_amb_context_code VARCHAR2(30);
33526 l_entity_code VARCHAR2(30);
33527 l_event_class_code VARCHAR2(30);
33528 l_ae_header_id NUMBER;
33529 l_event_type_code VARCHAR2(30);
33530 l_line_definition_code VARCHAR2(30);
33531 l_line_definition_owner_code VARCHAR2(1);
33532 --
33533 -- adr variables
33534 l_segment VARCHAR2(30);
33535 l_ccid NUMBER;
33536 l_adr_transaction_coa_id NUMBER;
33537 l_adr_accounting_coa_id NUMBER;
33538 l_adr_flexfield_segment_code VARCHAR2(30);
33539 l_adr_flex_value_set_id NUMBER;
33540 l_adr_value_type_code VARCHAR2(30);
33541 l_adr_value_combination_id NUMBER;
33542 l_adr_value_segment_code VARCHAR2(30);
33543
33544 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
33545 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
33546 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
33547 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
33548
33549 -- 4262811 Variables ------------------------------------------------------------------------------------------
33550 l_entered_amt_idx NUMBER;
33551 l_accted_amt_idx NUMBER;
33552 l_acc_rev_flag VARCHAR2(1);
33553 l_accrual_line_num NUMBER;
33554 l_tmp_amt NUMBER;
33555 l_acc_rev_natural_side_code VARCHAR2(1);
33556
33557 l_num_entries NUMBER;
33558 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
33559 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
33560 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
33561 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
33562 l_recog_line_1 NUMBER;
33563 l_recog_line_2 NUMBER;
33564
33565 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
33566 l_bflow_applied_to_amt NUMBER; -- 5132302
33567 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
33568
33569 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
33570
33571 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
33572 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
33573
33574 ---------------------------------------------------------------------------------------------------------------
33575
33576
33577 --
33578 -- bulk performance
33579 --
33580 l_balance_type_code VARCHAR2(1);
33581 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
33582 l_log_module VARCHAR2(240);
33583
33584 --
33585 -- Upgrade strategy
33586 --
33587 l_actual_upg_option VARCHAR2(1);
33588 l_enc_upg_option VARCHAR2(1);
33589
33590 --
33591 BEGIN
33592 --
33593 IF g_log_enabled THEN
33594 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_58';
33595 END IF;
33596 --
33597 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
33598
33599 trace
33600 (p_msg => 'BEGIN of AcctLineType_58'
33601 ,p_level => C_LEVEL_PROCEDURE
33602 ,p_module => l_log_module);
33603
33604 END IF;
33605 --
33606 l_component_type := 'AMB_JLT';
33607 l_component_code := 'AP_RECOV_TAX_DM_ENC_DR';
33608 l_component_type_code := 'S';
33609 l_component_appl_id := 200;
33610 l_amb_context_code := 'DEFAULT';
33611 l_entity_code := 'AP_INVOICES';
33612 l_event_class_code := 'DEBIT MEMOS';
33613 l_event_type_code := 'DEBIT MEMOS_ALL';
33614 l_line_definition_owner_code := 'S';
33615 l_line_definition_code := 'ENC_DM_ALL';
33616 --
33617 l_balance_type_code := 'E';
33618 l_segment := NULL;
33619 l_ccid := NULL;
33620 l_adr_transaction_coa_id := NULL;
33621 l_adr_accounting_coa_id := NULL;
33622 l_adr_flexfield_segment_code := NULL;
33623 l_adr_flex_value_set_id := NULL;
33624 l_adr_value_type_code := NULL;
33625 l_adr_value_combination_id := NULL;
33626 l_adr_value_segment_code := NULL;
33627
33628 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
33629 l_bflow_class_code := 'AP_INV_ENCUM'; -- 4219869 Business Flow
33630 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
33631 l_budgetary_control_flag := 'Y';
33632
33633 l_bflow_applied_to_amt_idx := NULL; -- 5132302
33634 l_bflow_applied_to_amt := NULL; -- 5132302
33635 l_entered_amt_idx := NULL; -- 4262811
33636 l_accted_amt_idx := NULL; -- 4262811
33637 l_acc_rev_flag := NULL; -- 4262811
33638 l_accrual_line_num := NULL; -- 4262811
33639 l_tmp_amt := NULL; -- 4262811
33640 --
33641
33642 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
33643 l_balance_type_code <> 'B' THEN
33644 IF NVL(p_source_15,'
33645 ') = 'REC_TAX' AND
33646 NVL(p_source_59,'
33647 ') <> 'Y' AND
33648 NVL(p_source_17,'
33649 ') = 'Y'
33653 XLA_AE_LINES_PKG.SetNewLine;
33650 THEN
33651
33652 --
33654
33655 p_balance_type_code := l_balance_type_code;
33656 -- set the flag so later we will know whether the gain loss line needs to be created
33657
33658 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
33659 p_actual_flag :='A';
33660 END IF;
33661
33662 --
33663 -- bulk performance
33664 --
33665 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
33666 p_header_num => 0); -- 4262811
33667 --
33668 -- set accounting line options
33669 --
33670 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
33671 p_natural_side_code => 'D'
33672 , p_gain_or_loss_flag => 'N'
33673 , p_gl_transfer_mode_code => 'S'
33674 , p_acct_entry_type_code => 'E'
33675 , p_switch_side_flag => 'Y'
33676 , p_merge_duplicate_code => 'N'
33677 );
33678 --
33679 l_acc_rev_natural_side_code := 'C'; -- 4262811
33680 --
33681 --
33682 -- set accounting line type info
33683 --
33684 xla_ae_lines_pkg.SetAcctLineType
33685 (p_component_type => l_component_type
33686 ,p_event_type_code => l_event_type_code
33687 ,p_line_definition_owner_code => l_line_definition_owner_code
33688 ,p_line_definition_code => l_line_definition_code
33689 ,p_accounting_line_code => l_component_code
33690 ,p_accounting_line_type_code => l_component_type_code
33691 ,p_accounting_line_appl_id => l_component_appl_id
33692 ,p_amb_context_code => l_amb_context_code
33693 ,p_entity_code => l_entity_code
33694 ,p_event_class_code => l_event_class_code);
33695 --
33696 -- set accounting class
33697 --
33698 xla_ae_lines_pkg.SetAcctClass(
33699 p_accounting_class_code => 'RTAX'
33700 , p_ae_header_id => l_ae_header_id
33701 );
33702
33703 --
33704 -- set rounding class
33705 --
33706 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
33707 'RTAX';
33708
33709 --
33710 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
33711 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
33712 --
33713 -- bulk performance
33714 --
33715 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
33716
33717 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
33718 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
33719
33720 -- 4955764
33721 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
33722 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
33723
33724 -- 4458381 Public Sector Enh
33725 XLA_AE_LINES_PKG.g_rec_lines.array_encumbrance_type_id(XLA_AE_LINES_PKG.g_LineNumber) := 1060;
33726 --
33727 -- set accounting attributes for the line type
33728 --
33729 l_entered_amt_idx := 23;
33730 l_accted_amt_idx := 28;
33731 l_bflow_applied_to_amt_idx := NULL; -- 5132302
33732 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
33733 l_rec_acct_attrs.array_char_value(1) := p_source_19;
33734 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
33735 l_rec_acct_attrs.array_num_value(2) :=
33736 xla_ae_sources_pkg.GetSystemSourceNum(
33737 p_source_code => 'XLA_EVENT_APPL_ID'
33738 , p_source_type_code => 'Y'
33739 , p_source_application_id => 602
33740 );
33741 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
33742 l_rec_acct_attrs.array_char_value(3) := p_source_21;
33743 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
33744 l_rec_acct_attrs.array_char_value(4) :=
33745 xla_ae_sources_pkg.GetSystemSourceChar(
33746 p_source_code => 'XLA_ENTITY_CODE'
33747 , p_source_type_code => 'Y'
33748 , p_source_application_id => 602
33749 );
33750 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
33751 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_23);
33752 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
33753 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_24);
33754 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
33755 l_rec_acct_attrs.array_num_value(7) := p_source_25;
33756 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
33757 l_rec_acct_attrs.array_char_value(8) := p_source_26;
33758 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
33759 l_rec_acct_attrs.array_char_value(9) := p_source_27;
33760 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
33761 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_28);
33762 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
33763 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_29);
33764 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
33765 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_30);
33769 l_rec_acct_attrs.array_num_value(14) := p_source_31;
33766 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
33767 l_rec_acct_attrs.array_char_value(13) := p_source_21;
33768 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
33770 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
33771 l_rec_acct_attrs.array_num_value(15) := p_source_32;
33772 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
33773 l_rec_acct_attrs.array_char_value(16) := p_source_33;
33774 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
33775 l_rec_acct_attrs.array_num_value(17) := p_source_34;
33776 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
33777 l_rec_acct_attrs.array_num_value(18) := p_source_35;
33778 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
33779 l_rec_acct_attrs.array_num_value(19) := p_source_36;
33780 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
33781 l_rec_acct_attrs.array_char_value(20) := p_source_33;
33782 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
33783 l_rec_acct_attrs.array_num_value(21) := p_source_37;
33784 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
33785 l_rec_acct_attrs.array_char_value(22) := p_source_38;
33786 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
33787 l_rec_acct_attrs.array_num_value(23) := p_source_65;
33788 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
33789 l_rec_acct_attrs.array_char_value(24) := p_source_33;
33790 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
33791 l_rec_acct_attrs.array_date_value(25) := p_source_39;
33792 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
33793 l_rec_acct_attrs.array_num_value(26) := p_source_40;
33794 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
33795 l_rec_acct_attrs.array_char_value(27) := p_source_41;
33796 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
33797 l_rec_acct_attrs.array_num_value(28) := p_source_66;
33798 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
33799 l_rec_acct_attrs.array_date_value(29) := p_source_43;
33800 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
33801 l_rec_acct_attrs.array_char_value(30) := p_source_44;
33802 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
33803 l_rec_acct_attrs.array_date_value(31) := p_source_45;
33804 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
33805 l_rec_acct_attrs.array_char_value(32) := p_source_46;
33806 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
33807 l_rec_acct_attrs.array_num_value(33) := p_source_47;
33808 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
33809 l_rec_acct_attrs.array_num_value(34) := p_source_48;
33810 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
33811 l_rec_acct_attrs.array_char_value(35) := p_source_49;
33812 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
33813 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_50);
33814 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
33815 l_rec_acct_attrs.array_char_value(37) := p_source_21;
33816 l_rec_acct_attrs.array_acct_attr_code(38) := 'TAX_LINE_REF_ID';
33817 l_rec_acct_attrs.array_num_value(38) := p_source_52;
33818 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_REC_NREC_DIST_REF_ID';
33819 l_rec_acct_attrs.array_num_value(39) := p_source_53;
33820 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_SUMMARY_LINE_REF_ID';
33821 l_rec_acct_attrs.array_num_value(40) := p_source_54;
33822 l_rec_acct_attrs.array_acct_attr_code(41) := 'UPG_CR_ENC_TYPE_ID';
33823 l_rec_acct_attrs.array_num_value(41) := p_source_55;
33824 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_DR_ENC_TYPE_ID';
33825 l_rec_acct_attrs.array_num_value(42) := p_source_56;
33826
33827 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
33828 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
33829
33830 ---------------------------------------------------------------------------------------------------------------
33831 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
33832 ---------------------------------------------------------------------------------------------------------------
33833 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
33834
33835 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
33836 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
33837
33838 IF xla_accounting_cache_pkg.GetValueChar
33839 (p_source_code => 'LEDGER_CATEGORY_CODE'
33840 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
33841 AND l_bflow_method_code = 'PRIOR_ENTRY'
33842 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
33843 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
33844 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
33845 )
33846 THEN
33847 xla_ae_lines_pkg.BflowUpgEntry
33848 (p_business_method_code => l_bflow_method_code
33849 ,p_business_class_code => l_bflow_class_code
33853 -- No business flow processing for business flow method of NONE.
33850 ,p_balance_type => l_balance_type_code);
33851 ELSE
33852 NULL;
33854 END IF;
33855
33856 --
33857 -- call analytical criteria
33858 --
33859
33860 --
33861 -- call description
33862 --
33863
33864 xla_ae_lines_pkg.SetLineDescription(
33865 p_ae_header_id => l_ae_header_id
33866 ,p_description => Description_2 (
33867 p_application_id => p_application_id
33868 , p_ae_header_id => l_ae_header_id
33869 , p_source_1 => p_source_1
33870 )
33871 );
33872
33873
33874 --
33875 -- call ADRs
33876 -- Bug 4922099
33877 --
33878 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
33879 (NVL(l_actual_upg_option, 'N') = 'O') OR
33880 (NVL(l_enc_upg_option, 'N') = 'O')
33881 )
33882 THEN
33883 NULL;
33884 --
33885 --
33886
33887 l_ccid := AcctDerRule_7(
33888 p_application_id => p_application_id
33889 , p_ae_header_id => l_ae_header_id
33890 , p_source_11 => p_source_11
33891 , x_transaction_coa_id => l_adr_transaction_coa_id
33892 , x_accounting_coa_id => l_adr_accounting_coa_id
33893 , x_value_type_code => l_adr_value_type_code
33894 , p_side => 'NA'
33895 );
33896
33897 xla_ae_lines_pkg.set_ccid(
33898 p_code_combination_id => l_ccid
33899 , p_value_type_code => l_adr_value_type_code
33900 , p_transaction_coa_id => l_adr_transaction_coa_id
33901 , p_accounting_coa_id => l_adr_accounting_coa_id
33902 , p_adr_code => 'AP_INVOICE_DIST'
33903 , p_adr_type_code => 'S'
33904 , p_component_type => l_component_type
33905 , p_component_code => l_component_code
33906 , p_component_type_code => l_component_type_code
33907 , p_component_appl_id => l_component_appl_id
33908 , p_amb_context_code => l_amb_context_code
33909 , p_side => 'NA'
33910 );
33911
33912
33913 --
33914 --
33915 END IF;
33916 --
33917 -- Bug 4922099
33918 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
33919 (NVL(l_enc_upg_option, 'N') = 'O')
33920 ) AND
33921 (l_bflow_method_code = 'PRIOR_ENTRY')
33922 )
33923 THEN
33924 IF
33925 --
33926 1 = 2
33927 --
33928 THEN
33929 xla_accounting_err_pkg.build_message
33930 (p_appli_s_name => 'XLA'
33931 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
33932 ,p_token_1 => 'LINE_NUMBER'
33933 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
33934 ,p_token_2 => 'LINE_TYPE_NAME'
33935 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
33936 l_component_type
33937 ,l_component_code
33938 ,l_component_type_code
33939 ,l_component_appl_id
33940 ,l_amb_context_code
33941 ,l_entity_code
33942 ,l_event_class_code
33943 )
33944 ,p_token_3 => 'OWNER'
33945 ,p_value_3 => xla_lookups_pkg.get_meaning(
33946 p_lookup_type => 'XLA_OWNER_TYPE'
33947 ,p_lookup_code => l_component_type_code
33948 )
33949 ,p_token_4 => 'PRODUCT_NAME'
33950 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
33951 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
33952 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
33953 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
33954 ,p_ae_header_id => NULL
33955 );
33956
33957 IF (C_LEVEL_ERROR>= g_log_level) THEN
33958 trace
33959 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
33960 ,p_level => C_LEVEL_ERROR
33961 ,p_module => l_log_module);
33962 END IF;
33963 END IF;
33964 END IF;
33965 --
33969 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
33966 --
33967 ------------------------------------------------------------------------------------------------
33968 -- 4219869 Business Flow
33970 -- Prior Entry. Currently, the following code is always generated.
33971 ------------------------------------------------------------------------------------------------
33972 XLA_AE_LINES_PKG.ValidateCurrentLine;
33973
33974 ------------------------------------------------------------------------------------
33975 -- 4219869 Business Flow
33976 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
33977 ------------------------------------------------------------------------------------
33978 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
33979
33980 ----------------------------------------------------------------------------------
33981 -- 4219869 Business Flow
33982 -- Update journal entry status -- Need to generate this within IF <condition>
33983 ----------------------------------------------------------------------------------
33984 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
33985 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
33986 ,p_balance_type_code => l_balance_type_code
33987 );
33988
33989 -------------------------------------------------------------------------------------------
33990 -- 4262811 - Generate the Accrual Reversal lines
33991 -------------------------------------------------------------------------------------------
33992 BEGIN
33993 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
33994 (g_array_event(p_event_id).array_value_num('header_index'));
33995 IF l_acc_rev_flag IS NULL THEN
33996 l_acc_rev_flag := 'N';
33997 END IF;
33998 EXCEPTION
33999 WHEN OTHERS THEN
34000 l_acc_rev_flag := 'N';
34001 END;
34002 --
34003 IF (l_acc_rev_flag = 'Y') THEN
34004
34005 -- 4645092 ------------------------------------------------------------------------------
34006 -- To allow MPA report to determine if it should generate report process
34007 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
34008 ------------------------------------------------------------------------------------------
34009
34010 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
34011 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
34012 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
34013 -- call ADRs
34014 -- Bug 4922099
34015 --
34016 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
34017 (NVL(l_actual_upg_option, 'N') = 'O') OR
34018 (NVL(l_enc_upg_option, 'N') = 'O')
34019 )
34020 THEN
34021 NULL;
34022 --
34023 --
34024
34025 l_ccid := AcctDerRule_7(
34026 p_application_id => p_application_id
34027 , p_ae_header_id => l_ae_header_id
34028 , p_source_11 => p_source_11
34029 , x_transaction_coa_id => l_adr_transaction_coa_id
34030 , x_accounting_coa_id => l_adr_accounting_coa_id
34031 , x_value_type_code => l_adr_value_type_code
34032 , p_side => 'NA'
34033 );
34034
34035 xla_ae_lines_pkg.set_ccid(
34036 p_code_combination_id => l_ccid
34037 , p_value_type_code => l_adr_value_type_code
34038 , p_transaction_coa_id => l_adr_transaction_coa_id
34039 , p_accounting_coa_id => l_adr_accounting_coa_id
34040 , p_adr_code => 'AP_INVOICE_DIST'
34041 , p_adr_type_code => 'S'
34042 , p_component_type => l_component_type
34043 , p_component_code => l_component_code
34044 , p_component_type_code => l_component_type_code
34045 , p_component_appl_id => l_component_appl_id
34046 , p_amb_context_code => l_amb_context_code
34047 , p_side => 'NA'
34048 );
34049
34050
34051 --
34052 --
34053 END IF;
34054
34055 --
34056 -- Update the line information that should be overwritten
34057 --
34058 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
34059 p_header_num => 1);
34060 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
34061
34062 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
34063
34064 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
34065 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
34066 END IF;
34067
34068 --
34069 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
34070 --
34071 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
34072 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
34073 ELSE
34074 ---------------------------------------------------------------------------------------------------
34075 -- 4262811a Switch Sign
34076 ---------------------------------------------------------------------------------------------------
34080 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
34077 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
34078 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
34079 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
34081 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
34082 -- 5132302
34083 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
34084 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
34085
34086 END IF;
34087
34088 -- 4955764
34089 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
34090 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
34091
34092
34093 XLA_AE_LINES_PKG.ValidateCurrentLine;
34094 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
34095
34096 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
34097 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
34098 ,p_balance_type_code => l_balance_type_code);
34099
34100 END IF;
34101
34102 -----------------------------------------------------------------------------------------
34103 -- 4262811 Multiperiod Accounting
34104 -----------------------------------------------------------------------------------------
34105 -- No MPA option is assigned.
34106
34107
34108 END IF;
34109 END IF;
34110 --
34111
34112 --
34113 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
34114 trace
34115 (p_msg => 'END of AcctLineType_58'
34116 ,p_level => C_LEVEL_PROCEDURE
34117 ,p_module => l_log_module);
34118 END IF;
34119 --
34120 EXCEPTION
34121 WHEN xla_exceptions_pkg.application_exception THEN
34122 RAISE;
34123 WHEN OTHERS THEN
34124 xla_exceptions_pkg.raise_message
34125 (p_location => 'XLA_00200_AAD_S_000006_BC_PKG.AcctLineType_58');
34126 END AcctLineType_58;
34127 --
34128
34129 ---------------------------------------
34130 --
34131 -- PRIVATE FUNCTION
34132 -- AcctLineType_59
34133 --
34134 ---------------------------------------
34135 PROCEDURE AcctLineType_59 (
34136 p_application_id IN NUMBER
34137 ,p_event_id IN NUMBER
34138 ,p_calculate_acctd_flag IN VARCHAR2
34139 ,p_calculate_g_l_flag IN VARCHAR2
34140 ,p_actual_flag IN OUT VARCHAR2
34141 ,p_balance_type_code OUT VARCHAR2
34142 ,p_gain_or_loss_ref OUT VARCHAR2
34143
34144 --Invoice Distribution Description
34145 , p_source_1 IN VARCHAR2
34146 --Invoice Distribution Account
34147 , p_source_11 IN NUMBER
34148 --Invoice Distribution Type
34149 , p_source_15 IN VARCHAR2
34150 , p_source_15_meaning IN VARCHAR2
34151 --Purchasing Encumbrance Option
34152 , p_source_17 IN VARCHAR2
34153 , p_source_17_meaning IN VARCHAR2
34154 --Accounting Reversal Indicator
34155 , p_source_19 IN VARCHAR2
34156 --Distribution Link Type
34157 , p_source_21 IN VARCHAR2
34158 --Allocation to Main Distribution Identifier
34159 , p_source_23 IN NUMBER
34160 --Invoice Identifier
34161 , p_source_24 IN NUMBER
34162 --Business Flow Accounts Payable Application Identifier
34163 , p_source_25 IN NUMBER
34164 --Business Flow Invoice Distribution Type
34165 , p_source_26 IN VARCHAR2
34166 --Business Flow Invoice Entity Code
34167 , p_source_27 IN VARCHAR2
34168 --Business Flow Invoice Distribution Identifier
34169 , p_source_28 IN NUMBER
34170 --Business Flow Invoice Identifier
34171 , p_source_29 IN NUMBER
34172 --Invoice Distribution Identifier
34173 , p_source_30 IN NUMBER
34174 --Payables Encumbrance Upgrade Credit Account
34175 , p_source_31 IN NUMBER
34176 --Payables Encumbrance Upgrade Credit Amount
34177 , p_source_32 IN NUMBER
34178 --Invoice Currency Code
34179 , p_source_33 IN VARCHAR2
34180 --Payables Encumbrance Upgrade Credit Base Amount
34181 , p_source_34 IN NUMBER
34182 --Payables Encumbrance Upgrade Debit Account
34183 , p_source_35 IN NUMBER
34184 --Payables Encumbrance Upgrade Debit Amount
34185 , p_source_36 IN NUMBER
34186 --Payables Encumbrance Upgrade Debit Base Amount
34187 , p_source_37 IN NUMBER
34188 --Payables Encumbrance Upgrade Option
34189 , p_source_38 IN VARCHAR2
34190 --Invoice Exchange Date
34191 , p_source_39 IN DATE
34192 --Invoice Exchange Rate
34193 , p_source_40 IN NUMBER
34194 --Invoice Exchange Rate Type
34195 , p_source_41 IN VARCHAR2
34196 --Deferred Accounting End Date
34197 , p_source_43 IN DATE
34198 --Deferred Accounting Option
34199 , p_source_44 IN VARCHAR2
34200 --Deferred Accounting Start Date
34201 , p_source_45 IN DATE
34202 --Override Accounted Amount Indicator
34203 , p_source_46 IN VARCHAR2
34204 , p_source_46_meaning IN VARCHAR2
34205 --Invoice Supplier Identifier
34209 --Third Party Type
34206 , p_source_47 IN NUMBER
34207 --Invoice Supplier Site Identifier
34208 , p_source_48 IN NUMBER
34210 , p_source_49 IN VARCHAR2
34211 --Parent Reversal Identifier
34212 , p_source_50 IN NUMBER
34213 --Invoice Distribution Statistical Amount
34214 , p_source_51 IN NUMBER
34215 --Invoice Distribution Tax Line Identifier
34216 , p_source_52 IN NUMBER
34217 --Invoice Distribution Tax Distribution Identifier from Tax
34218 , p_source_53 IN NUMBER
34219 --Invoice Distribution Summary Tax Line Identifier
34220 , p_source_54 IN NUMBER
34221 --Payables Upgrade Credit Encumbrance Type Identifier
34222 , p_source_55 IN NUMBER
34223 --Payables Upgrade Debit Encumbrance Type Identifier
34224 , p_source_56 IN NUMBER
34225 --Invoice Distribution Amount
34226 , p_source_57 IN NUMBER
34227 --Self-Assessed Tax Flag
34228 , p_source_59 IN VARCHAR2
34229 , p_source_59_meaning IN VARCHAR2
34230 --Invoice Distribution Encumbrance Amount
34231 , p_source_65 IN NUMBER
34232 --Invoice Distribution Encumbrance Ledger Amount
34233 , p_source_66 IN NUMBER
34234 )
34235 IS
34236
34237 l_component_type VARCHAR2(80);
34238 l_component_code VARCHAR2(30);
34239 l_component_type_code VARCHAR2(1);
34240 l_component_appl_id INTEGER;
34241 l_amb_context_code VARCHAR2(30);
34242 l_entity_code VARCHAR2(30);
34243 l_event_class_code VARCHAR2(30);
34244 l_ae_header_id NUMBER;
34245 l_event_type_code VARCHAR2(30);
34246 l_line_definition_code VARCHAR2(30);
34247 l_line_definition_owner_code VARCHAR2(1);
34248 --
34249 -- adr variables
34250 l_segment VARCHAR2(30);
34251 l_ccid NUMBER;
34252 l_adr_transaction_coa_id NUMBER;
34253 l_adr_accounting_coa_id NUMBER;
34254 l_adr_flexfield_segment_code VARCHAR2(30);
34255 l_adr_flex_value_set_id NUMBER;
34256 l_adr_value_type_code VARCHAR2(30);
34257 l_adr_value_combination_id NUMBER;
34258 l_adr_value_segment_code VARCHAR2(30);
34259
34260 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
34261 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
34262 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
34263 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
34264
34265 -- 4262811 Variables ------------------------------------------------------------------------------------------
34266 l_entered_amt_idx NUMBER;
34267 l_accted_amt_idx NUMBER;
34268 l_acc_rev_flag VARCHAR2(1);
34269 l_accrual_line_num NUMBER;
34270 l_tmp_amt NUMBER;
34271 l_acc_rev_natural_side_code VARCHAR2(1);
34272
34273 l_num_entries NUMBER;
34274 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
34275 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
34276 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
34277 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
34278 l_recog_line_1 NUMBER;
34279 l_recog_line_2 NUMBER;
34280
34281 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
34282 l_bflow_applied_to_amt NUMBER; -- 5132302
34283 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
34284
34285 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
34286
34287 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
34288 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
34289
34290 ---------------------------------------------------------------------------------------------------------------
34291
34292
34293 --
34294 -- bulk performance
34295 --
34296 l_balance_type_code VARCHAR2(1);
34297 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
34298 l_log_module VARCHAR2(240);
34299
34300 --
34301 -- Upgrade strategy
34302 --
34303 l_actual_upg_option VARCHAR2(1);
34304 l_enc_upg_option VARCHAR2(1);
34305
34306 --
34307 BEGIN
34308 --
34309 IF g_log_enabled THEN
34310 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_59';
34311 END IF;
34312 --
34313 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
34314
34315 trace
34316 (p_msg => 'BEGIN of AcctLineType_59'
34317 ,p_level => C_LEVEL_PROCEDURE
34318 ,p_module => l_log_module);
34319
34320 END IF;
34321 --
34322 l_component_type := 'AMB_JLT';
34323 l_component_code := 'AP_RECOV_TAX_INV_ENC_DR';
34324 l_component_type_code := 'S';
34325 l_component_appl_id := 200;
34326 l_amb_context_code := 'DEFAULT';
34327 l_entity_code := 'AP_INVOICES';
34328 l_event_class_code := 'INVOICES';
34329 l_event_type_code := 'INVOICES_ALL';
34330 l_line_definition_owner_code := 'S';
34331 l_line_definition_code := 'ENC_INVOICES_ALL';
34332 --
34333 l_balance_type_code := 'E';
34334 l_segment := NULL;
34335 l_ccid := NULL;
34336 l_adr_transaction_coa_id := NULL;
34337 l_adr_accounting_coa_id := NULL;
34341 l_adr_value_combination_id := NULL;
34338 l_adr_flexfield_segment_code := NULL;
34339 l_adr_flex_value_set_id := NULL;
34340 l_adr_value_type_code := NULL;
34342 l_adr_value_segment_code := NULL;
34343
34344 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
34345 l_bflow_class_code := 'AP_INV_ENCUM'; -- 4219869 Business Flow
34346 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
34347 l_budgetary_control_flag := 'Y';
34348
34349 l_bflow_applied_to_amt_idx := NULL; -- 5132302
34350 l_bflow_applied_to_amt := NULL; -- 5132302
34351 l_entered_amt_idx := NULL; -- 4262811
34352 l_accted_amt_idx := NULL; -- 4262811
34353 l_acc_rev_flag := NULL; -- 4262811
34354 l_accrual_line_num := NULL; -- 4262811
34355 l_tmp_amt := NULL; -- 4262811
34356 --
34357
34358 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
34359 l_balance_type_code <> 'B' THEN
34360 IF NVL(p_source_15,'
34361 ') = 'REC_TAX' AND
34362 NVL(p_source_59,'
34363 ') <> 'Y' AND
34364 NVL(p_source_17,'
34365 ') = 'Y'
34366 THEN
34367
34368 --
34369 XLA_AE_LINES_PKG.SetNewLine;
34370
34371 p_balance_type_code := l_balance_type_code;
34372 -- set the flag so later we will know whether the gain loss line needs to be created
34373
34374 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
34375 p_actual_flag :='A';
34376 END IF;
34377
34378 --
34379 -- bulk performance
34380 --
34381 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
34382 p_header_num => 0); -- 4262811
34383 --
34384 -- set accounting line options
34385 --
34386 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
34387 p_natural_side_code => 'D'
34388 , p_gain_or_loss_flag => 'N'
34389 , p_gl_transfer_mode_code => 'S'
34390 , p_acct_entry_type_code => 'E'
34391 , p_switch_side_flag => 'Y'
34392 , p_merge_duplicate_code => 'N'
34393 );
34394 --
34395 l_acc_rev_natural_side_code := 'C'; -- 4262811
34396 --
34397 --
34398 -- set accounting line type info
34399 --
34400 xla_ae_lines_pkg.SetAcctLineType
34401 (p_component_type => l_component_type
34402 ,p_event_type_code => l_event_type_code
34403 ,p_line_definition_owner_code => l_line_definition_owner_code
34404 ,p_line_definition_code => l_line_definition_code
34405 ,p_accounting_line_code => l_component_code
34406 ,p_accounting_line_type_code => l_component_type_code
34407 ,p_accounting_line_appl_id => l_component_appl_id
34408 ,p_amb_context_code => l_amb_context_code
34409 ,p_entity_code => l_entity_code
34410 ,p_event_class_code => l_event_class_code);
34411 --
34412 -- set accounting class
34413 --
34414 xla_ae_lines_pkg.SetAcctClass(
34415 p_accounting_class_code => 'RTAX'
34416 , p_ae_header_id => l_ae_header_id
34417 );
34418
34419 --
34420 -- set rounding class
34421 --
34422 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
34423 'RTAX';
34424
34425 --
34426 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
34427 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
34428 --
34429 -- bulk performance
34430 --
34431 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
34432
34433 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
34434 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
34435
34436 -- 4955764
34437 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
34438 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
34439
34440 -- 4458381 Public Sector Enh
34441 XLA_AE_LINES_PKG.g_rec_lines.array_encumbrance_type_id(XLA_AE_LINES_PKG.g_LineNumber) := 1060;
34442 --
34443 -- set accounting attributes for the line type
34444 --
34445 l_entered_amt_idx := 24;
34446 l_accted_amt_idx := 29;
34447 l_bflow_applied_to_amt_idx := 7; -- 5132302
34448 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
34449 l_rec_acct_attrs.array_char_value(1) := p_source_19;
34450 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
34451 l_rec_acct_attrs.array_num_value(2) :=
34452 xla_ae_sources_pkg.GetSystemSourceNum(
34453 p_source_code => 'XLA_EVENT_APPL_ID'
34454 , p_source_type_code => 'Y'
34455 , p_source_application_id => 602
34456 );
34457 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
34458 l_rec_acct_attrs.array_char_value(3) := p_source_21;
34459 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
34460 l_rec_acct_attrs.array_char_value(4) :=
34461 xla_ae_sources_pkg.GetSystemSourceChar(
34465 );
34462 p_source_code => 'XLA_ENTITY_CODE'
34463 , p_source_type_code => 'Y'
34464 , p_source_application_id => 602
34466 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
34467 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_23);
34468 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
34469 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_24);
34470 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_AMOUNT';
34471 l_rec_acct_attrs.array_num_value(7) := p_source_57;
34472 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_APPLICATION_ID';
34473 l_rec_acct_attrs.array_num_value(8) := p_source_25;
34474 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_DISTRIBUTION_TYPE';
34475 l_rec_acct_attrs.array_char_value(9) := p_source_26;
34476 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_ENTITY_CODE';
34477 l_rec_acct_attrs.array_char_value(10) := p_source_27;
34478 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_DIST_ID';
34479 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_28);
34480 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
34481 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_29);
34482 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
34483 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_30);
34484 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_TYPE';
34485 l_rec_acct_attrs.array_char_value(14) := p_source_21;
34486 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
34487 l_rec_acct_attrs.array_num_value(15) := p_source_31;
34488 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
34489 l_rec_acct_attrs.array_num_value(16) := p_source_32;
34490 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
34491 l_rec_acct_attrs.array_char_value(17) := p_source_33;
34492 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
34493 l_rec_acct_attrs.array_num_value(18) := p_source_34;
34494 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_CCID';
34495 l_rec_acct_attrs.array_num_value(19) := p_source_35;
34496 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_AMT';
34497 l_rec_acct_attrs.array_num_value(20) := p_source_36;
34498 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_CURR';
34499 l_rec_acct_attrs.array_char_value(21) := p_source_33;
34500 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_LEDGER_AMT';
34501 l_rec_acct_attrs.array_num_value(22) := p_source_37;
34502 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_OPTION';
34503 l_rec_acct_attrs.array_char_value(23) := p_source_38;
34504 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_AMOUNT';
34505 l_rec_acct_attrs.array_num_value(24) := p_source_65;
34506 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_CODE';
34507 l_rec_acct_attrs.array_char_value(25) := p_source_33;
34508 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_DATE';
34509 l_rec_acct_attrs.array_date_value(26) := p_source_39;
34510 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE';
34511 l_rec_acct_attrs.array_num_value(27) := p_source_40;
34512 l_rec_acct_attrs.array_acct_attr_code(28) := 'EXCHANGE_RATE_TYPE';
34513 l_rec_acct_attrs.array_char_value(28) := p_source_41;
34514 l_rec_acct_attrs.array_acct_attr_code(29) := 'LEDGER_AMOUNT';
34515 l_rec_acct_attrs.array_num_value(29) := p_source_66;
34516 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_END_DATE';
34517 l_rec_acct_attrs.array_date_value(30) := p_source_43;
34518 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_OPTION';
34519 l_rec_acct_attrs.array_char_value(31) := p_source_44;
34520 l_rec_acct_attrs.array_acct_attr_code(32) := 'MULTIPERIOD_START_DATE';
34521 l_rec_acct_attrs.array_date_value(32) := p_source_45;
34522 l_rec_acct_attrs.array_acct_attr_code(33) := 'OVERRIDE_ACCTD_AMT_FLAG';
34523 l_rec_acct_attrs.array_char_value(33) := p_source_46;
34524 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_ID';
34525 l_rec_acct_attrs.array_num_value(34) := p_source_47;
34526 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_SITE_ID';
34527 l_rec_acct_attrs.array_num_value(35) := p_source_48;
34528 l_rec_acct_attrs.array_acct_attr_code(36) := 'PARTY_TYPE';
34529 l_rec_acct_attrs.array_char_value(36) := p_source_49;
34530 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_ID1';
34531 l_rec_acct_attrs.array_num_value(37) := to_char(p_source_50);
34532 l_rec_acct_attrs.array_acct_attr_code(38) := 'REVERSED_DISTRIBUTION_TYPE';
34533 l_rec_acct_attrs.array_char_value(38) := p_source_21;
34534 l_rec_acct_attrs.array_acct_attr_code(39) := 'STATISTICAL_AMOUNT';
34535 l_rec_acct_attrs.array_num_value(39) := p_source_51;
34536 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_LINE_REF_ID';
34537 l_rec_acct_attrs.array_num_value(40) := p_source_52;
34538 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_REC_NREC_DIST_REF_ID';
34539 l_rec_acct_attrs.array_num_value(41) := p_source_53;
34540 l_rec_acct_attrs.array_acct_attr_code(42) := 'TAX_SUMMARY_LINE_REF_ID';
34541 l_rec_acct_attrs.array_num_value(42) := p_source_54;
34542 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_CR_ENC_TYPE_ID';
34543 l_rec_acct_attrs.array_num_value(43) := p_source_55;
34544 l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
34545 l_rec_acct_attrs.array_num_value(44) := p_source_56;
34546
34550 ---------------------------------------------------------------------------------------------------------------
34547 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
34548 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
34549
34551 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
34552 ---------------------------------------------------------------------------------------------------------------
34553 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
34554
34555 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
34556 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
34557
34558 IF xla_accounting_cache_pkg.GetValueChar
34559 (p_source_code => 'LEDGER_CATEGORY_CODE'
34560 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
34561 AND l_bflow_method_code = 'PRIOR_ENTRY'
34562 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
34563 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
34564 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
34565 )
34566 THEN
34567 xla_ae_lines_pkg.BflowUpgEntry
34568 (p_business_method_code => l_bflow_method_code
34569 ,p_business_class_code => l_bflow_class_code
34570 ,p_balance_type => l_balance_type_code);
34571 ELSE
34572 NULL;
34573 -- No business flow processing for business flow method of NONE.
34574 END IF;
34575
34576 --
34577 -- call analytical criteria
34578 --
34579
34580 --
34581 -- call description
34582 --
34583
34584 xla_ae_lines_pkg.SetLineDescription(
34585 p_ae_header_id => l_ae_header_id
34586 ,p_description => Description_2 (
34587 p_application_id => p_application_id
34588 , p_ae_header_id => l_ae_header_id
34589 , p_source_1 => p_source_1
34590 )
34591 );
34592
34593
34594 --
34595 -- call ADRs
34596 -- Bug 4922099
34597 --
34598 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
34599 (NVL(l_actual_upg_option, 'N') = 'O') OR
34600 (NVL(l_enc_upg_option, 'N') = 'O')
34601 )
34602 THEN
34603 NULL;
34604 --
34605 --
34606
34607 l_ccid := AcctDerRule_7(
34608 p_application_id => p_application_id
34609 , p_ae_header_id => l_ae_header_id
34610 , p_source_11 => p_source_11
34611 , x_transaction_coa_id => l_adr_transaction_coa_id
34612 , x_accounting_coa_id => l_adr_accounting_coa_id
34613 , x_value_type_code => l_adr_value_type_code
34614 , p_side => 'NA'
34615 );
34616
34617 xla_ae_lines_pkg.set_ccid(
34618 p_code_combination_id => l_ccid
34619 , p_value_type_code => l_adr_value_type_code
34620 , p_transaction_coa_id => l_adr_transaction_coa_id
34621 , p_accounting_coa_id => l_adr_accounting_coa_id
34622 , p_adr_code => 'AP_INVOICE_DIST'
34623 , p_adr_type_code => 'S'
34624 , p_component_type => l_component_type
34625 , p_component_code => l_component_code
34626 , p_component_type_code => l_component_type_code
34627 , p_component_appl_id => l_component_appl_id
34628 , p_amb_context_code => l_amb_context_code
34629 , p_side => 'NA'
34630 );
34631
34632
34633 --
34634 --
34635 END IF;
34636 --
34637 -- Bug 4922099
34638 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
34639 (NVL(l_enc_upg_option, 'N') = 'O')
34640 ) AND
34641 (l_bflow_method_code = 'PRIOR_ENTRY')
34642 )
34643 THEN
34644 IF
34645 --
34646 1 = 2
34647 --
34648 THEN
34649 xla_accounting_err_pkg.build_message
34650 (p_appli_s_name => 'XLA'
34651 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
34652 ,p_token_1 => 'LINE_NUMBER'
34653 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
34654 ,p_token_2 => 'LINE_TYPE_NAME'
34655 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
34656 l_component_type
34657 ,l_component_code
34658 ,l_component_type_code
34659 ,l_component_appl_id
34660 ,l_amb_context_code
34661 ,l_entity_code
34662 ,l_event_class_code
34663 )
34667 ,p_lookup_code => l_component_type_code
34664 ,p_token_3 => 'OWNER'
34665 ,p_value_3 => xla_lookups_pkg.get_meaning(
34666 p_lookup_type => 'XLA_OWNER_TYPE'
34668 )
34669 ,p_token_4 => 'PRODUCT_NAME'
34670 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
34671 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
34672 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
34673 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
34674 ,p_ae_header_id => NULL
34675 );
34676
34677 IF (C_LEVEL_ERROR>= g_log_level) THEN
34678 trace
34679 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
34680 ,p_level => C_LEVEL_ERROR
34681 ,p_module => l_log_module);
34682 END IF;
34683 END IF;
34684 END IF;
34685 --
34686 --
34687 ------------------------------------------------------------------------------------------------
34688 -- 4219869 Business Flow
34689 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
34690 -- Prior Entry. Currently, the following code is always generated.
34691 ------------------------------------------------------------------------------------------------
34692 XLA_AE_LINES_PKG.ValidateCurrentLine;
34693
34694 ------------------------------------------------------------------------------------
34695 -- 4219869 Business Flow
34696 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
34697 ------------------------------------------------------------------------------------
34698 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
34699
34700 ----------------------------------------------------------------------------------
34701 -- 4219869 Business Flow
34702 -- Update journal entry status -- Need to generate this within IF <condition>
34703 ----------------------------------------------------------------------------------
34704 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
34705 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
34706 ,p_balance_type_code => l_balance_type_code
34707 );
34708
34709 -------------------------------------------------------------------------------------------
34710 -- 4262811 - Generate the Accrual Reversal lines
34711 -------------------------------------------------------------------------------------------
34712 BEGIN
34713 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
34714 (g_array_event(p_event_id).array_value_num('header_index'));
34715 IF l_acc_rev_flag IS NULL THEN
34716 l_acc_rev_flag := 'N';
34717 END IF;
34718 EXCEPTION
34719 WHEN OTHERS THEN
34720 l_acc_rev_flag := 'N';
34721 END;
34722 --
34723 IF (l_acc_rev_flag = 'Y') THEN
34724
34725 -- 4645092 ------------------------------------------------------------------------------
34726 -- To allow MPA report to determine if it should generate report process
34727 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
34728 ------------------------------------------------------------------------------------------
34729
34730 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
34731 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
34732 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
34733 -- call ADRs
34734 -- Bug 4922099
34735 --
34736 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
34737 (NVL(l_actual_upg_option, 'N') = 'O') OR
34738 (NVL(l_enc_upg_option, 'N') = 'O')
34739 )
34740 THEN
34741 NULL;
34742 --
34743 --
34744
34745 l_ccid := AcctDerRule_7(
34746 p_application_id => p_application_id
34747 , p_ae_header_id => l_ae_header_id
34748 , p_source_11 => p_source_11
34749 , x_transaction_coa_id => l_adr_transaction_coa_id
34750 , x_accounting_coa_id => l_adr_accounting_coa_id
34751 , x_value_type_code => l_adr_value_type_code
34752 , p_side => 'NA'
34753 );
34754
34755 xla_ae_lines_pkg.set_ccid(
34756 p_code_combination_id => l_ccid
34757 , p_value_type_code => l_adr_value_type_code
34758 , p_transaction_coa_id => l_adr_transaction_coa_id
34759 , p_accounting_coa_id => l_adr_accounting_coa_id
34760 , p_adr_code => 'AP_INVOICE_DIST'
34761 , p_adr_type_code => 'S'
34762 , p_component_type => l_component_type
34763 , p_component_code => l_component_code
34764 , p_component_type_code => l_component_type_code
34765 , p_component_appl_id => l_component_appl_id
34766 , p_amb_context_code => l_amb_context_code
34770
34767 , p_side => 'NA'
34768 );
34769
34771 --
34772 --
34773 END IF;
34774
34775 --
34776 -- Update the line information that should be overwritten
34777 --
34778 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
34779 p_header_num => 1);
34780 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
34781
34782 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
34783
34784 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
34785 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
34786 END IF;
34787
34788 --
34789 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
34790 --
34791 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
34792 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
34793 ELSE
34794 ---------------------------------------------------------------------------------------------------
34795 -- 4262811a Switch Sign
34796 ---------------------------------------------------------------------------------------------------
34797 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
34798 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
34799 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
34800 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
34801 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
34802 -- 5132302
34803 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
34804 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
34805
34806 END IF;
34807
34808 -- 4955764
34809 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
34810 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
34811
34812
34813 XLA_AE_LINES_PKG.ValidateCurrentLine;
34814 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
34815
34816 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
34817 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
34818 ,p_balance_type_code => l_balance_type_code);
34819
34820 END IF;
34821
34822 -----------------------------------------------------------------------------------------
34823 -- 4262811 Multiperiod Accounting
34824 -----------------------------------------------------------------------------------------
34825 -- No MPA option is assigned.
34826
34827
34828 END IF;
34829 END IF;
34830 --
34831
34832 --
34833 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
34834 trace
34835 (p_msg => 'END of AcctLineType_59'
34836 ,p_level => C_LEVEL_PROCEDURE
34837 ,p_module => l_log_module);
34838 END IF;
34839 --
34840 EXCEPTION
34841 WHEN xla_exceptions_pkg.application_exception THEN
34842 RAISE;
34843 WHEN OTHERS THEN
34844 xla_exceptions_pkg.raise_message
34845 (p_location => 'XLA_00200_AAD_S_000006_BC_PKG.AcctLineType_59');
34846 END AcctLineType_59;
34847 --
34848
34849 ---------------------------------------
34850 --
34851 -- PRIVATE FUNCTION
34852 -- AcctLineType_60
34853 --
34854 ---------------------------------------
34855 PROCEDURE AcctLineType_60 (
34856 p_application_id IN NUMBER
34857 ,p_event_id IN NUMBER
34858 ,p_calculate_acctd_flag IN VARCHAR2
34859 ,p_calculate_g_l_flag IN VARCHAR2
34860 ,p_actual_flag IN OUT VARCHAR2
34861 ,p_balance_type_code OUT VARCHAR2
34862 ,p_gain_or_loss_ref OUT VARCHAR2
34863
34864 --Invoice Distribution Description
34865 , p_source_1 IN VARCHAR2
34866 --Invoice Distribution Account
34867 , p_source_11 IN NUMBER
34868 --Invoice Distribution Type
34869 , p_source_15 IN VARCHAR2
34870 , p_source_15_meaning IN VARCHAR2
34871 --Purchasing Encumbrance Option
34872 , p_source_17 IN VARCHAR2
34873 , p_source_17_meaning IN VARCHAR2
34874 --Accounting Reversal Indicator
34875 , p_source_19 IN VARCHAR2
34876 --Distribution Link Type
34877 , p_source_21 IN VARCHAR2
34878 --Allocation to Main Distribution Identifier
34879 , p_source_23 IN NUMBER
34880 --Invoice Identifier
34881 , p_source_24 IN NUMBER
34882 --Business Flow Accounts Payable Application Identifier
34883 , p_source_25 IN NUMBER
34884 --Business Flow Invoice Distribution Type
34885 , p_source_26 IN VARCHAR2
34886 --Business Flow Invoice Entity Code
34887 , p_source_27 IN VARCHAR2
34888 --Business Flow Invoice Distribution Identifier
34889 , p_source_28 IN NUMBER
34890 --Business Flow Invoice Identifier
34891 , p_source_29 IN NUMBER
34895 , p_source_31 IN NUMBER
34892 --Invoice Distribution Identifier
34893 , p_source_30 IN NUMBER
34894 --Payables Encumbrance Upgrade Credit Account
34896 --Payables Encumbrance Upgrade Credit Amount
34897 , p_source_32 IN NUMBER
34898 --Invoice Currency Code
34899 , p_source_33 IN VARCHAR2
34900 --Payables Encumbrance Upgrade Credit Base Amount
34901 , p_source_34 IN NUMBER
34902 --Payables Encumbrance Upgrade Debit Account
34903 , p_source_35 IN NUMBER
34904 --Payables Encumbrance Upgrade Debit Amount
34905 , p_source_36 IN NUMBER
34906 --Payables Encumbrance Upgrade Debit Base Amount
34907 , p_source_37 IN NUMBER
34908 --Payables Encumbrance Upgrade Option
34909 , p_source_38 IN VARCHAR2
34910 --Invoice Exchange Date
34911 , p_source_39 IN DATE
34912 --Invoice Exchange Rate
34913 , p_source_40 IN NUMBER
34914 --Invoice Exchange Rate Type
34915 , p_source_41 IN VARCHAR2
34916 --Deferred Accounting End Date
34917 , p_source_43 IN DATE
34918 --Deferred Accounting Option
34919 , p_source_44 IN VARCHAR2
34920 --Deferred Accounting Start Date
34921 , p_source_45 IN DATE
34922 --Override Accounted Amount Indicator
34923 , p_source_46 IN VARCHAR2
34924 , p_source_46_meaning IN VARCHAR2
34925 --Invoice Supplier Identifier
34926 , p_source_47 IN NUMBER
34927 --Invoice Supplier Site Identifier
34928 , p_source_48 IN NUMBER
34929 --Third Party Type
34930 , p_source_49 IN VARCHAR2
34931 --Parent Reversal Identifier
34932 , p_source_50 IN NUMBER
34933 --Invoice Distribution Statistical Amount
34934 , p_source_51 IN NUMBER
34935 --Invoice Distribution Tax Line Identifier
34936 , p_source_52 IN NUMBER
34937 --Invoice Distribution Tax Distribution Identifier from Tax
34938 , p_source_53 IN NUMBER
34939 --Invoice Distribution Summary Tax Line Identifier
34940 , p_source_54 IN NUMBER
34941 --Payables Upgrade Credit Encumbrance Type Identifier
34942 , p_source_55 IN NUMBER
34943 --Payables Upgrade Debit Encumbrance Type Identifier
34944 , p_source_56 IN NUMBER
34945 --Self-Assessed Tax Flag
34946 , p_source_59 IN VARCHAR2
34947 , p_source_59_meaning IN VARCHAR2
34948 --Invoice Distribution Encumbrance Amount
34949 , p_source_65 IN NUMBER
34950 --Invoice Distribution Encumbrance Ledger Amount
34951 , p_source_66 IN NUMBER
34952 )
34953 IS
34954
34955 l_component_type VARCHAR2(80);
34956 l_component_code VARCHAR2(30);
34957 l_component_type_code VARCHAR2(1);
34958 l_component_appl_id INTEGER;
34959 l_amb_context_code VARCHAR2(30);
34960 l_entity_code VARCHAR2(30);
34961 l_event_class_code VARCHAR2(30);
34962 l_ae_header_id NUMBER;
34963 l_event_type_code VARCHAR2(30);
34964 l_line_definition_code VARCHAR2(30);
34965 l_line_definition_owner_code VARCHAR2(1);
34966 --
34967 -- adr variables
34968 l_segment VARCHAR2(30);
34969 l_ccid NUMBER;
34970 l_adr_transaction_coa_id NUMBER;
34971 l_adr_accounting_coa_id NUMBER;
34972 l_adr_flexfield_segment_code VARCHAR2(30);
34973 l_adr_flex_value_set_id NUMBER;
34974 l_adr_value_type_code VARCHAR2(30);
34975 l_adr_value_combination_id NUMBER;
34976 l_adr_value_segment_code VARCHAR2(30);
34977
34978 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
34979 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
34980 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
34981 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
34982
34983 -- 4262811 Variables ------------------------------------------------------------------------------------------
34984 l_entered_amt_idx NUMBER;
34985 l_accted_amt_idx NUMBER;
34986 l_acc_rev_flag VARCHAR2(1);
34987 l_accrual_line_num NUMBER;
34988 l_tmp_amt NUMBER;
34989 l_acc_rev_natural_side_code VARCHAR2(1);
34990
34991 l_num_entries NUMBER;
34992 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
34993 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
34994 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
34995 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
34996 l_recog_line_1 NUMBER;
34997 l_recog_line_2 NUMBER;
34998
34999 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
35000 l_bflow_applied_to_amt NUMBER; -- 5132302
35001 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
35002
35003 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
35004
35005 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
35006 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
35007
35008 ---------------------------------------------------------------------------------------------------------------
35009
35010
35011 --
35012 -- bulk performance
35013 --
35014 l_balance_type_code VARCHAR2(1);
35015 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
35016 l_log_module VARCHAR2(240);
35020 --
35017
35018 --
35019 -- Upgrade strategy
35021 l_actual_upg_option VARCHAR2(1);
35022 l_enc_upg_option VARCHAR2(1);
35023
35024 --
35025 BEGIN
35026 --
35027 IF g_log_enabled THEN
35028 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_60';
35029 END IF;
35030 --
35031 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
35032
35033 trace
35034 (p_msg => 'BEGIN of AcctLineType_60'
35035 ,p_level => C_LEVEL_PROCEDURE
35036 ,p_module => l_log_module);
35037
35038 END IF;
35039 --
35040 l_component_type := 'AMB_JLT';
35041 l_component_code := 'AP_RECOV_TAX_PP_ENC_DR';
35042 l_component_type_code := 'S';
35043 l_component_appl_id := 200;
35044 l_amb_context_code := 'DEFAULT';
35045 l_entity_code := 'AP_INVOICES';
35046 l_event_class_code := 'PREPAYMENTS';
35047 l_event_type_code := 'PREPAYMENTS_ALL';
35048 l_line_definition_owner_code := 'S';
35049 l_line_definition_code := 'ENC_PREPAY_ALL';
35050 --
35051 l_balance_type_code := 'E';
35052 l_segment := NULL;
35053 l_ccid := NULL;
35054 l_adr_transaction_coa_id := NULL;
35055 l_adr_accounting_coa_id := NULL;
35056 l_adr_flexfield_segment_code := NULL;
35057 l_adr_flex_value_set_id := NULL;
35058 l_adr_value_type_code := NULL;
35059 l_adr_value_combination_id := NULL;
35060 l_adr_value_segment_code := NULL;
35061
35062 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
35063 l_bflow_class_code := 'AP_INV_ENCUM'; -- 4219869 Business Flow
35064 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
35065 l_budgetary_control_flag := 'Y';
35066
35067 l_bflow_applied_to_amt_idx := NULL; -- 5132302
35068 l_bflow_applied_to_amt := NULL; -- 5132302
35069 l_entered_amt_idx := NULL; -- 4262811
35070 l_accted_amt_idx := NULL; -- 4262811
35071 l_acc_rev_flag := NULL; -- 4262811
35072 l_accrual_line_num := NULL; -- 4262811
35073 l_tmp_amt := NULL; -- 4262811
35074 --
35075
35076 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
35077 l_balance_type_code <> 'B' THEN
35078 IF NVL(p_source_15,'
35079 ') = 'REC_TAX' AND
35080 NVL(p_source_59,'
35081 ') <> 'Y' AND
35082 NVL(p_source_17,'
35083 ') = 'Y'
35084 THEN
35085
35086 --
35087 XLA_AE_LINES_PKG.SetNewLine;
35088
35089 p_balance_type_code := l_balance_type_code;
35090 -- set the flag so later we will know whether the gain loss line needs to be created
35091
35092 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
35093 p_actual_flag :='A';
35094 END IF;
35095
35096 --
35097 -- bulk performance
35098 --
35099 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
35100 p_header_num => 0); -- 4262811
35101 --
35102 -- set accounting line options
35103 --
35104 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
35105 p_natural_side_code => 'D'
35106 , p_gain_or_loss_flag => 'N'
35107 , p_gl_transfer_mode_code => 'S'
35108 , p_acct_entry_type_code => 'E'
35109 , p_switch_side_flag => 'Y'
35110 , p_merge_duplicate_code => 'N'
35111 );
35112 --
35113 l_acc_rev_natural_side_code := 'C'; -- 4262811
35114 --
35115 --
35116 -- set accounting line type info
35117 --
35118 xla_ae_lines_pkg.SetAcctLineType
35119 (p_component_type => l_component_type
35120 ,p_event_type_code => l_event_type_code
35121 ,p_line_definition_owner_code => l_line_definition_owner_code
35122 ,p_line_definition_code => l_line_definition_code
35123 ,p_accounting_line_code => l_component_code
35124 ,p_accounting_line_type_code => l_component_type_code
35125 ,p_accounting_line_appl_id => l_component_appl_id
35126 ,p_amb_context_code => l_amb_context_code
35127 ,p_entity_code => l_entity_code
35128 ,p_event_class_code => l_event_class_code);
35129 --
35130 -- set accounting class
35131 --
35132 xla_ae_lines_pkg.SetAcctClass(
35133 p_accounting_class_code => 'RTAX'
35134 , p_ae_header_id => l_ae_header_id
35135 );
35136
35137 --
35138 -- set rounding class
35139 --
35140 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
35141 'RTAX';
35142
35143 --
35144 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
35145 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
35146 --
35147 -- bulk performance
35148 --
35149 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
35150
35151 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
35152 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
35156 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
35153
35154 -- 4955764
35155 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
35157
35158 -- 4458381 Public Sector Enh
35159 XLA_AE_LINES_PKG.g_rec_lines.array_encumbrance_type_id(XLA_AE_LINES_PKG.g_LineNumber) := 1060;
35160 --
35161 -- set accounting attributes for the line type
35162 --
35163 l_entered_amt_idx := 23;
35164 l_accted_amt_idx := 28;
35165 l_bflow_applied_to_amt_idx := NULL; -- 5132302
35166 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
35167 l_rec_acct_attrs.array_char_value(1) := p_source_19;
35168 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
35169 l_rec_acct_attrs.array_num_value(2) :=
35170 xla_ae_sources_pkg.GetSystemSourceNum(
35171 p_source_code => 'XLA_EVENT_APPL_ID'
35172 , p_source_type_code => 'Y'
35173 , p_source_application_id => 602
35174 );
35175 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
35176 l_rec_acct_attrs.array_char_value(3) := p_source_21;
35177 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
35178 l_rec_acct_attrs.array_char_value(4) :=
35179 xla_ae_sources_pkg.GetSystemSourceChar(
35180 p_source_code => 'XLA_ENTITY_CODE'
35181 , p_source_type_code => 'Y'
35182 , p_source_application_id => 602
35183 );
35184 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
35185 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_23);
35186 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
35187 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_24);
35188 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
35189 l_rec_acct_attrs.array_num_value(7) := p_source_25;
35190 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
35191 l_rec_acct_attrs.array_char_value(8) := p_source_26;
35192 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
35193 l_rec_acct_attrs.array_char_value(9) := p_source_27;
35194 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
35195 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_28);
35196 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
35197 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_29);
35198 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
35199 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_30);
35200 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
35201 l_rec_acct_attrs.array_char_value(13) := p_source_21;
35202 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
35203 l_rec_acct_attrs.array_num_value(14) := p_source_31;
35204 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
35205 l_rec_acct_attrs.array_num_value(15) := p_source_32;
35206 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
35207 l_rec_acct_attrs.array_char_value(16) := p_source_33;
35208 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
35209 l_rec_acct_attrs.array_num_value(17) := p_source_34;
35210 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
35211 l_rec_acct_attrs.array_num_value(18) := p_source_35;
35212 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
35213 l_rec_acct_attrs.array_num_value(19) := p_source_36;
35214 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
35215 l_rec_acct_attrs.array_char_value(20) := p_source_33;
35216 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
35217 l_rec_acct_attrs.array_num_value(21) := p_source_37;
35218 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
35219 l_rec_acct_attrs.array_char_value(22) := p_source_38;
35220 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
35221 l_rec_acct_attrs.array_num_value(23) := p_source_65;
35222 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
35223 l_rec_acct_attrs.array_char_value(24) := p_source_33;
35224 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
35225 l_rec_acct_attrs.array_date_value(25) := p_source_39;
35226 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
35227 l_rec_acct_attrs.array_num_value(26) := p_source_40;
35228 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
35229 l_rec_acct_attrs.array_char_value(27) := p_source_41;
35230 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
35231 l_rec_acct_attrs.array_num_value(28) := p_source_66;
35232 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
35233 l_rec_acct_attrs.array_date_value(29) := p_source_43;
35234 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
35235 l_rec_acct_attrs.array_char_value(30) := p_source_44;
35236 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
35237 l_rec_acct_attrs.array_date_value(31) := p_source_45;
35238 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
35239 l_rec_acct_attrs.array_char_value(32) := p_source_46;
35240 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
35241 l_rec_acct_attrs.array_num_value(33) := p_source_47;
35242 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
35243 l_rec_acct_attrs.array_num_value(34) := p_source_48;
35247 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_50);
35244 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
35245 l_rec_acct_attrs.array_char_value(35) := p_source_49;
35246 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
35248 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
35249 l_rec_acct_attrs.array_char_value(37) := p_source_21;
35250 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
35251 l_rec_acct_attrs.array_num_value(38) := p_source_51;
35252 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
35253 l_rec_acct_attrs.array_num_value(39) := p_source_52;
35254 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
35255 l_rec_acct_attrs.array_num_value(40) := p_source_53;
35256 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
35257 l_rec_acct_attrs.array_num_value(41) := p_source_54;
35258 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
35259 l_rec_acct_attrs.array_num_value(42) := p_source_55;
35260 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
35261 l_rec_acct_attrs.array_num_value(43) := p_source_56;
35262
35263 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
35264 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
35265
35266 ---------------------------------------------------------------------------------------------------------------
35267 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
35268 ---------------------------------------------------------------------------------------------------------------
35269 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
35270
35271 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
35272 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
35273
35274 IF xla_accounting_cache_pkg.GetValueChar
35275 (p_source_code => 'LEDGER_CATEGORY_CODE'
35276 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
35277 AND l_bflow_method_code = 'PRIOR_ENTRY'
35278 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
35279 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
35280 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
35281 )
35282 THEN
35283 xla_ae_lines_pkg.BflowUpgEntry
35284 (p_business_method_code => l_bflow_method_code
35285 ,p_business_class_code => l_bflow_class_code
35286 ,p_balance_type => l_balance_type_code);
35287 ELSE
35288 NULL;
35289 -- No business flow processing for business flow method of NONE.
35290 END IF;
35291
35292 --
35293 -- call analytical criteria
35294 --
35295
35296 --
35297 -- call description
35298 --
35299
35300 xla_ae_lines_pkg.SetLineDescription(
35301 p_ae_header_id => l_ae_header_id
35302 ,p_description => Description_2 (
35303 p_application_id => p_application_id
35304 , p_ae_header_id => l_ae_header_id
35305 , p_source_1 => p_source_1
35306 )
35307 );
35308
35309
35310 --
35311 -- call ADRs
35312 -- Bug 4922099
35313 --
35314 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
35315 (NVL(l_actual_upg_option, 'N') = 'O') OR
35316 (NVL(l_enc_upg_option, 'N') = 'O')
35317 )
35318 THEN
35319 NULL;
35320 --
35321 --
35322
35323 l_ccid := AcctDerRule_7(
35324 p_application_id => p_application_id
35325 , p_ae_header_id => l_ae_header_id
35326 , p_source_11 => p_source_11
35327 , x_transaction_coa_id => l_adr_transaction_coa_id
35328 , x_accounting_coa_id => l_adr_accounting_coa_id
35329 , x_value_type_code => l_adr_value_type_code
35330 , p_side => 'NA'
35331 );
35332
35333 xla_ae_lines_pkg.set_ccid(
35334 p_code_combination_id => l_ccid
35335 , p_value_type_code => l_adr_value_type_code
35336 , p_transaction_coa_id => l_adr_transaction_coa_id
35337 , p_accounting_coa_id => l_adr_accounting_coa_id
35338 , p_adr_code => 'AP_INVOICE_DIST'
35339 , p_adr_type_code => 'S'
35340 , p_component_type => l_component_type
35341 , p_component_code => l_component_code
35342 , p_component_type_code => l_component_type_code
35343 , p_component_appl_id => l_component_appl_id
35344 , p_amb_context_code => l_amb_context_code
35345 , p_side => 'NA'
35346 );
35347
35348
35349 --
35350 --
35351 END IF;
35352 --
35353 -- Bug 4922099
35354 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
35355 (NVL(l_enc_upg_option, 'N') = 'O')
35356 ) AND
35357 (l_bflow_method_code = 'PRIOR_ENTRY')
35358 )
35359 THEN
35360 IF
35361 --
35362 1 = 2
35363 --
35364 THEN
35365 xla_accounting_err_pkg.build_message
35369 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
35366 (p_appli_s_name => 'XLA'
35367 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
35368 ,p_token_1 => 'LINE_NUMBER'
35370 ,p_token_2 => 'LINE_TYPE_NAME'
35371 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
35372 l_component_type
35373 ,l_component_code
35374 ,l_component_type_code
35375 ,l_component_appl_id
35376 ,l_amb_context_code
35377 ,l_entity_code
35378 ,l_event_class_code
35379 )
35380 ,p_token_3 => 'OWNER'
35381 ,p_value_3 => xla_lookups_pkg.get_meaning(
35382 p_lookup_type => 'XLA_OWNER_TYPE'
35383 ,p_lookup_code => l_component_type_code
35384 )
35385 ,p_token_4 => 'PRODUCT_NAME'
35386 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
35387 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
35388 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
35389 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
35390 ,p_ae_header_id => NULL
35391 );
35392
35393 IF (C_LEVEL_ERROR>= g_log_level) THEN
35394 trace
35395 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
35396 ,p_level => C_LEVEL_ERROR
35397 ,p_module => l_log_module);
35398 END IF;
35399 END IF;
35400 END IF;
35401 --
35402 --
35403 ------------------------------------------------------------------------------------------------
35404 -- 4219869 Business Flow
35405 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
35406 -- Prior Entry. Currently, the following code is always generated.
35407 ------------------------------------------------------------------------------------------------
35408 XLA_AE_LINES_PKG.ValidateCurrentLine;
35409
35410 ------------------------------------------------------------------------------------
35411 -- 4219869 Business Flow
35412 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
35413 ------------------------------------------------------------------------------------
35414 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
35415
35416 ----------------------------------------------------------------------------------
35417 -- 4219869 Business Flow
35418 -- Update journal entry status -- Need to generate this within IF <condition>
35419 ----------------------------------------------------------------------------------
35420 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
35421 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
35422 ,p_balance_type_code => l_balance_type_code
35423 );
35424
35425 -------------------------------------------------------------------------------------------
35426 -- 4262811 - Generate the Accrual Reversal lines
35427 -------------------------------------------------------------------------------------------
35428 BEGIN
35429 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
35430 (g_array_event(p_event_id).array_value_num('header_index'));
35431 IF l_acc_rev_flag IS NULL THEN
35432 l_acc_rev_flag := 'N';
35433 END IF;
35434 EXCEPTION
35435 WHEN OTHERS THEN
35436 l_acc_rev_flag := 'N';
35437 END;
35438 --
35439 IF (l_acc_rev_flag = 'Y') THEN
35440
35441 -- 4645092 ------------------------------------------------------------------------------
35442 -- To allow MPA report to determine if it should generate report process
35443 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
35444 ------------------------------------------------------------------------------------------
35445
35446 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
35447 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
35448 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
35449 -- call ADRs
35450 -- Bug 4922099
35451 --
35452 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
35453 (NVL(l_actual_upg_option, 'N') = 'O') OR
35454 (NVL(l_enc_upg_option, 'N') = 'O')
35455 )
35456 THEN
35460
35457 NULL;
35458 --
35459 --
35461 l_ccid := AcctDerRule_7(
35462 p_application_id => p_application_id
35463 , p_ae_header_id => l_ae_header_id
35464 , p_source_11 => p_source_11
35465 , x_transaction_coa_id => l_adr_transaction_coa_id
35466 , x_accounting_coa_id => l_adr_accounting_coa_id
35467 , x_value_type_code => l_adr_value_type_code
35468 , p_side => 'NA'
35469 );
35470
35471 xla_ae_lines_pkg.set_ccid(
35472 p_code_combination_id => l_ccid
35473 , p_value_type_code => l_adr_value_type_code
35474 , p_transaction_coa_id => l_adr_transaction_coa_id
35475 , p_accounting_coa_id => l_adr_accounting_coa_id
35476 , p_adr_code => 'AP_INVOICE_DIST'
35477 , p_adr_type_code => 'S'
35478 , p_component_type => l_component_type
35479 , p_component_code => l_component_code
35480 , p_component_type_code => l_component_type_code
35481 , p_component_appl_id => l_component_appl_id
35482 , p_amb_context_code => l_amb_context_code
35483 , p_side => 'NA'
35484 );
35485
35486
35487 --
35488 --
35489 END IF;
35490
35491 --
35492 -- Update the line information that should be overwritten
35493 --
35494 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
35495 p_header_num => 1);
35496 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
35497
35498 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
35499
35500 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
35501 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
35502 END IF;
35503
35504 --
35505 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
35506 --
35507 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
35508 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
35509 ELSE
35510 ---------------------------------------------------------------------------------------------------
35511 -- 4262811a Switch Sign
35512 ---------------------------------------------------------------------------------------------------
35513 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
35514 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
35515 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
35516 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
35517 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
35518 -- 5132302
35519 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
35520 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
35521
35522 END IF;
35523
35524 -- 4955764
35525 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
35526 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
35527
35528
35529 XLA_AE_LINES_PKG.ValidateCurrentLine;
35530 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
35531
35532 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
35533 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
35534 ,p_balance_type_code => l_balance_type_code);
35535
35536 END IF;
35537
35538 -----------------------------------------------------------------------------------------
35539 -- 4262811 Multiperiod Accounting
35540 -----------------------------------------------------------------------------------------
35541 -- No MPA option is assigned.
35542
35543
35544 END IF;
35545 END IF;
35546 --
35547
35548 --
35549 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
35550 trace
35551 (p_msg => 'END of AcctLineType_60'
35552 ,p_level => C_LEVEL_PROCEDURE
35553 ,p_module => l_log_module);
35554 END IF;
35555 --
35556 EXCEPTION
35557 WHEN xla_exceptions_pkg.application_exception THEN
35558 RAISE;
35559 WHEN OTHERS THEN
35560 xla_exceptions_pkg.raise_message
35561 (p_location => 'XLA_00200_AAD_S_000006_BC_PKG.AcctLineType_60');
35562 END AcctLineType_60;
35563 --
35564
35565 ---------------------------------------
35566 --
35567 -- PRIVATE FUNCTION
35568 -- AcctLineType_61
35569 --
35570 ---------------------------------------
35571 PROCEDURE AcctLineType_61 (
35572 p_application_id IN NUMBER
35573 ,p_event_id IN NUMBER
35574 ,p_calculate_acctd_flag IN VARCHAR2
35575 ,p_calculate_g_l_flag IN VARCHAR2
35576 ,p_actual_flag IN OUT VARCHAR2
35577 ,p_balance_type_code OUT VARCHAR2
35578 ,p_gain_or_loss_ref OUT VARCHAR2
35579
35583 , p_source_13 IN NUMBER
35580 --Invoice Distribution Description
35581 , p_source_1 IN VARCHAR2
35582 --Self-Assessed Tax Account
35584 --Invoice Distribution Type
35585 , p_source_15 IN VARCHAR2
35586 , p_source_15_meaning IN VARCHAR2
35587 --Purchasing Encumbrance Option
35588 , p_source_17 IN VARCHAR2
35589 , p_source_17_meaning IN VARCHAR2
35590 --Accounting Reversal Indicator
35591 , p_source_19 IN VARCHAR2
35592 --Distribution Link Type
35593 , p_source_21 IN VARCHAR2
35594 --Allocation to Main Distribution Identifier
35595 , p_source_23 IN NUMBER
35596 --Invoice Identifier
35597 , p_source_24 IN NUMBER
35598 --Business Flow Accounts Payable Application Identifier
35599 , p_source_25 IN NUMBER
35600 --Business Flow Invoice Distribution Type
35601 , p_source_26 IN VARCHAR2
35602 --Business Flow Invoice Entity Code
35603 , p_source_27 IN VARCHAR2
35604 --Business Flow Invoice Distribution Identifier
35605 , p_source_28 IN NUMBER
35606 --Business Flow Invoice Identifier
35607 , p_source_29 IN NUMBER
35608 --Invoice Distribution Identifier
35609 , p_source_30 IN NUMBER
35610 --Payables Encumbrance Upgrade Credit Account
35611 , p_source_31 IN NUMBER
35612 --Payables Encumbrance Upgrade Credit Amount
35613 , p_source_32 IN NUMBER
35614 --Invoice Currency Code
35615 , p_source_33 IN VARCHAR2
35616 --Payables Encumbrance Upgrade Credit Base Amount
35617 , p_source_34 IN NUMBER
35618 --Payables Encumbrance Upgrade Debit Account
35619 , p_source_35 IN NUMBER
35620 --Payables Encumbrance Upgrade Debit Amount
35621 , p_source_36 IN NUMBER
35622 --Payables Encumbrance Upgrade Debit Base Amount
35623 , p_source_37 IN NUMBER
35624 --Payables Encumbrance Upgrade Option
35625 , p_source_38 IN VARCHAR2
35626 --Invoice Exchange Date
35627 , p_source_39 IN DATE
35628 --Invoice Exchange Rate
35629 , p_source_40 IN NUMBER
35630 --Invoice Exchange Rate Type
35631 , p_source_41 IN VARCHAR2
35632 --Deferred Accounting End Date
35633 , p_source_43 IN DATE
35634 --Deferred Accounting Option
35635 , p_source_44 IN VARCHAR2
35636 --Deferred Accounting Start Date
35637 , p_source_45 IN DATE
35638 --Override Accounted Amount Indicator
35639 , p_source_46 IN VARCHAR2
35640 , p_source_46_meaning IN VARCHAR2
35641 --Invoice Supplier Identifier
35642 , p_source_47 IN NUMBER
35643 --Invoice Supplier Site Identifier
35644 , p_source_48 IN NUMBER
35645 --Third Party Type
35646 , p_source_49 IN VARCHAR2
35647 --Parent Reversal Identifier
35648 , p_source_50 IN NUMBER
35649 --Invoice Distribution Statistical Amount
35650 , p_source_51 IN NUMBER
35651 --Invoice Distribution Tax Line Identifier
35652 , p_source_52 IN NUMBER
35653 --Invoice Distribution Tax Distribution Identifier from Tax
35654 , p_source_53 IN NUMBER
35655 --Invoice Distribution Summary Tax Line Identifier
35656 , p_source_54 IN NUMBER
35657 --Payables Upgrade Credit Encumbrance Type Identifier
35658 , p_source_55 IN NUMBER
35659 --Payables Upgrade Debit Encumbrance Type Identifier
35660 , p_source_56 IN NUMBER
35661 --Self-Assessed Tax Flag
35662 , p_source_59 IN VARCHAR2
35663 , p_source_59_meaning IN VARCHAR2
35664 --Invoice Distribution Encumbrance Amount
35665 , p_source_65 IN NUMBER
35666 --Invoice Distribution Encumbrance Ledger Amount
35667 , p_source_66 IN NUMBER
35668 )
35669 IS
35670
35671 l_component_type VARCHAR2(80);
35672 l_component_code VARCHAR2(30);
35673 l_component_type_code VARCHAR2(1);
35674 l_component_appl_id INTEGER;
35675 l_amb_context_code VARCHAR2(30);
35676 l_entity_code VARCHAR2(30);
35677 l_event_class_code VARCHAR2(30);
35678 l_ae_header_id NUMBER;
35679 l_event_type_code VARCHAR2(30);
35680 l_line_definition_code VARCHAR2(30);
35681 l_line_definition_owner_code VARCHAR2(1);
35682 --
35683 -- adr variables
35684 l_segment VARCHAR2(30);
35685 l_ccid NUMBER;
35686 l_adr_transaction_coa_id NUMBER;
35687 l_adr_accounting_coa_id NUMBER;
35688 l_adr_flexfield_segment_code VARCHAR2(30);
35689 l_adr_flex_value_set_id NUMBER;
35690 l_adr_value_type_code VARCHAR2(30);
35691 l_adr_value_combination_id NUMBER;
35692 l_adr_value_segment_code VARCHAR2(30);
35693
35694 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
35695 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
35696 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
35697 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
35698
35699 -- 4262811 Variables ------------------------------------------------------------------------------------------
35700 l_entered_amt_idx NUMBER;
35701 l_accted_amt_idx NUMBER;
35702 l_acc_rev_flag VARCHAR2(1);
35703 l_accrual_line_num NUMBER;
35704 l_tmp_amt NUMBER;
35705 l_acc_rev_natural_side_code VARCHAR2(1);
35706
35707 l_num_entries NUMBER;
35708 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
35712 l_recog_line_1 NUMBER;
35709 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
35710 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
35711 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
35713 l_recog_line_2 NUMBER;
35714
35715 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
35716 l_bflow_applied_to_amt NUMBER; -- 5132302
35717 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
35718
35719 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
35720
35721 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
35722 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
35723
35724 ---------------------------------------------------------------------------------------------------------------
35725
35726
35727 --
35728 -- bulk performance
35729 --
35730 l_balance_type_code VARCHAR2(1);
35731 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
35732 l_log_module VARCHAR2(240);
35733
35734 --
35735 -- Upgrade strategy
35736 --
35737 l_actual_upg_option VARCHAR2(1);
35738 l_enc_upg_option VARCHAR2(1);
35739
35740 --
35741 BEGIN
35742 --
35743 IF g_log_enabled THEN
35744 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_61';
35745 END IF;
35746 --
35747 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
35748
35749 trace
35750 (p_msg => 'BEGIN of AcctLineType_61'
35751 ,p_level => C_LEVEL_PROCEDURE
35752 ,p_module => l_log_module);
35753
35754 END IF;
35755 --
35756 l_component_type := 'AMB_JLT';
35757 l_component_code := 'AP_SELFASSDNREC_TAX_CM_ENC_DR';
35758 l_component_type_code := 'S';
35759 l_component_appl_id := 200;
35760 l_amb_context_code := 'DEFAULT';
35761 l_entity_code := 'AP_INVOICES';
35762 l_event_class_code := 'CREDIT MEMOS';
35763 l_event_type_code := 'CREDIT MEMOS_ALL';
35764 l_line_definition_owner_code := 'S';
35765 l_line_definition_code := 'ENC_CM_ALL';
35766 --
35767 l_balance_type_code := 'E';
35768 l_segment := NULL;
35769 l_ccid := NULL;
35770 l_adr_transaction_coa_id := NULL;
35771 l_adr_accounting_coa_id := NULL;
35772 l_adr_flexfield_segment_code := NULL;
35773 l_adr_flex_value_set_id := NULL;
35774 l_adr_value_type_code := NULL;
35775 l_adr_value_combination_id := NULL;
35776 l_adr_value_segment_code := NULL;
35777
35778 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
35779 l_bflow_class_code := 'AP_INV_ENCUM'; -- 4219869 Business Flow
35780 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
35781 l_budgetary_control_flag := 'Y';
35782
35783 l_bflow_applied_to_amt_idx := NULL; -- 5132302
35784 l_bflow_applied_to_amt := NULL; -- 5132302
35785 l_entered_amt_idx := NULL; -- 4262811
35786 l_accted_amt_idx := NULL; -- 4262811
35787 l_acc_rev_flag := NULL; -- 4262811
35788 l_accrual_line_num := NULL; -- 4262811
35789 l_tmp_amt := NULL; -- 4262811
35790 --
35791
35792 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
35793 l_balance_type_code <> 'B' THEN
35794 IF NVL(p_source_15,'
35795 ') = 'NONREC_TAX' AND
35796 NVL(p_source_59,'
35797 ') = 'Y' AND
35798 NVL(p_source_17,'
35799 ') = 'Y'
35800 THEN
35801
35802 --
35803 XLA_AE_LINES_PKG.SetNewLine;
35804
35805 p_balance_type_code := l_balance_type_code;
35806 -- set the flag so later we will know whether the gain loss line needs to be created
35807
35808 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
35809 p_actual_flag :='A';
35810 END IF;
35811
35812 --
35813 -- bulk performance
35814 --
35815 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
35816 p_header_num => 0); -- 4262811
35817 --
35818 -- set accounting line options
35819 --
35820 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
35821 p_natural_side_code => 'D'
35822 , p_gain_or_loss_flag => 'N'
35823 , p_gl_transfer_mode_code => 'S'
35824 , p_acct_entry_type_code => 'E'
35825 , p_switch_side_flag => 'Y'
35826 , p_merge_duplicate_code => 'N'
35827 );
35828 --
35829 l_acc_rev_natural_side_code := 'C'; -- 4262811
35830 --
35831 --
35832 -- set accounting line type info
35833 --
35834 xla_ae_lines_pkg.SetAcctLineType
35835 (p_component_type => l_component_type
35836 ,p_event_type_code => l_event_type_code
35837 ,p_line_definition_owner_code => l_line_definition_owner_code
35838 ,p_line_definition_code => l_line_definition_code
35839 ,p_accounting_line_code => l_component_code
35840 ,p_accounting_line_type_code => l_component_type_code
35844 ,p_event_class_code => l_event_class_code);
35841 ,p_accounting_line_appl_id => l_component_appl_id
35842 ,p_amb_context_code => l_amb_context_code
35843 ,p_entity_code => l_entity_code
35845 --
35846 -- set accounting class
35847 --
35848 xla_ae_lines_pkg.SetAcctClass(
35849 p_accounting_class_code => 'SELF_ASSESSED_TAX'
35850 , p_ae_header_id => l_ae_header_id
35851 );
35852
35853 --
35854 -- set rounding class
35855 --
35856 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
35857 'SELF_ASSESSED_TAX';
35858
35859 --
35860 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
35861 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
35862 --
35863 -- bulk performance
35864 --
35865 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
35866
35867 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
35868 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
35869
35870 -- 4955764
35871 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
35872 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
35873
35874 -- 4458381 Public Sector Enh
35875 XLA_AE_LINES_PKG.g_rec_lines.array_encumbrance_type_id(XLA_AE_LINES_PKG.g_LineNumber) := 1060;
35876 --
35877 -- set accounting attributes for the line type
35878 --
35879 l_entered_amt_idx := 23;
35880 l_accted_amt_idx := 28;
35881 l_bflow_applied_to_amt_idx := NULL; -- 5132302
35882 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
35883 l_rec_acct_attrs.array_char_value(1) := p_source_19;
35884 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
35885 l_rec_acct_attrs.array_num_value(2) :=
35886 xla_ae_sources_pkg.GetSystemSourceNum(
35887 p_source_code => 'XLA_EVENT_APPL_ID'
35888 , p_source_type_code => 'Y'
35889 , p_source_application_id => 602
35890 );
35891 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
35892 l_rec_acct_attrs.array_char_value(3) := p_source_21;
35893 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
35894 l_rec_acct_attrs.array_char_value(4) :=
35895 xla_ae_sources_pkg.GetSystemSourceChar(
35896 p_source_code => 'XLA_ENTITY_CODE'
35897 , p_source_type_code => 'Y'
35898 , p_source_application_id => 602
35899 );
35900 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
35901 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_23);
35902 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
35903 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_24);
35904 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
35905 l_rec_acct_attrs.array_num_value(7) := p_source_25;
35906 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
35907 l_rec_acct_attrs.array_char_value(8) := p_source_26;
35908 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
35909 l_rec_acct_attrs.array_char_value(9) := p_source_27;
35910 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
35911 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_28);
35912 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
35913 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_29);
35914 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
35915 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_30);
35916 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
35917 l_rec_acct_attrs.array_char_value(13) := p_source_21;
35918 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
35919 l_rec_acct_attrs.array_num_value(14) := p_source_31;
35920 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
35921 l_rec_acct_attrs.array_num_value(15) := p_source_32;
35922 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
35923 l_rec_acct_attrs.array_char_value(16) := p_source_33;
35924 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
35925 l_rec_acct_attrs.array_num_value(17) := p_source_34;
35926 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
35927 l_rec_acct_attrs.array_num_value(18) := p_source_35;
35928 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
35929 l_rec_acct_attrs.array_num_value(19) := p_source_36;
35930 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
35931 l_rec_acct_attrs.array_char_value(20) := p_source_33;
35932 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
35933 l_rec_acct_attrs.array_num_value(21) := p_source_37;
35934 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
35935 l_rec_acct_attrs.array_char_value(22) := p_source_38;
35936 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
35937 l_rec_acct_attrs.array_num_value(23) := p_source_65;
35938 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
35939 l_rec_acct_attrs.array_char_value(24) := p_source_33;
35943 l_rec_acct_attrs.array_num_value(26) := p_source_40;
35940 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
35941 l_rec_acct_attrs.array_date_value(25) := p_source_39;
35942 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
35944 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
35945 l_rec_acct_attrs.array_char_value(27) := p_source_41;
35946 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
35947 l_rec_acct_attrs.array_num_value(28) := p_source_66;
35948 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
35949 l_rec_acct_attrs.array_date_value(29) := p_source_43;
35950 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
35951 l_rec_acct_attrs.array_char_value(30) := p_source_44;
35952 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
35953 l_rec_acct_attrs.array_date_value(31) := p_source_45;
35954 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
35955 l_rec_acct_attrs.array_char_value(32) := p_source_46;
35956 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
35957 l_rec_acct_attrs.array_num_value(33) := p_source_47;
35958 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
35959 l_rec_acct_attrs.array_num_value(34) := p_source_48;
35960 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
35961 l_rec_acct_attrs.array_char_value(35) := p_source_49;
35962 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
35963 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_50);
35964 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
35965 l_rec_acct_attrs.array_char_value(37) := p_source_21;
35966 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
35967 l_rec_acct_attrs.array_num_value(38) := p_source_51;
35968 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
35969 l_rec_acct_attrs.array_num_value(39) := p_source_52;
35970 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
35971 l_rec_acct_attrs.array_num_value(40) := p_source_53;
35972 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
35973 l_rec_acct_attrs.array_num_value(41) := p_source_54;
35974 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
35975 l_rec_acct_attrs.array_num_value(42) := p_source_55;
35976 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
35977 l_rec_acct_attrs.array_num_value(43) := p_source_56;
35978
35979 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
35980 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
35981
35982 ---------------------------------------------------------------------------------------------------------------
35983 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
35984 ---------------------------------------------------------------------------------------------------------------
35985 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
35986
35987 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
35988 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
35989
35990 IF xla_accounting_cache_pkg.GetValueChar
35991 (p_source_code => 'LEDGER_CATEGORY_CODE'
35992 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
35993 AND l_bflow_method_code = 'PRIOR_ENTRY'
35994 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
35995 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
35996 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
35997 )
35998 THEN
35999 xla_ae_lines_pkg.BflowUpgEntry
36000 (p_business_method_code => l_bflow_method_code
36001 ,p_business_class_code => l_bflow_class_code
36002 ,p_balance_type => l_balance_type_code);
36003 ELSE
36004 NULL;
36005 -- No business flow processing for business flow method of NONE.
36006 END IF;
36007
36008 --
36009 -- call analytical criteria
36010 --
36011
36012 --
36013 -- call description
36014 --
36015
36016 xla_ae_lines_pkg.SetLineDescription(
36017 p_ae_header_id => l_ae_header_id
36018 ,p_description => Description_2 (
36019 p_application_id => p_application_id
36020 , p_ae_header_id => l_ae_header_id
36021 , p_source_1 => p_source_1
36022 )
36023 );
36024
36025
36026 --
36027 -- call ADRs
36028 -- Bug 4922099
36029 --
36030 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
36031 (NVL(l_actual_upg_option, 'N') = 'O') OR
36032 (NVL(l_enc_upg_option, 'N') = 'O')
36033 )
36034 THEN
36035 NULL;
36036 --
36037 --
36038
36039 l_ccid := AcctDerRule_8(
36040 p_application_id => p_application_id
36041 , p_ae_header_id => l_ae_header_id
36042 , p_source_13 => p_source_13
36043 , x_transaction_coa_id => l_adr_transaction_coa_id
36044 , x_accounting_coa_id => l_adr_accounting_coa_id
36045 , x_value_type_code => l_adr_value_type_code
36046 , p_side => 'NA'
36047 );
36051 , p_value_type_code => l_adr_value_type_code
36048
36049 xla_ae_lines_pkg.set_ccid(
36050 p_code_combination_id => l_ccid
36052 , p_transaction_coa_id => l_adr_transaction_coa_id
36053 , p_accounting_coa_id => l_adr_accounting_coa_id
36054 , p_adr_code => 'AP_SELF_ASSESSED_TAX'
36055 , p_adr_type_code => 'S'
36056 , p_component_type => l_component_type
36057 , p_component_code => l_component_code
36058 , p_component_type_code => l_component_type_code
36059 , p_component_appl_id => l_component_appl_id
36060 , p_amb_context_code => l_amb_context_code
36061 , p_side => 'NA'
36062 );
36063
36064
36065 --
36066 --
36067 END IF;
36068 --
36069 -- Bug 4922099
36070 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
36071 (NVL(l_enc_upg_option, 'N') = 'O')
36072 ) AND
36073 (l_bflow_method_code = 'PRIOR_ENTRY')
36074 )
36075 THEN
36076 IF
36077 --
36078 1 = 2
36079 --
36080 THEN
36081 xla_accounting_err_pkg.build_message
36082 (p_appli_s_name => 'XLA'
36083 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
36084 ,p_token_1 => 'LINE_NUMBER'
36085 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
36086 ,p_token_2 => 'LINE_TYPE_NAME'
36087 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
36088 l_component_type
36089 ,l_component_code
36090 ,l_component_type_code
36091 ,l_component_appl_id
36092 ,l_amb_context_code
36093 ,l_entity_code
36094 ,l_event_class_code
36095 )
36096 ,p_token_3 => 'OWNER'
36097 ,p_value_3 => xla_lookups_pkg.get_meaning(
36098 p_lookup_type => 'XLA_OWNER_TYPE'
36099 ,p_lookup_code => l_component_type_code
36100 )
36101 ,p_token_4 => 'PRODUCT_NAME'
36102 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
36103 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
36104 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
36105 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
36106 ,p_ae_header_id => NULL
36107 );
36108
36109 IF (C_LEVEL_ERROR>= g_log_level) THEN
36110 trace
36111 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
36112 ,p_level => C_LEVEL_ERROR
36113 ,p_module => l_log_module);
36114 END IF;
36115 END IF;
36116 END IF;
36117 --
36118 --
36119 ------------------------------------------------------------------------------------------------
36120 -- 4219869 Business Flow
36121 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
36122 -- Prior Entry. Currently, the following code is always generated.
36123 ------------------------------------------------------------------------------------------------
36124 XLA_AE_LINES_PKG.ValidateCurrentLine;
36125
36126 ------------------------------------------------------------------------------------
36127 -- 4219869 Business Flow
36128 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
36129 ------------------------------------------------------------------------------------
36130 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
36131
36132 ----------------------------------------------------------------------------------
36133 -- 4219869 Business Flow
36134 -- Update journal entry status -- Need to generate this within IF <condition>
36135 ----------------------------------------------------------------------------------
36136 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
36137 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
36138 ,p_balance_type_code => l_balance_type_code
36139 );
36140
36141 -------------------------------------------------------------------------------------------
36142 -- 4262811 - Generate the Accrual Reversal lines
36143 -------------------------------------------------------------------------------------------
36144 BEGIN
36148 l_acc_rev_flag := 'N';
36145 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
36146 (g_array_event(p_event_id).array_value_num('header_index'));
36147 IF l_acc_rev_flag IS NULL THEN
36149 END IF;
36150 EXCEPTION
36151 WHEN OTHERS THEN
36152 l_acc_rev_flag := 'N';
36153 END;
36154 --
36155 IF (l_acc_rev_flag = 'Y') THEN
36156
36157 -- 4645092 ------------------------------------------------------------------------------
36158 -- To allow MPA report to determine if it should generate report process
36159 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
36160 ------------------------------------------------------------------------------------------
36161
36162 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
36163 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
36164 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
36165 -- call ADRs
36166 -- Bug 4922099
36167 --
36168 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
36169 (NVL(l_actual_upg_option, 'N') = 'O') OR
36170 (NVL(l_enc_upg_option, 'N') = 'O')
36171 )
36172 THEN
36173 NULL;
36174 --
36175 --
36176
36177 l_ccid := AcctDerRule_8(
36178 p_application_id => p_application_id
36179 , p_ae_header_id => l_ae_header_id
36180 , p_source_13 => p_source_13
36181 , x_transaction_coa_id => l_adr_transaction_coa_id
36182 , x_accounting_coa_id => l_adr_accounting_coa_id
36183 , x_value_type_code => l_adr_value_type_code
36184 , p_side => 'NA'
36185 );
36186
36187 xla_ae_lines_pkg.set_ccid(
36188 p_code_combination_id => l_ccid
36189 , p_value_type_code => l_adr_value_type_code
36190 , p_transaction_coa_id => l_adr_transaction_coa_id
36191 , p_accounting_coa_id => l_adr_accounting_coa_id
36192 , p_adr_code => 'AP_SELF_ASSESSED_TAX'
36193 , p_adr_type_code => 'S'
36194 , p_component_type => l_component_type
36195 , p_component_code => l_component_code
36196 , p_component_type_code => l_component_type_code
36197 , p_component_appl_id => l_component_appl_id
36198 , p_amb_context_code => l_amb_context_code
36199 , p_side => 'NA'
36200 );
36201
36202
36203 --
36204 --
36205 END IF;
36206
36207 --
36208 -- Update the line information that should be overwritten
36209 --
36210 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
36211 p_header_num => 1);
36212 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
36213
36214 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
36215
36216 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
36217 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
36218 END IF;
36219
36220 --
36221 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
36222 --
36223 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
36224 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
36225 ELSE
36226 ---------------------------------------------------------------------------------------------------
36227 -- 4262811a Switch Sign
36228 ---------------------------------------------------------------------------------------------------
36229 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
36230 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
36231 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
36232 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
36233 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
36234 -- 5132302
36235 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
36236 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
36237
36238 END IF;
36239
36240 -- 4955764
36241 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
36242 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
36243
36244
36245 XLA_AE_LINES_PKG.ValidateCurrentLine;
36246 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
36247
36248 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
36249 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
36250 ,p_balance_type_code => l_balance_type_code);
36251
36252 END IF;
36253
36254 -----------------------------------------------------------------------------------------
36255 -- 4262811 Multiperiod Accounting
36259
36256 -----------------------------------------------------------------------------------------
36257 -- No MPA option is assigned.
36258
36260 END IF;
36261 END IF;
36262 --
36263
36264 --
36265 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
36266 trace
36267 (p_msg => 'END of AcctLineType_61'
36268 ,p_level => C_LEVEL_PROCEDURE
36269 ,p_module => l_log_module);
36270 END IF;
36271 --
36272 EXCEPTION
36273 WHEN xla_exceptions_pkg.application_exception THEN
36274 RAISE;
36275 WHEN OTHERS THEN
36276 xla_exceptions_pkg.raise_message
36277 (p_location => 'XLA_00200_AAD_S_000006_BC_PKG.AcctLineType_61');
36278 END AcctLineType_61;
36279 --
36280
36281 ---------------------------------------
36282 --
36283 -- PRIVATE FUNCTION
36284 -- AcctLineType_62
36285 --
36286 ---------------------------------------
36287 PROCEDURE AcctLineType_62 (
36288 p_application_id IN NUMBER
36289 ,p_event_id IN NUMBER
36290 ,p_calculate_acctd_flag IN VARCHAR2
36291 ,p_calculate_g_l_flag IN VARCHAR2
36292 ,p_actual_flag IN OUT VARCHAR2
36293 ,p_balance_type_code OUT VARCHAR2
36294 ,p_gain_or_loss_ref OUT VARCHAR2
36295
36296 --Invoice Distribution Description
36297 , p_source_1 IN VARCHAR2
36298 --Self-Assessed Tax Account
36299 , p_source_13 IN NUMBER
36300 --Invoice Distribution Type
36301 , p_source_15 IN VARCHAR2
36302 , p_source_15_meaning IN VARCHAR2
36303 --Purchasing Encumbrance Option
36304 , p_source_17 IN VARCHAR2
36305 , p_source_17_meaning IN VARCHAR2
36306 --Accounting Reversal Indicator
36307 , p_source_19 IN VARCHAR2
36308 --Distribution Link Type
36309 , p_source_21 IN VARCHAR2
36310 --Allocation to Main Distribution Identifier
36311 , p_source_23 IN NUMBER
36312 --Invoice Identifier
36313 , p_source_24 IN NUMBER
36314 --Business Flow Accounts Payable Application Identifier
36315 , p_source_25 IN NUMBER
36316 --Business Flow Invoice Distribution Type
36317 , p_source_26 IN VARCHAR2
36318 --Business Flow Invoice Entity Code
36319 , p_source_27 IN VARCHAR2
36320 --Business Flow Invoice Distribution Identifier
36321 , p_source_28 IN NUMBER
36322 --Business Flow Invoice Identifier
36323 , p_source_29 IN NUMBER
36324 --Invoice Distribution Identifier
36325 , p_source_30 IN NUMBER
36326 --Payables Encumbrance Upgrade Credit Account
36327 , p_source_31 IN NUMBER
36328 --Payables Encumbrance Upgrade Credit Amount
36329 , p_source_32 IN NUMBER
36330 --Invoice Currency Code
36331 , p_source_33 IN VARCHAR2
36332 --Payables Encumbrance Upgrade Credit Base Amount
36333 , p_source_34 IN NUMBER
36334 --Payables Encumbrance Upgrade Debit Account
36335 , p_source_35 IN NUMBER
36336 --Payables Encumbrance Upgrade Debit Amount
36337 , p_source_36 IN NUMBER
36338 --Payables Encumbrance Upgrade Debit Base Amount
36339 , p_source_37 IN NUMBER
36340 --Payables Encumbrance Upgrade Option
36341 , p_source_38 IN VARCHAR2
36342 --Invoice Exchange Date
36343 , p_source_39 IN DATE
36344 --Invoice Exchange Rate
36345 , p_source_40 IN NUMBER
36346 --Invoice Exchange Rate Type
36347 , p_source_41 IN VARCHAR2
36348 --Deferred Accounting End Date
36349 , p_source_43 IN DATE
36350 --Deferred Accounting Option
36351 , p_source_44 IN VARCHAR2
36352 --Deferred Accounting Start Date
36353 , p_source_45 IN DATE
36354 --Override Accounted Amount Indicator
36355 , p_source_46 IN VARCHAR2
36356 , p_source_46_meaning IN VARCHAR2
36357 --Invoice Supplier Identifier
36358 , p_source_47 IN NUMBER
36359 --Invoice Supplier Site Identifier
36360 , p_source_48 IN NUMBER
36361 --Third Party Type
36362 , p_source_49 IN VARCHAR2
36363 --Parent Reversal Identifier
36364 , p_source_50 IN NUMBER
36365 --Invoice Distribution Statistical Amount
36366 , p_source_51 IN NUMBER
36367 --Invoice Distribution Tax Line Identifier
36368 , p_source_52 IN NUMBER
36369 --Invoice Distribution Tax Distribution Identifier from Tax
36370 , p_source_53 IN NUMBER
36371 --Invoice Distribution Summary Tax Line Identifier
36372 , p_source_54 IN NUMBER
36373 --Payables Upgrade Credit Encumbrance Type Identifier
36374 , p_source_55 IN NUMBER
36375 --Payables Upgrade Debit Encumbrance Type Identifier
36376 , p_source_56 IN NUMBER
36377 --Invoice Distribution Amount
36378 , p_source_57 IN NUMBER
36379 --Self-Assessed Tax Flag
36380 , p_source_59 IN VARCHAR2
36381 , p_source_59_meaning IN VARCHAR2
36382 --Invoice Distribution Encumbrance Amount
36383 , p_source_65 IN NUMBER
36384 --Invoice Distribution Encumbrance Ledger Amount
36385 , p_source_66 IN NUMBER
36386 )
36387 IS
36388
36389 l_component_type VARCHAR2(80);
36390 l_component_code VARCHAR2(30);
36391 l_component_type_code VARCHAR2(1);
36392 l_component_appl_id INTEGER;
36393 l_amb_context_code VARCHAR2(30);
36394 l_entity_code VARCHAR2(30);
36395 l_event_class_code VARCHAR2(30);
36399 l_line_definition_owner_code VARCHAR2(1);
36396 l_ae_header_id NUMBER;
36397 l_event_type_code VARCHAR2(30);
36398 l_line_definition_code VARCHAR2(30);
36400 --
36401 -- adr variables
36402 l_segment VARCHAR2(30);
36403 l_ccid NUMBER;
36404 l_adr_transaction_coa_id NUMBER;
36405 l_adr_accounting_coa_id NUMBER;
36406 l_adr_flexfield_segment_code VARCHAR2(30);
36407 l_adr_flex_value_set_id NUMBER;
36408 l_adr_value_type_code VARCHAR2(30);
36409 l_adr_value_combination_id NUMBER;
36410 l_adr_value_segment_code VARCHAR2(30);
36411
36412 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
36413 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
36414 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
36415 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
36416
36417 -- 4262811 Variables ------------------------------------------------------------------------------------------
36418 l_entered_amt_idx NUMBER;
36419 l_accted_amt_idx NUMBER;
36420 l_acc_rev_flag VARCHAR2(1);
36421 l_accrual_line_num NUMBER;
36422 l_tmp_amt NUMBER;
36423 l_acc_rev_natural_side_code VARCHAR2(1);
36424
36425 l_num_entries NUMBER;
36426 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
36427 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
36428 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
36429 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
36430 l_recog_line_1 NUMBER;
36431 l_recog_line_2 NUMBER;
36432
36433 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
36434 l_bflow_applied_to_amt NUMBER; -- 5132302
36435 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
36436
36437 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
36438
36439 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
36440 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
36441
36442 ---------------------------------------------------------------------------------------------------------------
36443
36444
36445 --
36446 -- bulk performance
36447 --
36448 l_balance_type_code VARCHAR2(1);
36449 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
36450 l_log_module VARCHAR2(240);
36451
36452 --
36453 -- Upgrade strategy
36454 --
36455 l_actual_upg_option VARCHAR2(1);
36456 l_enc_upg_option VARCHAR2(1);
36457
36458 --
36459 BEGIN
36460 --
36461 IF g_log_enabled THEN
36462 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_62';
36463 END IF;
36464 --
36465 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
36466
36467 trace
36468 (p_msg => 'BEGIN of AcctLineType_62'
36469 ,p_level => C_LEVEL_PROCEDURE
36470 ,p_module => l_log_module);
36471
36472 END IF;
36473 --
36474 l_component_type := 'AMB_JLT';
36475 l_component_code := 'AP_SELFASSDNREC_TAX_INV_ENC_DR';
36476 l_component_type_code := 'S';
36477 l_component_appl_id := 200;
36478 l_amb_context_code := 'DEFAULT';
36479 l_entity_code := 'AP_INVOICES';
36480 l_event_class_code := 'INVOICES';
36481 l_event_type_code := 'INVOICES_ALL';
36482 l_line_definition_owner_code := 'S';
36483 l_line_definition_code := 'ENC_INVOICES_ALL';
36484 --
36485 l_balance_type_code := 'E';
36486 l_segment := NULL;
36487 l_ccid := NULL;
36488 l_adr_transaction_coa_id := NULL;
36489 l_adr_accounting_coa_id := NULL;
36490 l_adr_flexfield_segment_code := NULL;
36491 l_adr_flex_value_set_id := NULL;
36492 l_adr_value_type_code := NULL;
36493 l_adr_value_combination_id := NULL;
36494 l_adr_value_segment_code := NULL;
36495
36496 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
36497 l_bflow_class_code := 'AP_INV_ENCUM'; -- 4219869 Business Flow
36498 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
36499 l_budgetary_control_flag := 'Y';
36500
36501 l_bflow_applied_to_amt_idx := NULL; -- 5132302
36502 l_bflow_applied_to_amt := NULL; -- 5132302
36503 l_entered_amt_idx := NULL; -- 4262811
36504 l_accted_amt_idx := NULL; -- 4262811
36505 l_acc_rev_flag := NULL; -- 4262811
36506 l_accrual_line_num := NULL; -- 4262811
36507 l_tmp_amt := NULL; -- 4262811
36508 --
36509
36510 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
36511 l_balance_type_code <> 'B' THEN
36512 IF NVL(p_source_15,'
36513 ') = 'NONREC_TAX' AND
36514 NVL(p_source_59,'
36515 ') = 'Y' AND
36516 NVL(p_source_17,'
36517 ') = 'Y'
36518 THEN
36519
36520 --
36521 XLA_AE_LINES_PKG.SetNewLine;
36522
36523 p_balance_type_code := l_balance_type_code;
36527 p_actual_flag :='A';
36524 -- set the flag so later we will know whether the gain loss line needs to be created
36525
36526 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
36528 END IF;
36529
36530 --
36531 -- bulk performance
36532 --
36533 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
36534 p_header_num => 0); -- 4262811
36535 --
36536 -- set accounting line options
36537 --
36538 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
36539 p_natural_side_code => 'D'
36540 , p_gain_or_loss_flag => 'N'
36541 , p_gl_transfer_mode_code => 'S'
36542 , p_acct_entry_type_code => 'E'
36543 , p_switch_side_flag => 'Y'
36544 , p_merge_duplicate_code => 'N'
36545 );
36546 --
36547 l_acc_rev_natural_side_code := 'C'; -- 4262811
36548 --
36549 --
36550 -- set accounting line type info
36551 --
36552 xla_ae_lines_pkg.SetAcctLineType
36553 (p_component_type => l_component_type
36554 ,p_event_type_code => l_event_type_code
36555 ,p_line_definition_owner_code => l_line_definition_owner_code
36556 ,p_line_definition_code => l_line_definition_code
36557 ,p_accounting_line_code => l_component_code
36558 ,p_accounting_line_type_code => l_component_type_code
36559 ,p_accounting_line_appl_id => l_component_appl_id
36560 ,p_amb_context_code => l_amb_context_code
36561 ,p_entity_code => l_entity_code
36562 ,p_event_class_code => l_event_class_code);
36563 --
36564 -- set accounting class
36565 --
36566 xla_ae_lines_pkg.SetAcctClass(
36567 p_accounting_class_code => 'SELF_ASSESSED_TAX'
36568 , p_ae_header_id => l_ae_header_id
36569 );
36570
36571 --
36572 -- set rounding class
36573 --
36574 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
36575 'SELF_ASSESSED_TAX';
36576
36577 --
36578 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
36579 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
36580 --
36581 -- bulk performance
36582 --
36583 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
36584
36585 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
36586 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
36587
36588 -- 4955764
36589 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
36590 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
36591
36592 -- 4458381 Public Sector Enh
36593 XLA_AE_LINES_PKG.g_rec_lines.array_encumbrance_type_id(XLA_AE_LINES_PKG.g_LineNumber) := 1060;
36594 --
36595 -- set accounting attributes for the line type
36596 --
36597 l_entered_amt_idx := 24;
36598 l_accted_amt_idx := 29;
36599 l_bflow_applied_to_amt_idx := 7; -- 5132302
36600 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
36601 l_rec_acct_attrs.array_char_value(1) := p_source_19;
36602 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
36603 l_rec_acct_attrs.array_num_value(2) :=
36604 xla_ae_sources_pkg.GetSystemSourceNum(
36605 p_source_code => 'XLA_EVENT_APPL_ID'
36606 , p_source_type_code => 'Y'
36607 , p_source_application_id => 602
36608 );
36609 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
36610 l_rec_acct_attrs.array_char_value(3) := p_source_21;
36611 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
36612 l_rec_acct_attrs.array_char_value(4) :=
36613 xla_ae_sources_pkg.GetSystemSourceChar(
36614 p_source_code => 'XLA_ENTITY_CODE'
36615 , p_source_type_code => 'Y'
36616 , p_source_application_id => 602
36617 );
36618 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
36619 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_23);
36620 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
36621 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_24);
36622 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_AMOUNT';
36623 l_rec_acct_attrs.array_num_value(7) := p_source_57;
36624 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_APPLICATION_ID';
36625 l_rec_acct_attrs.array_num_value(8) := p_source_25;
36626 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_DISTRIBUTION_TYPE';
36627 l_rec_acct_attrs.array_char_value(9) := p_source_26;
36628 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_ENTITY_CODE';
36629 l_rec_acct_attrs.array_char_value(10) := p_source_27;
36630 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_DIST_ID';
36631 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_28);
36632 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
36633 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_29);
36634 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
36638 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
36635 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_30);
36636 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_TYPE';
36637 l_rec_acct_attrs.array_char_value(14) := p_source_21;
36639 l_rec_acct_attrs.array_num_value(15) := p_source_31;
36640 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
36641 l_rec_acct_attrs.array_num_value(16) := p_source_32;
36642 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
36643 l_rec_acct_attrs.array_char_value(17) := p_source_33;
36644 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
36645 l_rec_acct_attrs.array_num_value(18) := p_source_34;
36646 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_CCID';
36647 l_rec_acct_attrs.array_num_value(19) := p_source_35;
36648 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_AMT';
36649 l_rec_acct_attrs.array_num_value(20) := p_source_36;
36650 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_CURR';
36651 l_rec_acct_attrs.array_char_value(21) := p_source_33;
36652 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_LEDGER_AMT';
36653 l_rec_acct_attrs.array_num_value(22) := p_source_37;
36654 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_OPTION';
36655 l_rec_acct_attrs.array_char_value(23) := p_source_38;
36656 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_AMOUNT';
36657 l_rec_acct_attrs.array_num_value(24) := p_source_65;
36658 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_CODE';
36659 l_rec_acct_attrs.array_char_value(25) := p_source_33;
36660 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_DATE';
36661 l_rec_acct_attrs.array_date_value(26) := p_source_39;
36662 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE';
36663 l_rec_acct_attrs.array_num_value(27) := p_source_40;
36664 l_rec_acct_attrs.array_acct_attr_code(28) := 'EXCHANGE_RATE_TYPE';
36665 l_rec_acct_attrs.array_char_value(28) := p_source_41;
36666 l_rec_acct_attrs.array_acct_attr_code(29) := 'LEDGER_AMOUNT';
36667 l_rec_acct_attrs.array_num_value(29) := p_source_66;
36668 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_END_DATE';
36669 l_rec_acct_attrs.array_date_value(30) := p_source_43;
36670 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_OPTION';
36671 l_rec_acct_attrs.array_char_value(31) := p_source_44;
36672 l_rec_acct_attrs.array_acct_attr_code(32) := 'MULTIPERIOD_START_DATE';
36673 l_rec_acct_attrs.array_date_value(32) := p_source_45;
36674 l_rec_acct_attrs.array_acct_attr_code(33) := 'OVERRIDE_ACCTD_AMT_FLAG';
36675 l_rec_acct_attrs.array_char_value(33) := p_source_46;
36676 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_ID';
36677 l_rec_acct_attrs.array_num_value(34) := p_source_47;
36678 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_SITE_ID';
36679 l_rec_acct_attrs.array_num_value(35) := p_source_48;
36680 l_rec_acct_attrs.array_acct_attr_code(36) := 'PARTY_TYPE';
36681 l_rec_acct_attrs.array_char_value(36) := p_source_49;
36682 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_ID1';
36683 l_rec_acct_attrs.array_num_value(37) := to_char(p_source_50);
36684 l_rec_acct_attrs.array_acct_attr_code(38) := 'REVERSED_DISTRIBUTION_TYPE';
36685 l_rec_acct_attrs.array_char_value(38) := p_source_21;
36686 l_rec_acct_attrs.array_acct_attr_code(39) := 'STATISTICAL_AMOUNT';
36687 l_rec_acct_attrs.array_num_value(39) := p_source_51;
36688 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_LINE_REF_ID';
36689 l_rec_acct_attrs.array_num_value(40) := p_source_52;
36690 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_REC_NREC_DIST_REF_ID';
36691 l_rec_acct_attrs.array_num_value(41) := p_source_53;
36692 l_rec_acct_attrs.array_acct_attr_code(42) := 'TAX_SUMMARY_LINE_REF_ID';
36693 l_rec_acct_attrs.array_num_value(42) := p_source_54;
36694 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_CR_ENC_TYPE_ID';
36695 l_rec_acct_attrs.array_num_value(43) := p_source_55;
36696 l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
36697 l_rec_acct_attrs.array_num_value(44) := p_source_56;
36698
36699 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
36700 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
36701
36702 ---------------------------------------------------------------------------------------------------------------
36703 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
36704 ---------------------------------------------------------------------------------------------------------------
36705 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
36706
36707 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
36708 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
36709
36710 IF xla_accounting_cache_pkg.GetValueChar
36711 (p_source_code => 'LEDGER_CATEGORY_CODE'
36712 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
36713 AND l_bflow_method_code = 'PRIOR_ENTRY'
36714 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
36715 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
36716 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
36717 )
36718 THEN
36722 ,p_balance_type => l_balance_type_code);
36719 xla_ae_lines_pkg.BflowUpgEntry
36720 (p_business_method_code => l_bflow_method_code
36721 ,p_business_class_code => l_bflow_class_code
36723 ELSE
36724 NULL;
36725 -- No business flow processing for business flow method of NONE.
36726 END IF;
36727
36728 --
36729 -- call analytical criteria
36730 --
36731
36732 --
36733 -- call description
36734 --
36735
36736 xla_ae_lines_pkg.SetLineDescription(
36737 p_ae_header_id => l_ae_header_id
36738 ,p_description => Description_2 (
36739 p_application_id => p_application_id
36740 , p_ae_header_id => l_ae_header_id
36741 , p_source_1 => p_source_1
36742 )
36743 );
36744
36745
36746 --
36747 -- call ADRs
36748 -- Bug 4922099
36749 --
36750 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
36751 (NVL(l_actual_upg_option, 'N') = 'O') OR
36752 (NVL(l_enc_upg_option, 'N') = 'O')
36753 )
36754 THEN
36755 NULL;
36756 --
36757 --
36758
36759 l_ccid := AcctDerRule_8(
36760 p_application_id => p_application_id
36761 , p_ae_header_id => l_ae_header_id
36762 , p_source_13 => p_source_13
36763 , x_transaction_coa_id => l_adr_transaction_coa_id
36764 , x_accounting_coa_id => l_adr_accounting_coa_id
36765 , x_value_type_code => l_adr_value_type_code
36766 , p_side => 'NA'
36767 );
36768
36769 xla_ae_lines_pkg.set_ccid(
36770 p_code_combination_id => l_ccid
36771 , p_value_type_code => l_adr_value_type_code
36772 , p_transaction_coa_id => l_adr_transaction_coa_id
36773 , p_accounting_coa_id => l_adr_accounting_coa_id
36774 , p_adr_code => 'AP_SELF_ASSESSED_TAX'
36775 , p_adr_type_code => 'S'
36776 , p_component_type => l_component_type
36777 , p_component_code => l_component_code
36778 , p_component_type_code => l_component_type_code
36779 , p_component_appl_id => l_component_appl_id
36780 , p_amb_context_code => l_amb_context_code
36781 , p_side => 'NA'
36782 );
36783
36784
36785 --
36786 --
36787 END IF;
36788 --
36789 -- Bug 4922099
36790 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
36791 (NVL(l_enc_upg_option, 'N') = 'O')
36792 ) AND
36793 (l_bflow_method_code = 'PRIOR_ENTRY')
36794 )
36795 THEN
36796 IF
36797 --
36798 1 = 2
36799 --
36800 THEN
36801 xla_accounting_err_pkg.build_message
36802 (p_appli_s_name => 'XLA'
36803 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
36804 ,p_token_1 => 'LINE_NUMBER'
36805 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
36806 ,p_token_2 => 'LINE_TYPE_NAME'
36807 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
36808 l_component_type
36809 ,l_component_code
36810 ,l_component_type_code
36811 ,l_component_appl_id
36812 ,l_amb_context_code
36813 ,l_entity_code
36814 ,l_event_class_code
36815 )
36816 ,p_token_3 => 'OWNER'
36817 ,p_value_3 => xla_lookups_pkg.get_meaning(
36818 p_lookup_type => 'XLA_OWNER_TYPE'
36819 ,p_lookup_code => l_component_type_code
36820 )
36821 ,p_token_4 => 'PRODUCT_NAME'
36822 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
36823 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
36824 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
36825 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
36826 ,p_ae_header_id => NULL
36827 );
36828
36829 IF (C_LEVEL_ERROR>= g_log_level) THEN
36830 trace
36831 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
36832 ,p_level => C_LEVEL_ERROR
36833 ,p_module => l_log_module);
36834 END IF;
36835 END IF;
36839 ------------------------------------------------------------------------------------------------
36836 END IF;
36837 --
36838 --
36840 -- 4219869 Business Flow
36841 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
36842 -- Prior Entry. Currently, the following code is always generated.
36843 ------------------------------------------------------------------------------------------------
36844 XLA_AE_LINES_PKG.ValidateCurrentLine;
36845
36846 ------------------------------------------------------------------------------------
36847 -- 4219869 Business Flow
36848 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
36849 ------------------------------------------------------------------------------------
36850 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
36851
36852 ----------------------------------------------------------------------------------
36853 -- 4219869 Business Flow
36854 -- Update journal entry status -- Need to generate this within IF <condition>
36855 ----------------------------------------------------------------------------------
36856 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
36857 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
36858 ,p_balance_type_code => l_balance_type_code
36859 );
36860
36861 -------------------------------------------------------------------------------------------
36862 -- 4262811 - Generate the Accrual Reversal lines
36863 -------------------------------------------------------------------------------------------
36864 BEGIN
36865 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
36866 (g_array_event(p_event_id).array_value_num('header_index'));
36867 IF l_acc_rev_flag IS NULL THEN
36868 l_acc_rev_flag := 'N';
36869 END IF;
36870 EXCEPTION
36871 WHEN OTHERS THEN
36872 l_acc_rev_flag := 'N';
36873 END;
36874 --
36875 IF (l_acc_rev_flag = 'Y') THEN
36876
36877 -- 4645092 ------------------------------------------------------------------------------
36878 -- To allow MPA report to determine if it should generate report process
36879 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
36880 ------------------------------------------------------------------------------------------
36881
36882 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
36883 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
36884 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
36885 -- call ADRs
36886 -- Bug 4922099
36887 --
36888 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
36889 (NVL(l_actual_upg_option, 'N') = 'O') OR
36890 (NVL(l_enc_upg_option, 'N') = 'O')
36891 )
36892 THEN
36893 NULL;
36894 --
36895 --
36896
36897 l_ccid := AcctDerRule_8(
36898 p_application_id => p_application_id
36899 , p_ae_header_id => l_ae_header_id
36900 , p_source_13 => p_source_13
36901 , x_transaction_coa_id => l_adr_transaction_coa_id
36902 , x_accounting_coa_id => l_adr_accounting_coa_id
36903 , x_value_type_code => l_adr_value_type_code
36904 , p_side => 'NA'
36905 );
36906
36907 xla_ae_lines_pkg.set_ccid(
36908 p_code_combination_id => l_ccid
36909 , p_value_type_code => l_adr_value_type_code
36910 , p_transaction_coa_id => l_adr_transaction_coa_id
36911 , p_accounting_coa_id => l_adr_accounting_coa_id
36912 , p_adr_code => 'AP_SELF_ASSESSED_TAX'
36913 , p_adr_type_code => 'S'
36914 , p_component_type => l_component_type
36915 , p_component_code => l_component_code
36916 , p_component_type_code => l_component_type_code
36917 , p_component_appl_id => l_component_appl_id
36918 , p_amb_context_code => l_amb_context_code
36919 , p_side => 'NA'
36920 );
36921
36922
36923 --
36924 --
36925 END IF;
36926
36927 --
36928 -- Update the line information that should be overwritten
36929 --
36930 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
36931 p_header_num => 1);
36932 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
36933
36934 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
36935
36936 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
36937 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
36938 END IF;
36939
36940 --
36941 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
36942 --
36943 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
36944 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
36945 ELSE
36946 ---------------------------------------------------------------------------------------------------
36947 -- 4262811a Switch Sign
36951 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
36948 ---------------------------------------------------------------------------------------------------
36949 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
36950 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
36952 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
36953 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
36954 -- 5132302
36955 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
36956 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
36957
36958 END IF;
36959
36960 -- 4955764
36961 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
36962 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
36963
36964
36965 XLA_AE_LINES_PKG.ValidateCurrentLine;
36966 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
36967
36968 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
36969 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
36970 ,p_balance_type_code => l_balance_type_code);
36971
36972 END IF;
36973
36974 -----------------------------------------------------------------------------------------
36975 -- 4262811 Multiperiod Accounting
36976 -----------------------------------------------------------------------------------------
36977 -- No MPA option is assigned.
36978
36979
36980 END IF;
36981 END IF;
36982 --
36983
36984 --
36985 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
36986 trace
36987 (p_msg => 'END of AcctLineType_62'
36988 ,p_level => C_LEVEL_PROCEDURE
36989 ,p_module => l_log_module);
36990 END IF;
36991 --
36992 EXCEPTION
36993 WHEN xla_exceptions_pkg.application_exception THEN
36994 RAISE;
36995 WHEN OTHERS THEN
36996 xla_exceptions_pkg.raise_message
36997 (p_location => 'XLA_00200_AAD_S_000006_BC_PKG.AcctLineType_62');
36998 END AcctLineType_62;
36999 --
37000
37001 ---------------------------------------
37002 --
37003 -- PRIVATE FUNCTION
37004 -- AcctLineType_63
37005 --
37006 ---------------------------------------
37007 PROCEDURE AcctLineType_63 (
37008 p_application_id IN NUMBER
37009 ,p_event_id IN NUMBER
37010 ,p_calculate_acctd_flag IN VARCHAR2
37011 ,p_calculate_g_l_flag IN VARCHAR2
37012 ,p_actual_flag IN OUT VARCHAR2
37013 ,p_balance_type_code OUT VARCHAR2
37014 ,p_gain_or_loss_ref OUT VARCHAR2
37015
37016 --Invoice Distribution Description
37017 , p_source_1 IN VARCHAR2
37018 --Self-Assessed Tax Account
37019 , p_source_13 IN NUMBER
37020 --Invoice Distribution Type
37021 , p_source_15 IN VARCHAR2
37022 , p_source_15_meaning IN VARCHAR2
37023 --Purchasing Encumbrance Option
37024 , p_source_17 IN VARCHAR2
37025 , p_source_17_meaning IN VARCHAR2
37026 --Accounting Reversal Indicator
37027 , p_source_19 IN VARCHAR2
37028 --Distribution Link Type
37029 , p_source_21 IN VARCHAR2
37030 --Allocation to Main Distribution Identifier
37031 , p_source_23 IN NUMBER
37032 --Invoice Identifier
37033 , p_source_24 IN NUMBER
37034 --Business Flow Accounts Payable Application Identifier
37035 , p_source_25 IN NUMBER
37036 --Business Flow Invoice Distribution Type
37037 , p_source_26 IN VARCHAR2
37038 --Business Flow Invoice Entity Code
37039 , p_source_27 IN VARCHAR2
37040 --Business Flow Invoice Distribution Identifier
37041 , p_source_28 IN NUMBER
37042 --Business Flow Invoice Identifier
37043 , p_source_29 IN NUMBER
37044 --Invoice Distribution Identifier
37045 , p_source_30 IN NUMBER
37046 --Payables Encumbrance Upgrade Credit Account
37047 , p_source_31 IN NUMBER
37048 --Payables Encumbrance Upgrade Credit Amount
37049 , p_source_32 IN NUMBER
37050 --Invoice Currency Code
37051 , p_source_33 IN VARCHAR2
37052 --Payables Encumbrance Upgrade Credit Base Amount
37053 , p_source_34 IN NUMBER
37054 --Payables Encumbrance Upgrade Debit Account
37055 , p_source_35 IN NUMBER
37056 --Payables Encumbrance Upgrade Debit Amount
37057 , p_source_36 IN NUMBER
37058 --Payables Encumbrance Upgrade Debit Base Amount
37059 , p_source_37 IN NUMBER
37060 --Payables Encumbrance Upgrade Option
37061 , p_source_38 IN VARCHAR2
37062 --Invoice Exchange Date
37063 , p_source_39 IN DATE
37064 --Invoice Exchange Rate
37065 , p_source_40 IN NUMBER
37066 --Invoice Exchange Rate Type
37067 , p_source_41 IN VARCHAR2
37068 --Deferred Accounting End Date
37069 , p_source_43 IN DATE
37070 --Deferred Accounting Option
37071 , p_source_44 IN VARCHAR2
37072 --Deferred Accounting Start Date
37073 , p_source_45 IN DATE
37074 --Override Accounted Amount Indicator
37075 , p_source_46 IN VARCHAR2
37076 , p_source_46_meaning IN VARCHAR2
37080 , p_source_48 IN NUMBER
37077 --Invoice Supplier Identifier
37078 , p_source_47 IN NUMBER
37079 --Invoice Supplier Site Identifier
37081 --Third Party Type
37082 , p_source_49 IN VARCHAR2
37083 --Parent Reversal Identifier
37084 , p_source_50 IN NUMBER
37085 --Invoice Distribution Tax Line Identifier
37086 , p_source_52 IN NUMBER
37087 --Invoice Distribution Tax Distribution Identifier from Tax
37088 , p_source_53 IN NUMBER
37089 --Invoice Distribution Summary Tax Line Identifier
37090 , p_source_54 IN NUMBER
37091 --Payables Upgrade Credit Encumbrance Type Identifier
37092 , p_source_55 IN NUMBER
37093 --Payables Upgrade Debit Encumbrance Type Identifier
37094 , p_source_56 IN NUMBER
37095 --Self-Assessed Tax Flag
37096 , p_source_59 IN VARCHAR2
37097 , p_source_59_meaning IN VARCHAR2
37098 --Invoice Distribution Encumbrance Amount
37099 , p_source_65 IN NUMBER
37100 --Invoice Distribution Encumbrance Ledger Amount
37101 , p_source_66 IN NUMBER
37102 )
37103 IS
37104
37105 l_component_type VARCHAR2(80);
37106 l_component_code VARCHAR2(30);
37107 l_component_type_code VARCHAR2(1);
37108 l_component_appl_id INTEGER;
37109 l_amb_context_code VARCHAR2(30);
37110 l_entity_code VARCHAR2(30);
37111 l_event_class_code VARCHAR2(30);
37112 l_ae_header_id NUMBER;
37113 l_event_type_code VARCHAR2(30);
37114 l_line_definition_code VARCHAR2(30);
37115 l_line_definition_owner_code VARCHAR2(1);
37116 --
37117 -- adr variables
37118 l_segment VARCHAR2(30);
37119 l_ccid NUMBER;
37120 l_adr_transaction_coa_id NUMBER;
37121 l_adr_accounting_coa_id NUMBER;
37122 l_adr_flexfield_segment_code VARCHAR2(30);
37123 l_adr_flex_value_set_id NUMBER;
37124 l_adr_value_type_code VARCHAR2(30);
37125 l_adr_value_combination_id NUMBER;
37126 l_adr_value_segment_code VARCHAR2(30);
37127
37128 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
37129 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
37130 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
37131 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
37132
37133 -- 4262811 Variables ------------------------------------------------------------------------------------------
37134 l_entered_amt_idx NUMBER;
37135 l_accted_amt_idx NUMBER;
37136 l_acc_rev_flag VARCHAR2(1);
37137 l_accrual_line_num NUMBER;
37138 l_tmp_amt NUMBER;
37139 l_acc_rev_natural_side_code VARCHAR2(1);
37140
37141 l_num_entries NUMBER;
37142 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
37143 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
37144 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
37145 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
37146 l_recog_line_1 NUMBER;
37147 l_recog_line_2 NUMBER;
37148
37149 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
37150 l_bflow_applied_to_amt NUMBER; -- 5132302
37151 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
37152
37153 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
37154
37155 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
37156 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
37157
37158 ---------------------------------------------------------------------------------------------------------------
37159
37160
37161 --
37162 -- bulk performance
37163 --
37164 l_balance_type_code VARCHAR2(1);
37165 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
37166 l_log_module VARCHAR2(240);
37167
37168 --
37169 -- Upgrade strategy
37170 --
37171 l_actual_upg_option VARCHAR2(1);
37172 l_enc_upg_option VARCHAR2(1);
37173
37174 --
37175 BEGIN
37176 --
37177 IF g_log_enabled THEN
37178 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_63';
37179 END IF;
37180 --
37181 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
37182
37183 trace
37184 (p_msg => 'BEGIN of AcctLineType_63'
37185 ,p_level => C_LEVEL_PROCEDURE
37186 ,p_module => l_log_module);
37187
37188 END IF;
37189 --
37190 l_component_type := 'AMB_JLT';
37191 l_component_code := 'AP_SELFASSD_NREC_TAX_DM_ENC_DR';
37192 l_component_type_code := 'S';
37193 l_component_appl_id := 200;
37194 l_amb_context_code := 'DEFAULT';
37195 l_entity_code := 'AP_INVOICES';
37196 l_event_class_code := 'DEBIT MEMOS';
37197 l_event_type_code := 'DEBIT MEMOS_ALL';
37198 l_line_definition_owner_code := 'S';
37199 l_line_definition_code := 'ENC_DM_ALL';
37200 --
37201 l_balance_type_code := 'E';
37202 l_segment := NULL;
37203 l_ccid := NULL;
37204 l_adr_transaction_coa_id := NULL;
37205 l_adr_accounting_coa_id := NULL;
37206 l_adr_flexfield_segment_code := NULL;
37210 l_adr_value_segment_code := NULL;
37207 l_adr_flex_value_set_id := NULL;
37208 l_adr_value_type_code := NULL;
37209 l_adr_value_combination_id := NULL;
37211
37212 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
37213 l_bflow_class_code := 'AP_INV_ENCUM'; -- 4219869 Business Flow
37214 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
37215 l_budgetary_control_flag := 'Y';
37216
37217 l_bflow_applied_to_amt_idx := NULL; -- 5132302
37218 l_bflow_applied_to_amt := NULL; -- 5132302
37219 l_entered_amt_idx := NULL; -- 4262811
37220 l_accted_amt_idx := NULL; -- 4262811
37221 l_acc_rev_flag := NULL; -- 4262811
37222 l_accrual_line_num := NULL; -- 4262811
37223 l_tmp_amt := NULL; -- 4262811
37224 --
37225
37226 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
37227 l_balance_type_code <> 'B' THEN
37228 IF NVL(p_source_15,'
37229 ') = 'NONREC_TAX' AND
37230 NVL(p_source_59,'
37231 ') = 'Y' AND
37232 NVL(p_source_17,'
37233 ') = 'Y'
37234 THEN
37235
37236 --
37237 XLA_AE_LINES_PKG.SetNewLine;
37238
37239 p_balance_type_code := l_balance_type_code;
37240 -- set the flag so later we will know whether the gain loss line needs to be created
37241
37242 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
37243 p_actual_flag :='A';
37244 END IF;
37245
37246 --
37247 -- bulk performance
37248 --
37249 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
37250 p_header_num => 0); -- 4262811
37251 --
37252 -- set accounting line options
37253 --
37254 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
37255 p_natural_side_code => 'D'
37256 , p_gain_or_loss_flag => 'N'
37257 , p_gl_transfer_mode_code => 'S'
37258 , p_acct_entry_type_code => 'E'
37259 , p_switch_side_flag => 'Y'
37260 , p_merge_duplicate_code => 'N'
37261 );
37262 --
37263 l_acc_rev_natural_side_code := 'C'; -- 4262811
37264 --
37265 --
37266 -- set accounting line type info
37267 --
37268 xla_ae_lines_pkg.SetAcctLineType
37269 (p_component_type => l_component_type
37270 ,p_event_type_code => l_event_type_code
37271 ,p_line_definition_owner_code => l_line_definition_owner_code
37272 ,p_line_definition_code => l_line_definition_code
37273 ,p_accounting_line_code => l_component_code
37274 ,p_accounting_line_type_code => l_component_type_code
37275 ,p_accounting_line_appl_id => l_component_appl_id
37276 ,p_amb_context_code => l_amb_context_code
37277 ,p_entity_code => l_entity_code
37278 ,p_event_class_code => l_event_class_code);
37279 --
37280 -- set accounting class
37281 --
37282 xla_ae_lines_pkg.SetAcctClass(
37283 p_accounting_class_code => 'SELF_ASSESSED_TAX'
37284 , p_ae_header_id => l_ae_header_id
37285 );
37286
37287 --
37288 -- set rounding class
37289 --
37290 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
37291 'SELF_ASSESSED_TAX';
37292
37293 --
37294 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
37295 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
37296 --
37297 -- bulk performance
37298 --
37299 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
37300
37301 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
37302 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
37303
37304 -- 4955764
37305 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
37306 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
37307
37308 -- 4458381 Public Sector Enh
37309 XLA_AE_LINES_PKG.g_rec_lines.array_encumbrance_type_id(XLA_AE_LINES_PKG.g_LineNumber) := 1060;
37310 --
37311 -- set accounting attributes for the line type
37312 --
37313 l_entered_amt_idx := 23;
37314 l_accted_amt_idx := 28;
37315 l_bflow_applied_to_amt_idx := NULL; -- 5132302
37316 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
37317 l_rec_acct_attrs.array_char_value(1) := p_source_19;
37318 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
37319 l_rec_acct_attrs.array_num_value(2) :=
37320 xla_ae_sources_pkg.GetSystemSourceNum(
37321 p_source_code => 'XLA_EVENT_APPL_ID'
37322 , p_source_type_code => 'Y'
37323 , p_source_application_id => 602
37324 );
37325 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
37326 l_rec_acct_attrs.array_char_value(3) := p_source_21;
37327 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
37328 l_rec_acct_attrs.array_char_value(4) :=
37329 xla_ae_sources_pkg.GetSystemSourceChar(
37333 );
37330 p_source_code => 'XLA_ENTITY_CODE'
37331 , p_source_type_code => 'Y'
37332 , p_source_application_id => 602
37334 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
37335 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_23);
37336 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
37337 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_24);
37338 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
37339 l_rec_acct_attrs.array_num_value(7) := p_source_25;
37340 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
37341 l_rec_acct_attrs.array_char_value(8) := p_source_26;
37342 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
37343 l_rec_acct_attrs.array_char_value(9) := p_source_27;
37344 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
37345 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_28);
37346 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
37347 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_29);
37348 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
37349 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_30);
37350 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
37351 l_rec_acct_attrs.array_char_value(13) := p_source_21;
37352 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
37353 l_rec_acct_attrs.array_num_value(14) := p_source_31;
37354 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
37355 l_rec_acct_attrs.array_num_value(15) := p_source_32;
37356 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
37357 l_rec_acct_attrs.array_char_value(16) := p_source_33;
37358 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
37359 l_rec_acct_attrs.array_num_value(17) := p_source_34;
37360 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
37361 l_rec_acct_attrs.array_num_value(18) := p_source_35;
37362 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
37363 l_rec_acct_attrs.array_num_value(19) := p_source_36;
37364 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
37365 l_rec_acct_attrs.array_char_value(20) := p_source_33;
37366 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
37367 l_rec_acct_attrs.array_num_value(21) := p_source_37;
37368 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
37369 l_rec_acct_attrs.array_char_value(22) := p_source_38;
37370 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
37371 l_rec_acct_attrs.array_num_value(23) := p_source_65;
37372 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
37373 l_rec_acct_attrs.array_char_value(24) := p_source_33;
37374 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
37375 l_rec_acct_attrs.array_date_value(25) := p_source_39;
37376 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
37377 l_rec_acct_attrs.array_num_value(26) := p_source_40;
37378 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
37379 l_rec_acct_attrs.array_char_value(27) := p_source_41;
37380 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
37381 l_rec_acct_attrs.array_num_value(28) := p_source_66;
37382 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
37383 l_rec_acct_attrs.array_date_value(29) := p_source_43;
37384 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
37385 l_rec_acct_attrs.array_char_value(30) := p_source_44;
37386 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
37387 l_rec_acct_attrs.array_date_value(31) := p_source_45;
37388 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
37389 l_rec_acct_attrs.array_char_value(32) := p_source_46;
37390 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
37391 l_rec_acct_attrs.array_num_value(33) := p_source_47;
37392 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
37393 l_rec_acct_attrs.array_num_value(34) := p_source_48;
37394 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
37395 l_rec_acct_attrs.array_char_value(35) := p_source_49;
37396 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
37397 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_50);
37398 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
37399 l_rec_acct_attrs.array_char_value(37) := p_source_21;
37400 l_rec_acct_attrs.array_acct_attr_code(38) := 'TAX_LINE_REF_ID';
37401 l_rec_acct_attrs.array_num_value(38) := p_source_52;
37402 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_REC_NREC_DIST_REF_ID';
37403 l_rec_acct_attrs.array_num_value(39) := p_source_53;
37404 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_SUMMARY_LINE_REF_ID';
37405 l_rec_acct_attrs.array_num_value(40) := p_source_54;
37406 l_rec_acct_attrs.array_acct_attr_code(41) := 'UPG_CR_ENC_TYPE_ID';
37407 l_rec_acct_attrs.array_num_value(41) := p_source_55;
37408 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_DR_ENC_TYPE_ID';
37409 l_rec_acct_attrs.array_num_value(42) := p_source_56;
37410
37411 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
37412 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
37413
37417 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
37414 ---------------------------------------------------------------------------------------------------------------
37415 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
37416 ---------------------------------------------------------------------------------------------------------------
37418
37419 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
37420 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
37421
37422 IF xla_accounting_cache_pkg.GetValueChar
37423 (p_source_code => 'LEDGER_CATEGORY_CODE'
37424 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
37425 AND l_bflow_method_code = 'PRIOR_ENTRY'
37426 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
37427 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
37428 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
37429 )
37430 THEN
37431 xla_ae_lines_pkg.BflowUpgEntry
37432 (p_business_method_code => l_bflow_method_code
37433 ,p_business_class_code => l_bflow_class_code
37434 ,p_balance_type => l_balance_type_code);
37435 ELSE
37436 NULL;
37437 -- No business flow processing for business flow method of NONE.
37438 END IF;
37439
37440 --
37441 -- call analytical criteria
37442 --
37443
37444 --
37445 -- call description
37446 --
37447
37448 xla_ae_lines_pkg.SetLineDescription(
37449 p_ae_header_id => l_ae_header_id
37450 ,p_description => Description_2 (
37451 p_application_id => p_application_id
37452 , p_ae_header_id => l_ae_header_id
37453 , p_source_1 => p_source_1
37454 )
37455 );
37456
37457
37458 --
37459 -- call ADRs
37460 -- Bug 4922099
37461 --
37462 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
37463 (NVL(l_actual_upg_option, 'N') = 'O') OR
37464 (NVL(l_enc_upg_option, 'N') = 'O')
37465 )
37466 THEN
37467 NULL;
37468 --
37469 --
37470
37471 l_ccid := AcctDerRule_8(
37472 p_application_id => p_application_id
37473 , p_ae_header_id => l_ae_header_id
37474 , p_source_13 => p_source_13
37475 , x_transaction_coa_id => l_adr_transaction_coa_id
37476 , x_accounting_coa_id => l_adr_accounting_coa_id
37477 , x_value_type_code => l_adr_value_type_code
37478 , p_side => 'NA'
37479 );
37480
37481 xla_ae_lines_pkg.set_ccid(
37482 p_code_combination_id => l_ccid
37483 , p_value_type_code => l_adr_value_type_code
37484 , p_transaction_coa_id => l_adr_transaction_coa_id
37485 , p_accounting_coa_id => l_adr_accounting_coa_id
37486 , p_adr_code => 'AP_SELF_ASSESSED_TAX'
37487 , p_adr_type_code => 'S'
37488 , p_component_type => l_component_type
37489 , p_component_code => l_component_code
37490 , p_component_type_code => l_component_type_code
37491 , p_component_appl_id => l_component_appl_id
37492 , p_amb_context_code => l_amb_context_code
37493 , p_side => 'NA'
37494 );
37495
37496
37497 --
37498 --
37499 END IF;
37500 --
37501 -- Bug 4922099
37502 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
37503 (NVL(l_enc_upg_option, 'N') = 'O')
37504 ) AND
37505 (l_bflow_method_code = 'PRIOR_ENTRY')
37506 )
37507 THEN
37508 IF
37509 --
37510 1 = 2
37511 --
37512 THEN
37513 xla_accounting_err_pkg.build_message
37514 (p_appli_s_name => 'XLA'
37515 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
37516 ,p_token_1 => 'LINE_NUMBER'
37517 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
37518 ,p_token_2 => 'LINE_TYPE_NAME'
37519 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
37520 l_component_type
37521 ,l_component_code
37522 ,l_component_type_code
37523 ,l_component_appl_id
37524 ,l_amb_context_code
37525 ,l_entity_code
37526 ,l_event_class_code
37527 )
37528 ,p_token_3 => 'OWNER'
37529 ,p_value_3 => xla_lookups_pkg.get_meaning(
37533 ,p_token_4 => 'PRODUCT_NAME'
37530 p_lookup_type => 'XLA_OWNER_TYPE'
37531 ,p_lookup_code => l_component_type_code
37532 )
37534 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
37535 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
37536 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
37537 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
37538 ,p_ae_header_id => NULL
37539 );
37540
37541 IF (C_LEVEL_ERROR>= g_log_level) THEN
37542 trace
37543 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
37544 ,p_level => C_LEVEL_ERROR
37545 ,p_module => l_log_module);
37546 END IF;
37547 END IF;
37548 END IF;
37549 --
37550 --
37551 ------------------------------------------------------------------------------------------------
37552 -- 4219869 Business Flow
37553 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
37554 -- Prior Entry. Currently, the following code is always generated.
37555 ------------------------------------------------------------------------------------------------
37556 XLA_AE_LINES_PKG.ValidateCurrentLine;
37557
37558 ------------------------------------------------------------------------------------
37559 -- 4219869 Business Flow
37560 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
37561 ------------------------------------------------------------------------------------
37562 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
37563
37564 ----------------------------------------------------------------------------------
37565 -- 4219869 Business Flow
37566 -- Update journal entry status -- Need to generate this within IF <condition>
37567 ----------------------------------------------------------------------------------
37568 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
37569 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
37570 ,p_balance_type_code => l_balance_type_code
37571 );
37572
37573 -------------------------------------------------------------------------------------------
37574 -- 4262811 - Generate the Accrual Reversal lines
37575 -------------------------------------------------------------------------------------------
37576 BEGIN
37577 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
37578 (g_array_event(p_event_id).array_value_num('header_index'));
37579 IF l_acc_rev_flag IS NULL THEN
37580 l_acc_rev_flag := 'N';
37581 END IF;
37582 EXCEPTION
37583 WHEN OTHERS THEN
37584 l_acc_rev_flag := 'N';
37585 END;
37586 --
37587 IF (l_acc_rev_flag = 'Y') THEN
37588
37589 -- 4645092 ------------------------------------------------------------------------------
37590 -- To allow MPA report to determine if it should generate report process
37591 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
37592 ------------------------------------------------------------------------------------------
37593
37594 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
37595 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
37596 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
37597 -- call ADRs
37598 -- Bug 4922099
37599 --
37600 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
37601 (NVL(l_actual_upg_option, 'N') = 'O') OR
37602 (NVL(l_enc_upg_option, 'N') = 'O')
37603 )
37604 THEN
37605 NULL;
37606 --
37607 --
37608
37609 l_ccid := AcctDerRule_8(
37610 p_application_id => p_application_id
37611 , p_ae_header_id => l_ae_header_id
37612 , p_source_13 => p_source_13
37613 , x_transaction_coa_id => l_adr_transaction_coa_id
37614 , x_accounting_coa_id => l_adr_accounting_coa_id
37615 , x_value_type_code => l_adr_value_type_code
37616 , p_side => 'NA'
37617 );
37618
37619 xla_ae_lines_pkg.set_ccid(
37620 p_code_combination_id => l_ccid
37621 , p_value_type_code => l_adr_value_type_code
37622 , p_transaction_coa_id => l_adr_transaction_coa_id
37623 , p_accounting_coa_id => l_adr_accounting_coa_id
37624 , p_adr_code => 'AP_SELF_ASSESSED_TAX'
37625 , p_adr_type_code => 'S'
37626 , p_component_type => l_component_type
37627 , p_component_code => l_component_code
37628 , p_component_type_code => l_component_type_code
37629 , p_component_appl_id => l_component_appl_id
37630 , p_amb_context_code => l_amb_context_code
37631 , p_side => 'NA'
37632 );
37633
37634
37635 --
37636 --
37637 END IF;
37638
37639 --
37643 p_header_num => 1);
37640 -- Update the line information that should be overwritten
37641 --
37642 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
37644 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
37645
37646 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
37647
37648 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
37649 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
37650 END IF;
37651
37652 --
37653 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
37654 --
37655 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
37656 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
37657 ELSE
37658 ---------------------------------------------------------------------------------------------------
37659 -- 4262811a Switch Sign
37660 ---------------------------------------------------------------------------------------------------
37661 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
37662 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
37663 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
37664 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
37665 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
37666 -- 5132302
37667 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
37668 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
37669
37670 END IF;
37671
37672 -- 4955764
37673 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
37674 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
37675
37676
37677 XLA_AE_LINES_PKG.ValidateCurrentLine;
37678 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
37679
37680 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
37681 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
37682 ,p_balance_type_code => l_balance_type_code);
37683
37684 END IF;
37685
37686 -----------------------------------------------------------------------------------------
37687 -- 4262811 Multiperiod Accounting
37688 -----------------------------------------------------------------------------------------
37689 -- No MPA option is assigned.
37690
37691
37692 END IF;
37693 END IF;
37694 --
37695
37696 --
37697 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
37698 trace
37699 (p_msg => 'END of AcctLineType_63'
37700 ,p_level => C_LEVEL_PROCEDURE
37701 ,p_module => l_log_module);
37702 END IF;
37703 --
37704 EXCEPTION
37705 WHEN xla_exceptions_pkg.application_exception THEN
37706 RAISE;
37707 WHEN OTHERS THEN
37708 xla_exceptions_pkg.raise_message
37709 (p_location => 'XLA_00200_AAD_S_000006_BC_PKG.AcctLineType_63');
37710 END AcctLineType_63;
37711 --
37712
37713 ---------------------------------------
37714 --
37715 -- PRIVATE FUNCTION
37716 -- AcctLineType_64
37717 --
37718 ---------------------------------------
37719 PROCEDURE AcctLineType_64 (
37720 p_application_id IN NUMBER
37721 ,p_event_id IN NUMBER
37722 ,p_calculate_acctd_flag IN VARCHAR2
37723 ,p_calculate_g_l_flag IN VARCHAR2
37724 ,p_actual_flag IN OUT VARCHAR2
37725 ,p_balance_type_code OUT VARCHAR2
37726 ,p_gain_or_loss_ref OUT VARCHAR2
37727
37728 --Invoice Distribution Description
37729 , p_source_1 IN VARCHAR2
37730 --Self-Assessed Tax Account
37731 , p_source_13 IN NUMBER
37732 --Invoice Distribution Type
37733 , p_source_15 IN VARCHAR2
37734 , p_source_15_meaning IN VARCHAR2
37735 --Purchasing Encumbrance Option
37736 , p_source_17 IN VARCHAR2
37737 , p_source_17_meaning IN VARCHAR2
37738 --Accounting Reversal Indicator
37739 , p_source_19 IN VARCHAR2
37740 --Distribution Link Type
37741 , p_source_21 IN VARCHAR2
37742 --Allocation to Main Distribution Identifier
37743 , p_source_23 IN NUMBER
37744 --Invoice Identifier
37745 , p_source_24 IN NUMBER
37746 --Business Flow Accounts Payable Application Identifier
37747 , p_source_25 IN NUMBER
37748 --Business Flow Invoice Distribution Type
37749 , p_source_26 IN VARCHAR2
37750 --Business Flow Invoice Entity Code
37751 , p_source_27 IN VARCHAR2
37752 --Business Flow Invoice Distribution Identifier
37753 , p_source_28 IN NUMBER
37754 --Business Flow Invoice Identifier
37755 , p_source_29 IN NUMBER
37756 --Invoice Distribution Identifier
37757 , p_source_30 IN NUMBER
37758 --Payables Encumbrance Upgrade Credit Account
37759 , p_source_31 IN NUMBER
37763 , p_source_33 IN VARCHAR2
37760 --Payables Encumbrance Upgrade Credit Amount
37761 , p_source_32 IN NUMBER
37762 --Invoice Currency Code
37764 --Payables Encumbrance Upgrade Credit Base Amount
37765 , p_source_34 IN NUMBER
37766 --Payables Encumbrance Upgrade Debit Account
37767 , p_source_35 IN NUMBER
37768 --Payables Encumbrance Upgrade Debit Amount
37769 , p_source_36 IN NUMBER
37770 --Payables Encumbrance Upgrade Debit Base Amount
37771 , p_source_37 IN NUMBER
37772 --Payables Encumbrance Upgrade Option
37773 , p_source_38 IN VARCHAR2
37774 --Invoice Exchange Date
37775 , p_source_39 IN DATE
37776 --Invoice Exchange Rate
37777 , p_source_40 IN NUMBER
37778 --Invoice Exchange Rate Type
37779 , p_source_41 IN VARCHAR2
37780 --Deferred Accounting End Date
37781 , p_source_43 IN DATE
37782 --Deferred Accounting Option
37783 , p_source_44 IN VARCHAR2
37784 --Deferred Accounting Start Date
37785 , p_source_45 IN DATE
37786 --Override Accounted Amount Indicator
37787 , p_source_46 IN VARCHAR2
37788 , p_source_46_meaning IN VARCHAR2
37789 --Invoice Supplier Identifier
37790 , p_source_47 IN NUMBER
37791 --Invoice Supplier Site Identifier
37792 , p_source_48 IN NUMBER
37793 --Third Party Type
37794 , p_source_49 IN VARCHAR2
37795 --Parent Reversal Identifier
37796 , p_source_50 IN NUMBER
37797 --Invoice Distribution Statistical Amount
37798 , p_source_51 IN NUMBER
37799 --Invoice Distribution Tax Line Identifier
37800 , p_source_52 IN NUMBER
37801 --Invoice Distribution Tax Distribution Identifier from Tax
37802 , p_source_53 IN NUMBER
37803 --Invoice Distribution Summary Tax Line Identifier
37804 , p_source_54 IN NUMBER
37805 --Payables Upgrade Credit Encumbrance Type Identifier
37806 , p_source_55 IN NUMBER
37807 --Payables Upgrade Debit Encumbrance Type Identifier
37808 , p_source_56 IN NUMBER
37809 --Self-Assessed Tax Flag
37810 , p_source_59 IN VARCHAR2
37811 , p_source_59_meaning IN VARCHAR2
37812 --Invoice Distribution Encumbrance Amount
37813 , p_source_65 IN NUMBER
37814 --Invoice Distribution Encumbrance Ledger Amount
37815 , p_source_66 IN NUMBER
37816 )
37817 IS
37818
37819 l_component_type VARCHAR2(80);
37820 l_component_code VARCHAR2(30);
37821 l_component_type_code VARCHAR2(1);
37822 l_component_appl_id INTEGER;
37823 l_amb_context_code VARCHAR2(30);
37824 l_entity_code VARCHAR2(30);
37825 l_event_class_code VARCHAR2(30);
37826 l_ae_header_id NUMBER;
37827 l_event_type_code VARCHAR2(30);
37828 l_line_definition_code VARCHAR2(30);
37829 l_line_definition_owner_code VARCHAR2(1);
37830 --
37831 -- adr variables
37832 l_segment VARCHAR2(30);
37833 l_ccid NUMBER;
37834 l_adr_transaction_coa_id NUMBER;
37835 l_adr_accounting_coa_id NUMBER;
37836 l_adr_flexfield_segment_code VARCHAR2(30);
37837 l_adr_flex_value_set_id NUMBER;
37838 l_adr_value_type_code VARCHAR2(30);
37839 l_adr_value_combination_id NUMBER;
37840 l_adr_value_segment_code VARCHAR2(30);
37841
37842 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
37843 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
37844 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
37845 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
37846
37847 -- 4262811 Variables ------------------------------------------------------------------------------------------
37848 l_entered_amt_idx NUMBER;
37849 l_accted_amt_idx NUMBER;
37850 l_acc_rev_flag VARCHAR2(1);
37851 l_accrual_line_num NUMBER;
37852 l_tmp_amt NUMBER;
37853 l_acc_rev_natural_side_code VARCHAR2(1);
37854
37855 l_num_entries NUMBER;
37856 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
37857 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
37858 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
37859 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
37860 l_recog_line_1 NUMBER;
37861 l_recog_line_2 NUMBER;
37862
37863 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
37864 l_bflow_applied_to_amt NUMBER; -- 5132302
37865 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
37866
37867 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
37868
37869 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
37870 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
37871
37872 ---------------------------------------------------------------------------------------------------------------
37873
37874
37875 --
37876 -- bulk performance
37877 --
37878 l_balance_type_code VARCHAR2(1);
37879 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
37880 l_log_module VARCHAR2(240);
37881
37882 --
37883 -- Upgrade strategy
37884 --
37888 --
37885 l_actual_upg_option VARCHAR2(1);
37886 l_enc_upg_option VARCHAR2(1);
37887
37889 BEGIN
37890 --
37891 IF g_log_enabled THEN
37892 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_64';
37893 END IF;
37894 --
37895 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
37896
37897 trace
37898 (p_msg => 'BEGIN of AcctLineType_64'
37899 ,p_level => C_LEVEL_PROCEDURE
37900 ,p_module => l_log_module);
37901
37902 END IF;
37903 --
37904 l_component_type := 'AMB_JLT';
37905 l_component_code := 'AP_SELFASSD_NREC_TAX_PP_ENC_DR';
37906 l_component_type_code := 'S';
37907 l_component_appl_id := 200;
37908 l_amb_context_code := 'DEFAULT';
37909 l_entity_code := 'AP_INVOICES';
37910 l_event_class_code := 'PREPAYMENTS';
37911 l_event_type_code := 'PREPAYMENTS_ALL';
37912 l_line_definition_owner_code := 'S';
37913 l_line_definition_code := 'ENC_PREPAY_ALL';
37914 --
37915 l_balance_type_code := 'E';
37916 l_segment := NULL;
37917 l_ccid := NULL;
37918 l_adr_transaction_coa_id := NULL;
37919 l_adr_accounting_coa_id := NULL;
37920 l_adr_flexfield_segment_code := NULL;
37921 l_adr_flex_value_set_id := NULL;
37922 l_adr_value_type_code := NULL;
37923 l_adr_value_combination_id := NULL;
37924 l_adr_value_segment_code := NULL;
37925
37926 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
37927 l_bflow_class_code := 'AP_INV_ENCUM'; -- 4219869 Business Flow
37928 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
37929 l_budgetary_control_flag := 'Y';
37930
37931 l_bflow_applied_to_amt_idx := NULL; -- 5132302
37932 l_bflow_applied_to_amt := NULL; -- 5132302
37933 l_entered_amt_idx := NULL; -- 4262811
37934 l_accted_amt_idx := NULL; -- 4262811
37935 l_acc_rev_flag := NULL; -- 4262811
37936 l_accrual_line_num := NULL; -- 4262811
37937 l_tmp_amt := NULL; -- 4262811
37938 --
37939
37940 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
37941 l_balance_type_code <> 'B' THEN
37942 IF NVL(p_source_15,'
37943 ') = 'NONREC_TAX' AND
37944 NVL(p_source_59,'
37945 ') = 'Y' AND
37946 NVL(p_source_17,'
37947 ') = 'Y'
37948 THEN
37949
37950 --
37951 XLA_AE_LINES_PKG.SetNewLine;
37952
37953 p_balance_type_code := l_balance_type_code;
37954 -- set the flag so later we will know whether the gain loss line needs to be created
37955
37956 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
37957 p_actual_flag :='A';
37958 END IF;
37959
37960 --
37961 -- bulk performance
37962 --
37963 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
37964 p_header_num => 0); -- 4262811
37965 --
37966 -- set accounting line options
37967 --
37968 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
37969 p_natural_side_code => 'D'
37970 , p_gain_or_loss_flag => 'N'
37971 , p_gl_transfer_mode_code => 'S'
37972 , p_acct_entry_type_code => 'E'
37973 , p_switch_side_flag => 'Y'
37974 , p_merge_duplicate_code => 'N'
37975 );
37976 --
37977 l_acc_rev_natural_side_code := 'C'; -- 4262811
37978 --
37979 --
37980 -- set accounting line type info
37981 --
37982 xla_ae_lines_pkg.SetAcctLineType
37983 (p_component_type => l_component_type
37984 ,p_event_type_code => l_event_type_code
37985 ,p_line_definition_owner_code => l_line_definition_owner_code
37986 ,p_line_definition_code => l_line_definition_code
37987 ,p_accounting_line_code => l_component_code
37988 ,p_accounting_line_type_code => l_component_type_code
37989 ,p_accounting_line_appl_id => l_component_appl_id
37990 ,p_amb_context_code => l_amb_context_code
37991 ,p_entity_code => l_entity_code
37992 ,p_event_class_code => l_event_class_code);
37993 --
37994 -- set accounting class
37995 --
37996 xla_ae_lines_pkg.SetAcctClass(
37997 p_accounting_class_code => 'SELF_ASSESSED_TAX'
37998 , p_ae_header_id => l_ae_header_id
37999 );
38000
38001 --
38002 -- set rounding class
38003 --
38004 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
38005 'SELF_ASSESSED_TAX';
38006
38007 --
38008 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
38009 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
38010 --
38011 -- bulk performance
38012 --
38013 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
38014
38015 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
38016 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
38017
38018 -- 4955764
38022 -- 4458381 Public Sector Enh
38019 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
38020 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
38021
38023 XLA_AE_LINES_PKG.g_rec_lines.array_encumbrance_type_id(XLA_AE_LINES_PKG.g_LineNumber) := 1060;
38024 --
38025 -- set accounting attributes for the line type
38026 --
38027 l_entered_amt_idx := 23;
38028 l_accted_amt_idx := 28;
38029 l_bflow_applied_to_amt_idx := NULL; -- 5132302
38030 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
38031 l_rec_acct_attrs.array_char_value(1) := p_source_19;
38032 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
38033 l_rec_acct_attrs.array_num_value(2) :=
38034 xla_ae_sources_pkg.GetSystemSourceNum(
38035 p_source_code => 'XLA_EVENT_APPL_ID'
38036 , p_source_type_code => 'Y'
38037 , p_source_application_id => 602
38038 );
38039 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
38040 l_rec_acct_attrs.array_char_value(3) := p_source_21;
38041 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
38042 l_rec_acct_attrs.array_char_value(4) :=
38043 xla_ae_sources_pkg.GetSystemSourceChar(
38044 p_source_code => 'XLA_ENTITY_CODE'
38045 , p_source_type_code => 'Y'
38046 , p_source_application_id => 602
38047 );
38048 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
38049 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_23);
38050 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
38051 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_24);
38052 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
38053 l_rec_acct_attrs.array_num_value(7) := p_source_25;
38054 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
38055 l_rec_acct_attrs.array_char_value(8) := p_source_26;
38056 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
38057 l_rec_acct_attrs.array_char_value(9) := p_source_27;
38058 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
38059 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_28);
38060 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
38061 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_29);
38062 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
38063 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_30);
38064 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
38065 l_rec_acct_attrs.array_char_value(13) := p_source_21;
38066 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
38067 l_rec_acct_attrs.array_num_value(14) := p_source_31;
38068 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
38069 l_rec_acct_attrs.array_num_value(15) := p_source_32;
38070 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
38071 l_rec_acct_attrs.array_char_value(16) := p_source_33;
38072 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
38073 l_rec_acct_attrs.array_num_value(17) := p_source_34;
38074 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
38075 l_rec_acct_attrs.array_num_value(18) := p_source_35;
38076 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
38077 l_rec_acct_attrs.array_num_value(19) := p_source_36;
38078 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
38079 l_rec_acct_attrs.array_char_value(20) := p_source_33;
38080 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
38081 l_rec_acct_attrs.array_num_value(21) := p_source_37;
38082 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
38083 l_rec_acct_attrs.array_char_value(22) := p_source_38;
38084 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
38085 l_rec_acct_attrs.array_num_value(23) := p_source_65;
38086 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
38087 l_rec_acct_attrs.array_char_value(24) := p_source_33;
38088 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
38089 l_rec_acct_attrs.array_date_value(25) := p_source_39;
38090 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
38091 l_rec_acct_attrs.array_num_value(26) := p_source_40;
38092 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
38093 l_rec_acct_attrs.array_char_value(27) := p_source_41;
38094 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
38095 l_rec_acct_attrs.array_num_value(28) := p_source_66;
38096 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
38097 l_rec_acct_attrs.array_date_value(29) := p_source_43;
38098 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
38099 l_rec_acct_attrs.array_char_value(30) := p_source_44;
38100 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
38101 l_rec_acct_attrs.array_date_value(31) := p_source_45;
38102 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
38103 l_rec_acct_attrs.array_char_value(32) := p_source_46;
38104 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
38105 l_rec_acct_attrs.array_num_value(33) := p_source_47;
38106 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
38107 l_rec_acct_attrs.array_num_value(34) := p_source_48;
38108 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
38112 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
38109 l_rec_acct_attrs.array_char_value(35) := p_source_49;
38110 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
38111 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_50);
38113 l_rec_acct_attrs.array_char_value(37) := p_source_21;
38114 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
38115 l_rec_acct_attrs.array_num_value(38) := p_source_51;
38116 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
38117 l_rec_acct_attrs.array_num_value(39) := p_source_52;
38118 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
38119 l_rec_acct_attrs.array_num_value(40) := p_source_53;
38120 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
38121 l_rec_acct_attrs.array_num_value(41) := p_source_54;
38122 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
38123 l_rec_acct_attrs.array_num_value(42) := p_source_55;
38124 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
38125 l_rec_acct_attrs.array_num_value(43) := p_source_56;
38126
38127 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
38128 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
38129
38130 ---------------------------------------------------------------------------------------------------------------
38131 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
38132 ---------------------------------------------------------------------------------------------------------------
38133 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
38134
38135 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
38136 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
38137
38138 IF xla_accounting_cache_pkg.GetValueChar
38139 (p_source_code => 'LEDGER_CATEGORY_CODE'
38140 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
38141 AND l_bflow_method_code = 'PRIOR_ENTRY'
38142 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
38143 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
38144 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
38145 )
38146 THEN
38147 xla_ae_lines_pkg.BflowUpgEntry
38148 (p_business_method_code => l_bflow_method_code
38149 ,p_business_class_code => l_bflow_class_code
38150 ,p_balance_type => l_balance_type_code);
38151 ELSE
38152 NULL;
38153 -- No business flow processing for business flow method of NONE.
38154 END IF;
38155
38156 --
38157 -- call analytical criteria
38158 --
38159
38160 --
38161 -- call description
38162 --
38163
38164 xla_ae_lines_pkg.SetLineDescription(
38165 p_ae_header_id => l_ae_header_id
38166 ,p_description => Description_2 (
38167 p_application_id => p_application_id
38168 , p_ae_header_id => l_ae_header_id
38169 , p_source_1 => p_source_1
38170 )
38171 );
38172
38173
38174 --
38175 -- call ADRs
38176 -- Bug 4922099
38177 --
38178 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
38179 (NVL(l_actual_upg_option, 'N') = 'O') OR
38180 (NVL(l_enc_upg_option, 'N') = 'O')
38181 )
38182 THEN
38183 NULL;
38184 --
38185 --
38186
38187 l_ccid := AcctDerRule_8(
38188 p_application_id => p_application_id
38189 , p_ae_header_id => l_ae_header_id
38190 , p_source_13 => p_source_13
38191 , x_transaction_coa_id => l_adr_transaction_coa_id
38192 , x_accounting_coa_id => l_adr_accounting_coa_id
38193 , x_value_type_code => l_adr_value_type_code
38194 , p_side => 'NA'
38195 );
38196
38197 xla_ae_lines_pkg.set_ccid(
38198 p_code_combination_id => l_ccid
38199 , p_value_type_code => l_adr_value_type_code
38200 , p_transaction_coa_id => l_adr_transaction_coa_id
38201 , p_accounting_coa_id => l_adr_accounting_coa_id
38202 , p_adr_code => 'AP_SELF_ASSESSED_TAX'
38203 , p_adr_type_code => 'S'
38204 , p_component_type => l_component_type
38205 , p_component_code => l_component_code
38206 , p_component_type_code => l_component_type_code
38207 , p_component_appl_id => l_component_appl_id
38208 , p_amb_context_code => l_amb_context_code
38209 , p_side => 'NA'
38210 );
38211
38212
38213 --
38214 --
38215 END IF;
38216 --
38217 -- Bug 4922099
38218 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
38219 (NVL(l_enc_upg_option, 'N') = 'O')
38220 ) AND
38221 (l_bflow_method_code = 'PRIOR_ENTRY')
38222 )
38223 THEN
38224 IF
38225 --
38226 1 = 2
38227 --
38228 THEN
38229 xla_accounting_err_pkg.build_message
38230 (p_appli_s_name => 'XLA'
38234 ,p_token_2 => 'LINE_TYPE_NAME'
38231 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
38232 ,p_token_1 => 'LINE_NUMBER'
38233 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
38235 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
38236 l_component_type
38237 ,l_component_code
38238 ,l_component_type_code
38239 ,l_component_appl_id
38240 ,l_amb_context_code
38241 ,l_entity_code
38242 ,l_event_class_code
38243 )
38244 ,p_token_3 => 'OWNER'
38245 ,p_value_3 => xla_lookups_pkg.get_meaning(
38246 p_lookup_type => 'XLA_OWNER_TYPE'
38247 ,p_lookup_code => l_component_type_code
38248 )
38249 ,p_token_4 => 'PRODUCT_NAME'
38250 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
38251 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
38252 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
38253 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
38254 ,p_ae_header_id => NULL
38255 );
38256
38257 IF (C_LEVEL_ERROR>= g_log_level) THEN
38258 trace
38259 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
38260 ,p_level => C_LEVEL_ERROR
38261 ,p_module => l_log_module);
38262 END IF;
38263 END IF;
38264 END IF;
38265 --
38266 --
38267 ------------------------------------------------------------------------------------------------
38268 -- 4219869 Business Flow
38269 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
38270 -- Prior Entry. Currently, the following code is always generated.
38271 ------------------------------------------------------------------------------------------------
38272 XLA_AE_LINES_PKG.ValidateCurrentLine;
38273
38274 ------------------------------------------------------------------------------------
38275 -- 4219869 Business Flow
38276 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
38277 ------------------------------------------------------------------------------------
38278 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
38279
38280 ----------------------------------------------------------------------------------
38281 -- 4219869 Business Flow
38282 -- Update journal entry status -- Need to generate this within IF <condition>
38283 ----------------------------------------------------------------------------------
38284 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
38285 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
38286 ,p_balance_type_code => l_balance_type_code
38287 );
38288
38289 -------------------------------------------------------------------------------------------
38290 -- 4262811 - Generate the Accrual Reversal lines
38291 -------------------------------------------------------------------------------------------
38292 BEGIN
38293 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
38294 (g_array_event(p_event_id).array_value_num('header_index'));
38295 IF l_acc_rev_flag IS NULL THEN
38296 l_acc_rev_flag := 'N';
38297 END IF;
38298 EXCEPTION
38299 WHEN OTHERS THEN
38300 l_acc_rev_flag := 'N';
38301 END;
38302 --
38303 IF (l_acc_rev_flag = 'Y') THEN
38304
38305 -- 4645092 ------------------------------------------------------------------------------
38306 -- To allow MPA report to determine if it should generate report process
38307 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
38308 ------------------------------------------------------------------------------------------
38309
38310 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
38311 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
38312 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
38313 -- call ADRs
38314 -- Bug 4922099
38315 --
38316 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
38317 (NVL(l_actual_upg_option, 'N') = 'O') OR
38318 (NVL(l_enc_upg_option, 'N') = 'O')
38319 )
38320 THEN
38321 NULL;
38322 --
38323 --
38324
38328 , p_source_13 => p_source_13
38325 l_ccid := AcctDerRule_8(
38326 p_application_id => p_application_id
38327 , p_ae_header_id => l_ae_header_id
38329 , x_transaction_coa_id => l_adr_transaction_coa_id
38330 , x_accounting_coa_id => l_adr_accounting_coa_id
38331 , x_value_type_code => l_adr_value_type_code
38332 , p_side => 'NA'
38333 );
38334
38335 xla_ae_lines_pkg.set_ccid(
38336 p_code_combination_id => l_ccid
38337 , p_value_type_code => l_adr_value_type_code
38338 , p_transaction_coa_id => l_adr_transaction_coa_id
38339 , p_accounting_coa_id => l_adr_accounting_coa_id
38340 , p_adr_code => 'AP_SELF_ASSESSED_TAX'
38341 , p_adr_type_code => 'S'
38342 , p_component_type => l_component_type
38343 , p_component_code => l_component_code
38344 , p_component_type_code => l_component_type_code
38345 , p_component_appl_id => l_component_appl_id
38346 , p_amb_context_code => l_amb_context_code
38347 , p_side => 'NA'
38348 );
38349
38350
38351 --
38352 --
38353 END IF;
38354
38355 --
38356 -- Update the line information that should be overwritten
38357 --
38358 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
38359 p_header_num => 1);
38360 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
38361
38362 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
38363
38364 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
38365 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
38366 END IF;
38367
38368 --
38369 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
38370 --
38371 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
38372 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
38373 ELSE
38374 ---------------------------------------------------------------------------------------------------
38375 -- 4262811a Switch Sign
38376 ---------------------------------------------------------------------------------------------------
38377 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
38378 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
38379 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
38380 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
38381 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
38382 -- 5132302
38383 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
38384 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
38385
38386 END IF;
38387
38388 -- 4955764
38389 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
38390 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
38391
38392
38393 XLA_AE_LINES_PKG.ValidateCurrentLine;
38394 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
38395
38396 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
38397 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
38398 ,p_balance_type_code => l_balance_type_code);
38399
38400 END IF;
38401
38402 -----------------------------------------------------------------------------------------
38403 -- 4262811 Multiperiod Accounting
38404 -----------------------------------------------------------------------------------------
38405 -- No MPA option is assigned.
38406
38407
38408 END IF;
38409 END IF;
38410 --
38411
38412 --
38413 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
38414 trace
38415 (p_msg => 'END of AcctLineType_64'
38416 ,p_level => C_LEVEL_PROCEDURE
38417 ,p_module => l_log_module);
38418 END IF;
38419 --
38420 EXCEPTION
38421 WHEN xla_exceptions_pkg.application_exception THEN
38422 RAISE;
38423 WHEN OTHERS THEN
38424 xla_exceptions_pkg.raise_message
38425 (p_location => 'XLA_00200_AAD_S_000006_BC_PKG.AcctLineType_64');
38426 END AcctLineType_64;
38427 --
38428
38429 ---------------------------------------
38430 --
38431 -- PRIVATE FUNCTION
38432 -- AcctLineType_65
38433 --
38434 ---------------------------------------
38435 PROCEDURE AcctLineType_65 (
38436 p_application_id IN NUMBER
38437 ,p_event_id IN NUMBER
38438 ,p_calculate_acctd_flag IN VARCHAR2
38439 ,p_calculate_g_l_flag IN VARCHAR2
38440 ,p_actual_flag IN OUT VARCHAR2
38441 ,p_balance_type_code OUT VARCHAR2
38442 ,p_gain_or_loss_ref OUT VARCHAR2
38443
38444 --Invoice Distribution Description
38445 , p_source_1 IN VARCHAR2
38449 , p_source_7 IN VARCHAR2
38446 --Purchase Order Rate Variance Gain Account
38447 , p_source_6 IN NUMBER
38448 --Automatic Offsets Value
38450 , p_source_7_meaning IN VARCHAR2
38451 --Invoice Distribution Ledger Amount
38452 , p_source_8 IN NUMBER
38453 --Destination Type of the PO Distribution
38454 , p_source_9 IN VARCHAR2
38455 , p_source_9_meaning IN VARCHAR2
38456 --Purchase Order Rate Variance Loss Account
38457 , p_source_10 IN NUMBER
38458 --Invoice Distribution Account
38459 , p_source_11 IN NUMBER
38460 --Automatic Offsets Flag
38461 , p_source_12 IN VARCHAR2
38462 , p_source_12_meaning IN VARCHAR2
38463 --Invoice Distribution Type
38464 , p_source_15 IN VARCHAR2
38465 , p_source_15_meaning IN VARCHAR2
38466 --Purchasing Encumbrance Option
38467 , p_source_17 IN VARCHAR2
38468 , p_source_17_meaning IN VARCHAR2
38469 --Accounting Reversal Indicator
38470 , p_source_19 IN VARCHAR2
38471 --Distribution Link Type
38472 , p_source_21 IN VARCHAR2
38473 --Allocation to Main Distribution Identifier
38474 , p_source_23 IN NUMBER
38475 --Invoice Identifier
38476 , p_source_24 IN NUMBER
38477 --Business Flow Accounts Payable Application Identifier
38478 , p_source_25 IN NUMBER
38479 --Business Flow Invoice Distribution Type
38480 , p_source_26 IN VARCHAR2
38481 --Business Flow Invoice Entity Code
38482 , p_source_27 IN VARCHAR2
38483 --Business Flow Invoice Distribution Identifier
38484 , p_source_28 IN NUMBER
38485 --Business Flow Invoice Identifier
38486 , p_source_29 IN NUMBER
38487 --Invoice Distribution Identifier
38488 , p_source_30 IN NUMBER
38489 --Payables Encumbrance Upgrade Credit Account
38490 , p_source_31 IN NUMBER
38491 --Payables Encumbrance Upgrade Credit Amount
38492 , p_source_32 IN NUMBER
38493 --Invoice Currency Code
38494 , p_source_33 IN VARCHAR2
38495 --Payables Encumbrance Upgrade Credit Base Amount
38496 , p_source_34 IN NUMBER
38497 --Payables Encumbrance Upgrade Debit Account
38498 , p_source_35 IN NUMBER
38499 --Payables Encumbrance Upgrade Debit Amount
38500 , p_source_36 IN NUMBER
38501 --Payables Encumbrance Upgrade Debit Base Amount
38502 , p_source_37 IN NUMBER
38503 --Payables Encumbrance Upgrade Option
38504 , p_source_38 IN VARCHAR2
38505 --Invoice Exchange Date
38506 , p_source_39 IN DATE
38507 --Invoice Exchange Rate
38508 , p_source_40 IN NUMBER
38509 --Invoice Exchange Rate Type
38510 , p_source_41 IN VARCHAR2
38511 --Deferred Accounting End Date
38512 , p_source_43 IN DATE
38513 --Deferred Accounting Option
38514 , p_source_44 IN VARCHAR2
38515 --Deferred Accounting Start Date
38516 , p_source_45 IN DATE
38517 --Override Accounted Amount Indicator
38518 , p_source_46 IN VARCHAR2
38519 , p_source_46_meaning IN VARCHAR2
38520 --Invoice Supplier Identifier
38521 , p_source_47 IN NUMBER
38522 --Invoice Supplier Site Identifier
38523 , p_source_48 IN NUMBER
38524 --Third Party Type
38525 , p_source_49 IN VARCHAR2
38526 --Parent Reversal Identifier
38527 , p_source_50 IN NUMBER
38528 --Invoice Distribution Statistical Amount
38529 , p_source_51 IN NUMBER
38530 --Invoice Distribution Tax Line Identifier
38531 , p_source_52 IN NUMBER
38532 --Invoice Distribution Tax Distribution Identifier from Tax
38533 , p_source_53 IN NUMBER
38534 --Invoice Distribution Summary Tax Line Identifier
38535 , p_source_54 IN NUMBER
38536 --Payables Upgrade Credit Encumbrance Type Identifier
38537 , p_source_55 IN NUMBER
38538 --Payables Upgrade Debit Encumbrance Type Identifier
38539 , p_source_56 IN NUMBER
38540 --Invoice Distribution Amount
38541 , p_source_57 IN NUMBER
38542 --Invoice Distribution Encumbrance Ledger Amount
38543 , p_source_66 IN NUMBER
38544 )
38545 IS
38546
38547 l_component_type VARCHAR2(80);
38548 l_component_code VARCHAR2(30);
38549 l_component_type_code VARCHAR2(1);
38550 l_component_appl_id INTEGER;
38551 l_amb_context_code VARCHAR2(30);
38552 l_entity_code VARCHAR2(30);
38553 l_event_class_code VARCHAR2(30);
38554 l_ae_header_id NUMBER;
38555 l_event_type_code VARCHAR2(30);
38556 l_line_definition_code VARCHAR2(30);
38557 l_line_definition_owner_code VARCHAR2(1);
38558 --
38559 -- adr variables
38560 l_segment VARCHAR2(30);
38561 l_ccid NUMBER;
38562 l_adr_transaction_coa_id NUMBER;
38563 l_adr_accounting_coa_id NUMBER;
38564 l_adr_flexfield_segment_code VARCHAR2(30);
38565 l_adr_flex_value_set_id NUMBER;
38566 l_adr_value_type_code VARCHAR2(30);
38567 l_adr_value_combination_id NUMBER;
38568 l_adr_value_segment_code VARCHAR2(30);
38569
38570 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
38571 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
38572 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
38576 l_entered_amt_idx NUMBER;
38573 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
38574
38575 -- 4262811 Variables ------------------------------------------------------------------------------------------
38577 l_accted_amt_idx NUMBER;
38578 l_acc_rev_flag VARCHAR2(1);
38579 l_accrual_line_num NUMBER;
38580 l_tmp_amt NUMBER;
38581 l_acc_rev_natural_side_code VARCHAR2(1);
38582
38583 l_num_entries NUMBER;
38584 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
38585 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
38586 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
38587 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
38588 l_recog_line_1 NUMBER;
38589 l_recog_line_2 NUMBER;
38590
38591 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
38592 l_bflow_applied_to_amt NUMBER; -- 5132302
38593 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
38594
38595 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
38596
38597 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
38598 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
38599
38600 ---------------------------------------------------------------------------------------------------------------
38601
38602
38603 --
38604 -- bulk performance
38605 --
38606 l_balance_type_code VARCHAR2(1);
38607 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
38608 l_log_module VARCHAR2(240);
38609
38610 --
38611 -- Upgrade strategy
38612 --
38613 l_actual_upg_option VARCHAR2(1);
38614 l_enc_upg_option VARCHAR2(1);
38615
38616 --
38617 BEGIN
38618 --
38619 IF g_log_enabled THEN
38620 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_65';
38621 END IF;
38622 --
38623 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
38624
38625 trace
38626 (p_msg => 'BEGIN of AcctLineType_65'
38627 ,p_level => C_LEVEL_PROCEDURE
38628 ,p_module => l_log_module);
38629
38630 END IF;
38631 --
38632 l_component_type := 'AMB_JLT';
38633 l_component_code := 'AP_TAXEXCHGRATE_VAR_INV_ENC_DR';
38634 l_component_type_code := 'S';
38635 l_component_appl_id := 200;
38636 l_amb_context_code := 'DEFAULT';
38637 l_entity_code := 'AP_INVOICES';
38638 l_event_class_code := 'INVOICES';
38639 l_event_type_code := 'INVOICES_ALL';
38640 l_line_definition_owner_code := 'S';
38641 l_line_definition_code := 'ENC_INVOICES_ALL';
38642 --
38643 l_balance_type_code := 'E';
38644 l_segment := NULL;
38645 l_ccid := NULL;
38646 l_adr_transaction_coa_id := NULL;
38647 l_adr_accounting_coa_id := NULL;
38648 l_adr_flexfield_segment_code := NULL;
38649 l_adr_flex_value_set_id := NULL;
38650 l_adr_value_type_code := NULL;
38651 l_adr_value_combination_id := NULL;
38652 l_adr_value_segment_code := NULL;
38653
38654 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
38655 l_bflow_class_code := 'AP_INV_ENCUM'; -- 4219869 Business Flow
38656 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
38657 l_budgetary_control_flag := 'Y';
38658
38659 l_bflow_applied_to_amt_idx := NULL; -- 5132302
38660 l_bflow_applied_to_amt := NULL; -- 5132302
38661 l_entered_amt_idx := NULL; -- 4262811
38662 l_accted_amt_idx := NULL; -- 4262811
38663 l_acc_rev_flag := NULL; -- 4262811
38664 l_accrual_line_num := NULL; -- 4262811
38665 l_tmp_amt := NULL; -- 4262811
38666 --
38667 IF ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
38668 (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
38669 return;
38670 END IF;
38671
38672 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
38673 l_balance_type_code <> 'B' THEN
38674 IF NVL(p_source_15,'
38675 ') = 'TERV' AND
38676 p_source_66 IS NOT NULL AND
38677 NVL(p_source_17,'
38678 ') = 'Y'
38679 THEN
38680
38681 --
38682 XLA_AE_LINES_PKG.SetNewLine;
38683
38684 p_balance_type_code := l_balance_type_code;
38685 -- set the flag so later we will know whether the gain loss line needs to be created
38686
38687 IF(l_balance_type_code = 'A' ) THEN
38688 p_actual_flag :='G';
38689 END IF;
38690
38691 --
38692 -- bulk performance
38693 --
38694 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
38695 p_header_num => 0); -- 4262811
38696 --
38697 -- set accounting line options
38698 --
38699 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
38700 p_natural_side_code => 'D'
38701 , p_gain_or_loss_flag => 'Y'
38702 , p_gl_transfer_mode_code => 'S'
38706 );
38703 , p_acct_entry_type_code => 'E'
38704 , p_switch_side_flag => 'Y'
38705 , p_merge_duplicate_code => 'N'
38707 --
38708 l_acc_rev_natural_side_code := 'C'; -- 4262811
38709 --
38710 --
38711 -- set accounting line type info
38712 --
38713 xla_ae_lines_pkg.SetAcctLineType
38714 (p_component_type => l_component_type
38715 ,p_event_type_code => l_event_type_code
38716 ,p_line_definition_owner_code => l_line_definition_owner_code
38717 ,p_line_definition_code => l_line_definition_code
38718 ,p_accounting_line_code => l_component_code
38719 ,p_accounting_line_type_code => l_component_type_code
38720 ,p_accounting_line_appl_id => l_component_appl_id
38721 ,p_amb_context_code => l_amb_context_code
38722 ,p_entity_code => l_entity_code
38723 ,p_event_class_code => l_event_class_code);
38724 --
38725 -- set accounting class
38726 --
38727 xla_ae_lines_pkg.SetAcctClass(
38728 p_accounting_class_code => 'TERV'
38729 , p_ae_header_id => l_ae_header_id
38730 );
38731
38732 --
38733 -- set rounding class
38734 --
38735 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
38736 'TERV';
38737
38738 --
38739 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
38740 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
38741 --
38742 -- bulk performance
38743 --
38744 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
38745
38746 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
38747 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
38748
38749 -- 4955764
38750 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
38751 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
38752
38753 -- 4458381 Public Sector Enh
38754 XLA_AE_LINES_PKG.g_rec_lines.array_encumbrance_type_id(XLA_AE_LINES_PKG.g_LineNumber) := 1060;
38755 --
38756 -- set accounting attributes for the line type
38757 --
38758 l_entered_amt_idx := 24;
38759 l_accted_amt_idx := 29;
38760 l_bflow_applied_to_amt_idx := 7; -- 5132302
38761 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
38762 l_rec_acct_attrs.array_char_value(1) := p_source_19;
38763 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
38764 l_rec_acct_attrs.array_num_value(2) :=
38765 xla_ae_sources_pkg.GetSystemSourceNum(
38766 p_source_code => 'XLA_EVENT_APPL_ID'
38767 , p_source_type_code => 'Y'
38768 , p_source_application_id => 602
38769 );
38770 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
38771 l_rec_acct_attrs.array_char_value(3) := p_source_21;
38772 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
38773 l_rec_acct_attrs.array_char_value(4) :=
38774 xla_ae_sources_pkg.GetSystemSourceChar(
38775 p_source_code => 'XLA_ENTITY_CODE'
38776 , p_source_type_code => 'Y'
38777 , p_source_application_id => 602
38778 );
38779 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
38780 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_23);
38781 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
38782 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_24);
38783 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_AMOUNT';
38784 l_rec_acct_attrs.array_num_value(7) := p_source_57;
38785 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_APPLICATION_ID';
38786 l_rec_acct_attrs.array_num_value(8) := p_source_25;
38787 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_DISTRIBUTION_TYPE';
38788 l_rec_acct_attrs.array_char_value(9) := p_source_26;
38789 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_ENTITY_CODE';
38790 l_rec_acct_attrs.array_char_value(10) := p_source_27;
38791 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_DIST_ID';
38792 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_28);
38793 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
38794 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_29);
38795 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
38796 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_30);
38797 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_TYPE';
38798 l_rec_acct_attrs.array_char_value(14) := p_source_21;
38799 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
38800 l_rec_acct_attrs.array_num_value(15) := p_source_31;
38801 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
38802 l_rec_acct_attrs.array_num_value(16) := p_source_32;
38803 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
38804 l_rec_acct_attrs.array_char_value(17) := p_source_33;
38805 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
38806 l_rec_acct_attrs.array_num_value(18) := p_source_34;
38807 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_CCID';
38808 l_rec_acct_attrs.array_num_value(19) := p_source_35;
38812 l_rec_acct_attrs.array_char_value(21) := p_source_33;
38809 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_AMT';
38810 l_rec_acct_attrs.array_num_value(20) := p_source_36;
38811 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_CURR';
38813 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_LEDGER_AMT';
38814 l_rec_acct_attrs.array_num_value(22) := p_source_37;
38815 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_OPTION';
38816 l_rec_acct_attrs.array_char_value(23) := p_source_38;
38817 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_AMOUNT';
38818 l_rec_acct_attrs.array_num_value(24) := p_source_57;
38819 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_CODE';
38820 l_rec_acct_attrs.array_char_value(25) := p_source_33;
38821 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_DATE';
38822 l_rec_acct_attrs.array_date_value(26) := p_source_39;
38823 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE';
38824 l_rec_acct_attrs.array_num_value(27) := p_source_40;
38825 l_rec_acct_attrs.array_acct_attr_code(28) := 'EXCHANGE_RATE_TYPE';
38826 l_rec_acct_attrs.array_char_value(28) := p_source_41;
38827 l_rec_acct_attrs.array_acct_attr_code(29) := 'LEDGER_AMOUNT';
38828 l_rec_acct_attrs.array_num_value(29) := p_source_8;
38829 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_END_DATE';
38830 l_rec_acct_attrs.array_date_value(30) := p_source_43;
38831 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_OPTION';
38832 l_rec_acct_attrs.array_char_value(31) := p_source_44;
38833 l_rec_acct_attrs.array_acct_attr_code(32) := 'MULTIPERIOD_START_DATE';
38834 l_rec_acct_attrs.array_date_value(32) := p_source_45;
38835 l_rec_acct_attrs.array_acct_attr_code(33) := 'OVERRIDE_ACCTD_AMT_FLAG';
38836 l_rec_acct_attrs.array_char_value(33) := p_source_46;
38837 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_ID';
38838 l_rec_acct_attrs.array_num_value(34) := p_source_47;
38839 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_SITE_ID';
38840 l_rec_acct_attrs.array_num_value(35) := p_source_48;
38841 l_rec_acct_attrs.array_acct_attr_code(36) := 'PARTY_TYPE';
38842 l_rec_acct_attrs.array_char_value(36) := p_source_49;
38843 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_ID1';
38844 l_rec_acct_attrs.array_num_value(37) := to_char(p_source_50);
38845 l_rec_acct_attrs.array_acct_attr_code(38) := 'REVERSED_DISTRIBUTION_TYPE';
38846 l_rec_acct_attrs.array_char_value(38) := p_source_21;
38847 l_rec_acct_attrs.array_acct_attr_code(39) := 'STATISTICAL_AMOUNT';
38848 l_rec_acct_attrs.array_num_value(39) := p_source_51;
38849 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_LINE_REF_ID';
38850 l_rec_acct_attrs.array_num_value(40) := p_source_52;
38851 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_REC_NREC_DIST_REF_ID';
38852 l_rec_acct_attrs.array_num_value(41) := p_source_53;
38853 l_rec_acct_attrs.array_acct_attr_code(42) := 'TAX_SUMMARY_LINE_REF_ID';
38854 l_rec_acct_attrs.array_num_value(42) := p_source_54;
38855 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_CR_ENC_TYPE_ID';
38856 l_rec_acct_attrs.array_num_value(43) := p_source_55;
38857 l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
38858 l_rec_acct_attrs.array_num_value(44) := p_source_56;
38859
38860 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
38861 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
38862
38863 ---------------------------------------------------------------------------------------------------------------
38864 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
38865 ---------------------------------------------------------------------------------------------------------------
38866 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
38867
38868 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
38869 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
38870
38871 IF xla_accounting_cache_pkg.GetValueChar
38872 (p_source_code => 'LEDGER_CATEGORY_CODE'
38873 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
38874 AND l_bflow_method_code = 'PRIOR_ENTRY'
38875 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
38876 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
38877 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
38878 )
38879 THEN
38880 xla_ae_lines_pkg.BflowUpgEntry
38881 (p_business_method_code => l_bflow_method_code
38882 ,p_business_class_code => l_bflow_class_code
38883 ,p_balance_type => l_balance_type_code);
38884 ELSE
38885 NULL;
38886 -- No business flow processing for business flow method of NONE.
38887 END IF;
38888
38889 --
38890 -- call analytical criteria
38891 --
38892
38893 --
38894 -- call description
38895 --
38896
38897 xla_ae_lines_pkg.SetLineDescription(
38898 p_ae_header_id => l_ae_header_id
38899 ,p_description => Description_2 (
38900 p_application_id => p_application_id
38901 , p_ae_header_id => l_ae_header_id
38902 , p_source_1 => p_source_1
38903 )
38904 );
38905
38906
38907 --
38908 -- call ADRs
38912 (NVL(l_actual_upg_option, 'N') = 'O') OR
38909 -- Bug 4922099
38910 --
38911 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
38913 (NVL(l_enc_upg_option, 'N') = 'O')
38914 )
38915 THEN
38916 NULL;
38917 --
38918 --
38919
38920 l_ccid := AcctDerRule_6(
38921 p_application_id => p_application_id
38922 , p_ae_header_id => l_ae_header_id
38923 , p_source_6 => p_source_6
38924 , p_source_7 => p_source_7
38925 , p_source_7_meaning => p_source_7_meaning
38926 , p_source_8 => p_source_8
38927 , p_source_9 => p_source_9
38928 , p_source_9_meaning => p_source_9_meaning
38929 , p_source_10 => p_source_10
38930 , p_source_11 => p_source_11
38931 , p_source_12 => p_source_12
38932 , p_source_12_meaning => p_source_12_meaning
38933 , x_transaction_coa_id => l_adr_transaction_coa_id
38934 , x_accounting_coa_id => l_adr_accounting_coa_id
38935 , x_value_type_code => l_adr_value_type_code
38936 , p_side => 'NA'
38937 );
38938
38939 xla_ae_lines_pkg.set_ccid(
38940 p_code_combination_id => l_ccid
38941 , p_value_type_code => l_adr_value_type_code
38942 , p_transaction_coa_id => l_adr_transaction_coa_id
38943 , p_accounting_coa_id => l_adr_accounting_coa_id
38944 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
38945 , p_adr_type_code => 'S'
38946 , p_component_type => l_component_type
38947 , p_component_code => l_component_code
38948 , p_component_type_code => l_component_type_code
38949 , p_component_appl_id => l_component_appl_id
38950 , p_amb_context_code => l_amb_context_code
38951 , p_side => 'NA'
38952 );
38953
38954
38955 l_segment := AcctDerRule_4(
38956 p_application_id => p_application_id
38957 , p_ae_header_id => l_ae_header_id
38958 , p_source_6 => p_source_6
38959 , p_source_7 => p_source_7
38960 , p_source_7_meaning => p_source_7_meaning
38961 , p_source_8 => p_source_8
38962 , p_source_9 => p_source_9
38963 , p_source_9_meaning => p_source_9_meaning
38964 , p_source_10 => p_source_10
38965 , x_transaction_coa_id => l_adr_transaction_coa_id
38966 , x_accounting_coa_id => l_adr_accounting_coa_id
38967 , x_flexfield_segment_code => l_adr_flexfield_segment_code
38968 , x_flex_value_set_id => l_adr_flex_value_set_id
38969 , x_value_type_code => l_adr_value_type_code
38970 , x_value_combination_id => l_adr_value_combination_id
38971 , x_value_segment_code => l_adr_value_segment_code
38972 , p_side => 'NA'
38973 , p_override_seg_flag => 'Y'
38974 );
38975
38976 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
38977
38978 xla_ae_lines_pkg.set_segment(
38979 p_to_segment_code => 'GL_ACCOUNT'
38980 , p_segment_value => l_segment
38981 , p_from_segment_code => l_adr_value_segment_code
38982 , p_from_combination_id => l_adr_value_combination_id
38983 , p_value_type_code => l_adr_value_type_code
38984 , p_transaction_coa_id => l_adr_transaction_coa_id
38985 , p_accounting_coa_id => l_adr_accounting_coa_id
38986 , p_flexfield_segment_code => l_adr_flexfield_segment_code
38987 , p_flex_value_set_id => l_adr_flex_value_set_id
38988 , p_adr_code => 'AP_ERV_GAIN_LOSS_NAT_ACCT_SEG'
38989 , p_adr_type_code => 'S'
38990 , p_component_type => l_component_type
38991 , p_component_code => l_component_code
38992 , p_component_type_code => l_component_type_code
38993 , p_component_appl_id => l_component_appl_id
38994 , p_amb_context_code => l_amb_context_code
38995 , p_entity_code => 'AP_INVOICES'
38996 , p_event_class_code => 'INVOICES'
38997 , p_side => 'NA'
38998 );
38999
39000 END IF;
39001
39002 l_segment := AcctDerRule_5(
39003 p_application_id => p_application_id
39004 , p_ae_header_id => l_ae_header_id
39005 , p_source_7 => p_source_7
39006 , p_source_7_meaning => p_source_7_meaning
39007 , p_source_9 => p_source_9
39008 , p_source_9_meaning => p_source_9_meaning
39009 , p_source_11 => p_source_11
39010 , x_transaction_coa_id => l_adr_transaction_coa_id
39011 , x_accounting_coa_id => l_adr_accounting_coa_id
39012 , x_flexfield_segment_code => l_adr_flexfield_segment_code
39013 , x_flex_value_set_id => l_adr_flex_value_set_id
39014 , x_value_type_code => l_adr_value_type_code
39015 , x_value_combination_id => l_adr_value_combination_id
39016 , x_value_segment_code => l_adr_value_segment_code
39017 , p_side => 'NA'
39018 , p_override_seg_flag => 'Y'
39019 );
39020
39021 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
39022
39023 xla_ae_lines_pkg.set_segment(
39024 p_to_segment_code => 'GL_BALANCING'
39028 , p_value_type_code => l_adr_value_type_code
39025 , p_segment_value => l_segment
39026 , p_from_segment_code => l_adr_value_segment_code
39027 , p_from_combination_id => l_adr_value_combination_id
39029 , p_transaction_coa_id => l_adr_transaction_coa_id
39030 , p_accounting_coa_id => l_adr_accounting_coa_id
39031 , p_flexfield_segment_code => l_adr_flexfield_segment_code
39032 , p_flex_value_set_id => l_adr_flex_value_set_id
39033 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
39034 , p_adr_type_code => 'S'
39035 , p_component_type => l_component_type
39036 , p_component_code => l_component_code
39037 , p_component_type_code => l_component_type_code
39038 , p_component_appl_id => l_component_appl_id
39039 , p_amb_context_code => l_amb_context_code
39040 , p_entity_code => 'AP_INVOICES'
39041 , p_event_class_code => 'INVOICES'
39042 , p_side => 'NA'
39043 );
39044
39045 END IF;
39046
39047 --
39048 --
39049 END IF;
39050 --
39051 -- Bug 4922099
39052 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
39053 (NVL(l_enc_upg_option, 'N') = 'O')
39054 ) AND
39055 (l_bflow_method_code = 'PRIOR_ENTRY')
39056 )
39057 THEN
39058 IF
39059 --
39060 1 = 2
39061 --
39062 THEN
39063 xla_accounting_err_pkg.build_message
39064 (p_appli_s_name => 'XLA'
39065 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
39066 ,p_token_1 => 'LINE_NUMBER'
39067 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
39068 ,p_token_2 => 'LINE_TYPE_NAME'
39069 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
39070 l_component_type
39071 ,l_component_code
39072 ,l_component_type_code
39073 ,l_component_appl_id
39074 ,l_amb_context_code
39075 ,l_entity_code
39076 ,l_event_class_code
39077 )
39078 ,p_token_3 => 'OWNER'
39079 ,p_value_3 => xla_lookups_pkg.get_meaning(
39080 p_lookup_type => 'XLA_OWNER_TYPE'
39081 ,p_lookup_code => l_component_type_code
39082 )
39083 ,p_token_4 => 'PRODUCT_NAME'
39084 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
39085 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
39086 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
39087 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
39088 ,p_ae_header_id => NULL
39089 );
39090
39091 IF (C_LEVEL_ERROR>= g_log_level) THEN
39092 trace
39093 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
39094 ,p_level => C_LEVEL_ERROR
39095 ,p_module => l_log_module);
39096 END IF;
39097 END IF;
39098 END IF;
39099 --
39100 --
39101 ------------------------------------------------------------------------------------------------
39102 -- 4219869 Business Flow
39103 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
39104 -- Prior Entry. Currently, the following code is always generated.
39105 ------------------------------------------------------------------------------------------------
39106 XLA_AE_LINES_PKG.ValidateCurrentLine;
39107
39108 ------------------------------------------------------------------------------------
39109 -- 4219869 Business Flow
39110 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
39111 ------------------------------------------------------------------------------------
39112 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
39113
39114 ----------------------------------------------------------------------------------
39115 -- 4219869 Business Flow
39116 -- Update journal entry status -- Need to generate this within IF <condition>
39117 ----------------------------------------------------------------------------------
39118 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
39122
39119 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
39120 ,p_balance_type_code => l_balance_type_code
39121 );
39123 -------------------------------------------------------------------------------------------
39124 -- 4262811 - Generate the Accrual Reversal lines
39125 -------------------------------------------------------------------------------------------
39126 BEGIN
39127 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
39128 (g_array_event(p_event_id).array_value_num('header_index'));
39129 IF l_acc_rev_flag IS NULL THEN
39130 l_acc_rev_flag := 'N';
39131 END IF;
39132 EXCEPTION
39133 WHEN OTHERS THEN
39134 l_acc_rev_flag := 'N';
39135 END;
39136 --
39137 IF (l_acc_rev_flag = 'Y') THEN
39138
39139 -- 4645092 ------------------------------------------------------------------------------
39140 -- To allow MPA report to determine if it should generate report process
39141 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
39142 ------------------------------------------------------------------------------------------
39143
39144 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
39145 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
39146 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
39147 -- call ADRs
39148 -- Bug 4922099
39149 --
39150 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
39151 (NVL(l_actual_upg_option, 'N') = 'O') OR
39152 (NVL(l_enc_upg_option, 'N') = 'O')
39153 )
39154 THEN
39155 NULL;
39156 --
39157 --
39158
39159 l_ccid := AcctDerRule_6(
39160 p_application_id => p_application_id
39161 , p_ae_header_id => l_ae_header_id
39162 , p_source_6 => p_source_6
39163 , p_source_7 => p_source_7
39164 , p_source_7_meaning => p_source_7_meaning
39165 , p_source_8 => p_source_8
39166 , p_source_9 => p_source_9
39167 , p_source_9_meaning => p_source_9_meaning
39168 , p_source_10 => p_source_10
39169 , p_source_11 => p_source_11
39170 , p_source_12 => p_source_12
39171 , p_source_12_meaning => p_source_12_meaning
39172 , x_transaction_coa_id => l_adr_transaction_coa_id
39173 , x_accounting_coa_id => l_adr_accounting_coa_id
39174 , x_value_type_code => l_adr_value_type_code
39175 , p_side => 'NA'
39176 );
39177
39178 xla_ae_lines_pkg.set_ccid(
39179 p_code_combination_id => l_ccid
39180 , p_value_type_code => l_adr_value_type_code
39181 , p_transaction_coa_id => l_adr_transaction_coa_id
39182 , p_accounting_coa_id => l_adr_accounting_coa_id
39183 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
39184 , p_adr_type_code => 'S'
39185 , p_component_type => l_component_type
39186 , p_component_code => l_component_code
39187 , p_component_type_code => l_component_type_code
39188 , p_component_appl_id => l_component_appl_id
39189 , p_amb_context_code => l_amb_context_code
39190 , p_side => 'NA'
39191 );
39192
39193
39194 l_segment := AcctDerRule_4(
39195 p_application_id => p_application_id
39196 , p_ae_header_id => l_ae_header_id
39197 , p_source_6 => p_source_6
39198 , p_source_7 => p_source_7
39199 , p_source_7_meaning => p_source_7_meaning
39200 , p_source_8 => p_source_8
39201 , p_source_9 => p_source_9
39202 , p_source_9_meaning => p_source_9_meaning
39203 , p_source_10 => p_source_10
39204 , x_transaction_coa_id => l_adr_transaction_coa_id
39205 , x_accounting_coa_id => l_adr_accounting_coa_id
39206 , x_flexfield_segment_code => l_adr_flexfield_segment_code
39207 , x_flex_value_set_id => l_adr_flex_value_set_id
39208 , x_value_type_code => l_adr_value_type_code
39209 , x_value_combination_id => l_adr_value_combination_id
39210 , x_value_segment_code => l_adr_value_segment_code
39211 , p_side => 'NA'
39212 , p_override_seg_flag => 'Y'
39213 );
39214
39215 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
39216
39217 xla_ae_lines_pkg.set_segment(
39218 p_to_segment_code => 'GL_ACCOUNT'
39219 , p_segment_value => l_segment
39220 , p_from_segment_code => l_adr_value_segment_code
39221 , p_from_combination_id => l_adr_value_combination_id
39222 , p_value_type_code => l_adr_value_type_code
39223 , p_transaction_coa_id => l_adr_transaction_coa_id
39224 , p_accounting_coa_id => l_adr_accounting_coa_id
39225 , p_flexfield_segment_code => l_adr_flexfield_segment_code
39226 , p_flex_value_set_id => l_adr_flex_value_set_id
39227 , p_adr_code => 'AP_ERV_GAIN_LOSS_NAT_ACCT_SEG'
39228 , p_adr_type_code => 'S'
39229 , p_component_type => l_component_type
39230 , p_component_code => l_component_code
39231 , p_component_type_code => l_component_type_code
39232 , p_component_appl_id => l_component_appl_id
39233 , p_amb_context_code => l_amb_context_code
39237 );
39234 , p_entity_code => 'AP_INVOICES'
39235 , p_event_class_code => 'INVOICES'
39236 , p_side => 'NA'
39238
39239 END IF;
39240
39241 l_segment := AcctDerRule_5(
39242 p_application_id => p_application_id
39243 , p_ae_header_id => l_ae_header_id
39244 , p_source_7 => p_source_7
39245 , p_source_7_meaning => p_source_7_meaning
39246 , p_source_9 => p_source_9
39247 , p_source_9_meaning => p_source_9_meaning
39248 , p_source_11 => p_source_11
39249 , x_transaction_coa_id => l_adr_transaction_coa_id
39250 , x_accounting_coa_id => l_adr_accounting_coa_id
39251 , x_flexfield_segment_code => l_adr_flexfield_segment_code
39252 , x_flex_value_set_id => l_adr_flex_value_set_id
39253 , x_value_type_code => l_adr_value_type_code
39254 , x_value_combination_id => l_adr_value_combination_id
39255 , x_value_segment_code => l_adr_value_segment_code
39256 , p_side => 'NA'
39257 , p_override_seg_flag => 'Y'
39258 );
39259
39260 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
39261
39262 xla_ae_lines_pkg.set_segment(
39263 p_to_segment_code => 'GL_BALANCING'
39264 , p_segment_value => l_segment
39265 , p_from_segment_code => l_adr_value_segment_code
39266 , p_from_combination_id => l_adr_value_combination_id
39267 , p_value_type_code => l_adr_value_type_code
39268 , p_transaction_coa_id => l_adr_transaction_coa_id
39269 , p_accounting_coa_id => l_adr_accounting_coa_id
39270 , p_flexfield_segment_code => l_adr_flexfield_segment_code
39271 , p_flex_value_set_id => l_adr_flex_value_set_id
39272 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
39273 , p_adr_type_code => 'S'
39274 , p_component_type => l_component_type
39275 , p_component_code => l_component_code
39276 , p_component_type_code => l_component_type_code
39277 , p_component_appl_id => l_component_appl_id
39278 , p_amb_context_code => l_amb_context_code
39279 , p_entity_code => 'AP_INVOICES'
39280 , p_event_class_code => 'INVOICES'
39281 , p_side => 'NA'
39282 );
39283
39284 END IF;
39285
39286 --
39287 --
39288 END IF;
39289
39290 --
39291 -- Update the line information that should be overwritten
39292 --
39293 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
39294 p_header_num => 1);
39295 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
39296
39297 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
39298
39299 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
39300 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
39301 END IF;
39302
39303 --
39304 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
39305 --
39306 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
39307 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
39308 ELSE
39309 ---------------------------------------------------------------------------------------------------
39310 -- 4262811a Switch Sign
39311 ---------------------------------------------------------------------------------------------------
39312 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
39313 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
39314 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
39315 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
39316 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
39317 -- 5132302
39318 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
39319 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
39320
39321 END IF;
39322
39323 -- 4955764
39324 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
39325 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
39326
39327
39328 XLA_AE_LINES_PKG.ValidateCurrentLine;
39329 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
39330
39331 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
39332 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
39333 ,p_balance_type_code => l_balance_type_code);
39334
39335 END IF;
39336
39337 -----------------------------------------------------------------------------------------
39338 -- 4262811 Multiperiod Accounting
39339 -----------------------------------------------------------------------------------------
39340 -- No MPA option is assigned.
39341
39342
39343 END IF;
39344 END IF;
39348 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
39345 --
39346
39347 --
39349 trace
39350 (p_msg => 'END of AcctLineType_65'
39351 ,p_level => C_LEVEL_PROCEDURE
39352 ,p_module => l_log_module);
39353 END IF;
39354 --
39355 EXCEPTION
39356 WHEN xla_exceptions_pkg.application_exception THEN
39357 RAISE;
39358 WHEN OTHERS THEN
39359 xla_exceptions_pkg.raise_message
39360 (p_location => 'XLA_00200_AAD_S_000006_BC_PKG.AcctLineType_65');
39361 END AcctLineType_65;
39362 --
39363
39364 ---------------------------------------
39365 --
39366 -- PRIVATE FUNCTION
39367 -- AcctLineType_66
39368 --
39369 ---------------------------------------
39370 PROCEDURE AcctLineType_66 (
39371 p_application_id IN NUMBER
39372 ,p_event_id IN NUMBER
39373 ,p_calculate_acctd_flag IN VARCHAR2
39374 ,p_calculate_g_l_flag IN VARCHAR2
39375 ,p_actual_flag IN OUT VARCHAR2
39376 ,p_balance_type_code OUT VARCHAR2
39377 ,p_gain_or_loss_ref OUT VARCHAR2
39378
39379 --Invoice Distribution Description
39380 , p_source_1 IN VARCHAR2
39381 --Invoice Distribution Account
39382 , p_source_11 IN NUMBER
39383 --Invoice Distribution Type
39384 , p_source_15 IN VARCHAR2
39385 , p_source_15_meaning IN VARCHAR2
39386 --Amount for Variance Amount
39387 , p_source_16 IN NUMBER
39388 --Purchasing Encumbrance Option
39389 , p_source_17 IN VARCHAR2
39390 , p_source_17_meaning IN VARCHAR2
39391 --Accrue on Receipt Option
39392 , p_source_18 IN VARCHAR2
39393 , p_source_18_meaning IN VARCHAR2
39394 --Accounting Reversal Indicator
39395 , p_source_19 IN VARCHAR2
39396 --Distribution Link Type
39397 , p_source_21 IN VARCHAR2
39398 --Allocation to Main Distribution Identifier
39399 , p_source_23 IN NUMBER
39400 --Invoice Identifier
39401 , p_source_24 IN NUMBER
39402 --Business Flow Accounts Payable Application Identifier
39403 , p_source_25 IN NUMBER
39404 --Business Flow Invoice Distribution Type
39405 , p_source_26 IN VARCHAR2
39406 --Business Flow Invoice Entity Code
39407 , p_source_27 IN VARCHAR2
39408 --Business Flow Invoice Distribution Identifier
39409 , p_source_28 IN NUMBER
39410 --Business Flow Invoice Identifier
39411 , p_source_29 IN NUMBER
39412 --Invoice Distribution Identifier
39413 , p_source_30 IN NUMBER
39414 --Payables Encumbrance Upgrade Credit Account
39415 , p_source_31 IN NUMBER
39416 --Payables Encumbrance Upgrade Credit Amount
39417 , p_source_32 IN NUMBER
39418 --Invoice Currency Code
39419 , p_source_33 IN VARCHAR2
39420 --Payables Encumbrance Upgrade Credit Base Amount
39421 , p_source_34 IN NUMBER
39422 --Payables Encumbrance Upgrade Debit Account
39423 , p_source_35 IN NUMBER
39424 --Payables Encumbrance Upgrade Debit Amount
39425 , p_source_36 IN NUMBER
39426 --Payables Encumbrance Upgrade Debit Base Amount
39427 , p_source_37 IN NUMBER
39428 --Payables Encumbrance Upgrade Option
39429 , p_source_38 IN VARCHAR2
39430 --Invoice Exchange Date
39431 , p_source_39 IN DATE
39432 --Invoice Exchange Rate
39433 , p_source_40 IN NUMBER
39434 --Invoice Exchange Rate Type
39435 , p_source_41 IN VARCHAR2
39436 --Variance Amount in Ledger Currency
39437 , p_source_42 IN NUMBER
39438 --Deferred Accounting End Date
39439 , p_source_43 IN DATE
39440 --Deferred Accounting Option
39441 , p_source_44 IN VARCHAR2
39442 --Deferred Accounting Start Date
39443 , p_source_45 IN DATE
39444 --Override Accounted Amount Indicator
39445 , p_source_46 IN VARCHAR2
39446 , p_source_46_meaning IN VARCHAR2
39447 --Invoice Supplier Identifier
39448 , p_source_47 IN NUMBER
39449 --Invoice Supplier Site Identifier
39450 , p_source_48 IN NUMBER
39451 --Third Party Type
39452 , p_source_49 IN VARCHAR2
39453 --Parent Reversal Identifier
39454 , p_source_50 IN NUMBER
39455 --Invoice Distribution Statistical Amount
39456 , p_source_51 IN NUMBER
39457 --Invoice Distribution Tax Line Identifier
39458 , p_source_52 IN NUMBER
39459 --Invoice Distribution Tax Distribution Identifier from Tax
39460 , p_source_53 IN NUMBER
39461 --Invoice Distribution Summary Tax Line Identifier
39462 , p_source_54 IN NUMBER
39463 --Payables Upgrade Credit Encumbrance Type Identifier
39464 , p_source_55 IN NUMBER
39465 --Payables Upgrade Debit Encumbrance Type Identifier
39466 , p_source_56 IN NUMBER
39467 )
39468 IS
39469
39470 l_component_type VARCHAR2(80);
39471 l_component_code VARCHAR2(30);
39472 l_component_type_code VARCHAR2(1);
39473 l_component_appl_id INTEGER;
39474 l_amb_context_code VARCHAR2(30);
39475 l_entity_code VARCHAR2(30);
39476 l_event_class_code VARCHAR2(30);
39477 l_ae_header_id NUMBER;
39478 l_event_type_code VARCHAR2(30);
39479 l_line_definition_code VARCHAR2(30);
39480 l_line_definition_owner_code VARCHAR2(1);
39481 --
39482 -- adr variables
39486 l_adr_accounting_coa_id NUMBER;
39483 l_segment VARCHAR2(30);
39484 l_ccid NUMBER;
39485 l_adr_transaction_coa_id NUMBER;
39487 l_adr_flexfield_segment_code VARCHAR2(30);
39488 l_adr_flex_value_set_id NUMBER;
39489 l_adr_value_type_code VARCHAR2(30);
39490 l_adr_value_combination_id NUMBER;
39491 l_adr_value_segment_code VARCHAR2(30);
39492
39493 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
39494 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
39495 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
39496 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
39497
39498 -- 4262811 Variables ------------------------------------------------------------------------------------------
39499 l_entered_amt_idx NUMBER;
39500 l_accted_amt_idx NUMBER;
39501 l_acc_rev_flag VARCHAR2(1);
39502 l_accrual_line_num NUMBER;
39503 l_tmp_amt NUMBER;
39504 l_acc_rev_natural_side_code VARCHAR2(1);
39505
39506 l_num_entries NUMBER;
39507 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
39508 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
39509 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
39510 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
39511 l_recog_line_1 NUMBER;
39512 l_recog_line_2 NUMBER;
39513
39514 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
39515 l_bflow_applied_to_amt NUMBER; -- 5132302
39516 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
39517
39518 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
39519
39520 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
39521 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
39522
39523 ---------------------------------------------------------------------------------------------------------------
39524
39525
39526 --
39527 -- bulk performance
39528 --
39529 l_balance_type_code VARCHAR2(1);
39530 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
39531 l_log_module VARCHAR2(240);
39532
39533 --
39534 -- Upgrade strategy
39535 --
39536 l_actual_upg_option VARCHAR2(1);
39537 l_enc_upg_option VARCHAR2(1);
39538
39539 --
39540 BEGIN
39541 --
39542 IF g_log_enabled THEN
39543 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_66';
39544 END IF;
39545 --
39546 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
39547
39548 trace
39549 (p_msg => 'BEGIN of AcctLineType_66'
39550 ,p_level => C_LEVEL_PROCEDURE
39551 ,p_module => l_log_module);
39552
39553 END IF;
39554 --
39555 l_component_type := 'AMB_JLT';
39556 l_component_code := 'AP_TAX_AMT_VARIANCE_CM_ENC_DR';
39557 l_component_type_code := 'S';
39558 l_component_appl_id := 200;
39559 l_amb_context_code := 'DEFAULT';
39560 l_entity_code := 'AP_INVOICES';
39561 l_event_class_code := 'CREDIT MEMOS';
39562 l_event_type_code := 'CREDIT MEMOS_ALL';
39563 l_line_definition_owner_code := 'S';
39564 l_line_definition_code := 'ENC_CM_ALL';
39565 --
39566 l_balance_type_code := 'E';
39567 l_segment := NULL;
39568 l_ccid := NULL;
39569 l_adr_transaction_coa_id := NULL;
39570 l_adr_accounting_coa_id := NULL;
39571 l_adr_flexfield_segment_code := NULL;
39572 l_adr_flex_value_set_id := NULL;
39573 l_adr_value_type_code := NULL;
39574 l_adr_value_combination_id := NULL;
39575 l_adr_value_segment_code := NULL;
39576
39577 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
39578 l_bflow_class_code := 'AP_INV_ENCUM'; -- 4219869 Business Flow
39579 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
39580 l_budgetary_control_flag := 'Y';
39581
39582 l_bflow_applied_to_amt_idx := NULL; -- 5132302
39583 l_bflow_applied_to_amt := NULL; -- 5132302
39584 l_entered_amt_idx := NULL; -- 4262811
39585 l_accted_amt_idx := NULL; -- 4262811
39586 l_acc_rev_flag := NULL; -- 4262811
39587 l_accrual_line_num := NULL; -- 4262811
39588 l_tmp_amt := NULL; -- 4262811
39589 --
39590
39591 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
39592 l_balance_type_code <> 'B' THEN
39593 IF NVL(p_source_15,'
39594 ') = 'NONREC_TAX' AND
39595 p_source_16 IS NOT NULL AND
39596 NVL(p_source_17,'
39597 ') = 'Y' AND
39598 NVL(p_source_18,'
39599 ') <> 'Y'
39600 THEN
39601
39602 --
39603 XLA_AE_LINES_PKG.SetNewLine;
39604
39605 p_balance_type_code := l_balance_type_code;
39606 -- set the flag so later we will know whether the gain loss line needs to be created
39607
39608 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
39609 p_actual_flag :='A';
39610 END IF;
39611
39612 --
39616 p_header_num => 0); -- 4262811
39613 -- bulk performance
39614 --
39615 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
39617 --
39618 -- set accounting line options
39619 --
39620 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
39621 p_natural_side_code => 'D'
39622 , p_gain_or_loss_flag => 'N'
39623 , p_gl_transfer_mode_code => 'S'
39624 , p_acct_entry_type_code => 'E'
39625 , p_switch_side_flag => 'Y'
39626 , p_merge_duplicate_code => 'N'
39627 );
39628 --
39629 l_acc_rev_natural_side_code := 'C'; -- 4262811
39630 --
39631 --
39632 -- set accounting line type info
39633 --
39634 xla_ae_lines_pkg.SetAcctLineType
39635 (p_component_type => l_component_type
39636 ,p_event_type_code => l_event_type_code
39637 ,p_line_definition_owner_code => l_line_definition_owner_code
39638 ,p_line_definition_code => l_line_definition_code
39639 ,p_accounting_line_code => l_component_code
39640 ,p_accounting_line_type_code => l_component_type_code
39641 ,p_accounting_line_appl_id => l_component_appl_id
39642 ,p_amb_context_code => l_amb_context_code
39643 ,p_entity_code => l_entity_code
39644 ,p_event_class_code => l_event_class_code);
39645 --
39646 -- set accounting class
39647 --
39648 xla_ae_lines_pkg.SetAcctClass(
39649 p_accounting_class_code => 'TAV'
39650 , p_ae_header_id => l_ae_header_id
39651 );
39652
39653 --
39654 -- set rounding class
39655 --
39656 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
39657 'TAV';
39658
39659 --
39660 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
39661 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
39662 --
39663 -- bulk performance
39664 --
39665 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
39666
39667 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
39668 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
39669
39670 -- 4955764
39671 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
39672 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
39673
39674 -- 4458381 Public Sector Enh
39675 XLA_AE_LINES_PKG.g_rec_lines.array_encumbrance_type_id(XLA_AE_LINES_PKG.g_LineNumber) := 1060;
39676 --
39677 -- set accounting attributes for the line type
39678 --
39679 l_entered_amt_idx := 23;
39680 l_accted_amt_idx := 28;
39681 l_bflow_applied_to_amt_idx := NULL; -- 5132302
39682 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
39683 l_rec_acct_attrs.array_char_value(1) := p_source_19;
39684 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
39685 l_rec_acct_attrs.array_num_value(2) :=
39686 xla_ae_sources_pkg.GetSystemSourceNum(
39687 p_source_code => 'XLA_EVENT_APPL_ID'
39688 , p_source_type_code => 'Y'
39689 , p_source_application_id => 602
39690 );
39691 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
39692 l_rec_acct_attrs.array_char_value(3) := p_source_21;
39693 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
39694 l_rec_acct_attrs.array_char_value(4) :=
39695 xla_ae_sources_pkg.GetSystemSourceChar(
39696 p_source_code => 'XLA_ENTITY_CODE'
39697 , p_source_type_code => 'Y'
39698 , p_source_application_id => 602
39699 );
39700 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
39701 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_23);
39702 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
39703 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_24);
39704 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
39705 l_rec_acct_attrs.array_num_value(7) := p_source_25;
39706 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
39707 l_rec_acct_attrs.array_char_value(8) := p_source_26;
39708 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
39709 l_rec_acct_attrs.array_char_value(9) := p_source_27;
39710 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
39711 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_28);
39712 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
39713 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_29);
39714 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
39715 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_30);
39716 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
39717 l_rec_acct_attrs.array_char_value(13) := p_source_21;
39718 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
39719 l_rec_acct_attrs.array_num_value(14) := p_source_31;
39720 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
39724 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
39721 l_rec_acct_attrs.array_num_value(15) := p_source_32;
39722 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
39723 l_rec_acct_attrs.array_char_value(16) := p_source_33;
39725 l_rec_acct_attrs.array_num_value(17) := p_source_34;
39726 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
39727 l_rec_acct_attrs.array_num_value(18) := p_source_35;
39728 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
39729 l_rec_acct_attrs.array_num_value(19) := p_source_36;
39730 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
39731 l_rec_acct_attrs.array_char_value(20) := p_source_33;
39732 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
39733 l_rec_acct_attrs.array_num_value(21) := p_source_37;
39734 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
39735 l_rec_acct_attrs.array_char_value(22) := p_source_38;
39736 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
39737 l_rec_acct_attrs.array_num_value(23) := p_source_16;
39738 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
39739 l_rec_acct_attrs.array_char_value(24) := p_source_33;
39740 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
39741 l_rec_acct_attrs.array_date_value(25) := p_source_39;
39742 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
39743 l_rec_acct_attrs.array_num_value(26) := p_source_40;
39744 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
39745 l_rec_acct_attrs.array_char_value(27) := p_source_41;
39746 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
39747 l_rec_acct_attrs.array_num_value(28) := p_source_42;
39748 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
39749 l_rec_acct_attrs.array_date_value(29) := p_source_43;
39750 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
39751 l_rec_acct_attrs.array_char_value(30) := p_source_44;
39752 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
39753 l_rec_acct_attrs.array_date_value(31) := p_source_45;
39754 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
39755 l_rec_acct_attrs.array_char_value(32) := p_source_46;
39756 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
39757 l_rec_acct_attrs.array_num_value(33) := p_source_47;
39758 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
39759 l_rec_acct_attrs.array_num_value(34) := p_source_48;
39760 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
39761 l_rec_acct_attrs.array_char_value(35) := p_source_49;
39762 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
39763 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_50);
39764 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
39765 l_rec_acct_attrs.array_char_value(37) := p_source_21;
39766 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
39767 l_rec_acct_attrs.array_num_value(38) := p_source_51;
39768 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
39769 l_rec_acct_attrs.array_num_value(39) := p_source_52;
39770 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
39771 l_rec_acct_attrs.array_num_value(40) := p_source_53;
39772 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
39773 l_rec_acct_attrs.array_num_value(41) := p_source_54;
39774 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
39775 l_rec_acct_attrs.array_num_value(42) := p_source_55;
39776 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
39777 l_rec_acct_attrs.array_num_value(43) := p_source_56;
39778
39779 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
39780 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
39781
39782 ---------------------------------------------------------------------------------------------------------------
39783 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
39784 ---------------------------------------------------------------------------------------------------------------
39785 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
39786
39787 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
39788 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
39789
39790 IF xla_accounting_cache_pkg.GetValueChar
39791 (p_source_code => 'LEDGER_CATEGORY_CODE'
39792 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
39793 AND l_bflow_method_code = 'PRIOR_ENTRY'
39794 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
39795 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
39796 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
39797 )
39798 THEN
39799 xla_ae_lines_pkg.BflowUpgEntry
39800 (p_business_method_code => l_bflow_method_code
39801 ,p_business_class_code => l_bflow_class_code
39802 ,p_balance_type => l_balance_type_code);
39803 ELSE
39804 NULL;
39805 -- No business flow processing for business flow method of NONE.
39806 END IF;
39807
39808 --
39809 -- call analytical criteria
39810 --
39811
39815
39812 --
39813 -- call description
39814 --
39816 xla_ae_lines_pkg.SetLineDescription(
39817 p_ae_header_id => l_ae_header_id
39818 ,p_description => Description_2 (
39819 p_application_id => p_application_id
39820 , p_ae_header_id => l_ae_header_id
39821 , p_source_1 => p_source_1
39822 )
39823 );
39824
39825
39826 --
39827 -- call ADRs
39828 -- Bug 4922099
39829 --
39830 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
39831 (NVL(l_actual_upg_option, 'N') = 'O') OR
39832 (NVL(l_enc_upg_option, 'N') = 'O')
39833 )
39834 THEN
39835 NULL;
39836 --
39837 --
39838
39839 l_ccid := AcctDerRule_7(
39840 p_application_id => p_application_id
39841 , p_ae_header_id => l_ae_header_id
39842 , p_source_11 => p_source_11
39843 , x_transaction_coa_id => l_adr_transaction_coa_id
39844 , x_accounting_coa_id => l_adr_accounting_coa_id
39845 , x_value_type_code => l_adr_value_type_code
39846 , p_side => 'NA'
39847 );
39848
39849 xla_ae_lines_pkg.set_ccid(
39850 p_code_combination_id => l_ccid
39851 , p_value_type_code => l_adr_value_type_code
39852 , p_transaction_coa_id => l_adr_transaction_coa_id
39853 , p_accounting_coa_id => l_adr_accounting_coa_id
39854 , p_adr_code => 'AP_INVOICE_DIST'
39855 , p_adr_type_code => 'S'
39856 , p_component_type => l_component_type
39857 , p_component_code => l_component_code
39858 , p_component_type_code => l_component_type_code
39859 , p_component_appl_id => l_component_appl_id
39860 , p_amb_context_code => l_amb_context_code
39861 , p_side => 'NA'
39862 );
39863
39864
39865 --
39866 --
39867 END IF;
39868 --
39869 -- Bug 4922099
39870 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
39871 (NVL(l_enc_upg_option, 'N') = 'O')
39872 ) AND
39873 (l_bflow_method_code = 'PRIOR_ENTRY')
39874 )
39875 THEN
39876 IF
39877 --
39878 1 = 2
39879 --
39880 THEN
39881 xla_accounting_err_pkg.build_message
39882 (p_appli_s_name => 'XLA'
39883 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
39884 ,p_token_1 => 'LINE_NUMBER'
39885 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
39886 ,p_token_2 => 'LINE_TYPE_NAME'
39887 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
39888 l_component_type
39889 ,l_component_code
39890 ,l_component_type_code
39891 ,l_component_appl_id
39892 ,l_amb_context_code
39893 ,l_entity_code
39894 ,l_event_class_code
39895 )
39896 ,p_token_3 => 'OWNER'
39897 ,p_value_3 => xla_lookups_pkg.get_meaning(
39898 p_lookup_type => 'XLA_OWNER_TYPE'
39899 ,p_lookup_code => l_component_type_code
39900 )
39901 ,p_token_4 => 'PRODUCT_NAME'
39902 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
39903 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
39904 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
39905 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
39906 ,p_ae_header_id => NULL
39907 );
39908
39909 IF (C_LEVEL_ERROR>= g_log_level) THEN
39910 trace
39911 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
39912 ,p_level => C_LEVEL_ERROR
39913 ,p_module => l_log_module);
39914 END IF;
39915 END IF;
39916 END IF;
39917 --
39918 --
39919 ------------------------------------------------------------------------------------------------
39920 -- 4219869 Business Flow
39921 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
39922 -- Prior Entry. Currently, the following code is always generated.
39926 ------------------------------------------------------------------------------------
39923 ------------------------------------------------------------------------------------------------
39924 XLA_AE_LINES_PKG.ValidateCurrentLine;
39925
39927 -- 4219869 Business Flow
39928 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
39929 ------------------------------------------------------------------------------------
39930 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
39931
39932 ----------------------------------------------------------------------------------
39933 -- 4219869 Business Flow
39934 -- Update journal entry status -- Need to generate this within IF <condition>
39935 ----------------------------------------------------------------------------------
39936 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
39937 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
39938 ,p_balance_type_code => l_balance_type_code
39939 );
39940
39941 -------------------------------------------------------------------------------------------
39942 -- 4262811 - Generate the Accrual Reversal lines
39943 -------------------------------------------------------------------------------------------
39944 BEGIN
39945 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
39946 (g_array_event(p_event_id).array_value_num('header_index'));
39947 IF l_acc_rev_flag IS NULL THEN
39948 l_acc_rev_flag := 'N';
39949 END IF;
39950 EXCEPTION
39951 WHEN OTHERS THEN
39952 l_acc_rev_flag := 'N';
39953 END;
39954 --
39955 IF (l_acc_rev_flag = 'Y') THEN
39956
39957 -- 4645092 ------------------------------------------------------------------------------
39958 -- To allow MPA report to determine if it should generate report process
39959 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
39960 ------------------------------------------------------------------------------------------
39961
39962 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
39963 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
39964 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
39965 -- call ADRs
39966 -- Bug 4922099
39967 --
39968 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
39969 (NVL(l_actual_upg_option, 'N') = 'O') OR
39970 (NVL(l_enc_upg_option, 'N') = 'O')
39971 )
39972 THEN
39973 NULL;
39974 --
39975 --
39976
39977 l_ccid := AcctDerRule_7(
39978 p_application_id => p_application_id
39979 , p_ae_header_id => l_ae_header_id
39980 , p_source_11 => p_source_11
39981 , x_transaction_coa_id => l_adr_transaction_coa_id
39982 , x_accounting_coa_id => l_adr_accounting_coa_id
39983 , x_value_type_code => l_adr_value_type_code
39984 , p_side => 'NA'
39985 );
39986
39987 xla_ae_lines_pkg.set_ccid(
39988 p_code_combination_id => l_ccid
39989 , p_value_type_code => l_adr_value_type_code
39990 , p_transaction_coa_id => l_adr_transaction_coa_id
39991 , p_accounting_coa_id => l_adr_accounting_coa_id
39992 , p_adr_code => 'AP_INVOICE_DIST'
39993 , p_adr_type_code => 'S'
39994 , p_component_type => l_component_type
39995 , p_component_code => l_component_code
39996 , p_component_type_code => l_component_type_code
39997 , p_component_appl_id => l_component_appl_id
39998 , p_amb_context_code => l_amb_context_code
39999 , p_side => 'NA'
40000 );
40001
40002
40003 --
40004 --
40005 END IF;
40006
40007 --
40008 -- Update the line information that should be overwritten
40009 --
40010 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
40011 p_header_num => 1);
40012 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
40013
40014 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
40015
40016 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
40017 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
40018 END IF;
40019
40020 --
40021 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
40022 --
40023 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
40024 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
40025 ELSE
40026 ---------------------------------------------------------------------------------------------------
40027 -- 4262811a Switch Sign
40028 ---------------------------------------------------------------------------------------------------
40029 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
40030 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
40031 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
40032 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
40036 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
40033 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
40034 -- 5132302
40035 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
40037
40038 END IF;
40039
40040 -- 4955764
40041 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
40042 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
40043
40044
40045 XLA_AE_LINES_PKG.ValidateCurrentLine;
40046 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
40047
40048 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
40049 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
40050 ,p_balance_type_code => l_balance_type_code);
40051
40052 END IF;
40053
40054 -----------------------------------------------------------------------------------------
40055 -- 4262811 Multiperiod Accounting
40056 -----------------------------------------------------------------------------------------
40057 -- No MPA option is assigned.
40058
40059
40060 END IF;
40061 END IF;
40062 --
40063
40064 --
40065 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
40066 trace
40067 (p_msg => 'END of AcctLineType_66'
40068 ,p_level => C_LEVEL_PROCEDURE
40069 ,p_module => l_log_module);
40070 END IF;
40071 --
40072 EXCEPTION
40073 WHEN xla_exceptions_pkg.application_exception THEN
40074 RAISE;
40075 WHEN OTHERS THEN
40076 xla_exceptions_pkg.raise_message
40077 (p_location => 'XLA_00200_AAD_S_000006_BC_PKG.AcctLineType_66');
40078 END AcctLineType_66;
40079 --
40080
40081 ---------------------------------------
40082 --
40083 -- PRIVATE FUNCTION
40084 -- AcctLineType_67
40085 --
40086 ---------------------------------------
40087 PROCEDURE AcctLineType_67 (
40088 p_application_id IN NUMBER
40089 ,p_event_id IN NUMBER
40090 ,p_calculate_acctd_flag IN VARCHAR2
40091 ,p_calculate_g_l_flag IN VARCHAR2
40092 ,p_actual_flag IN OUT VARCHAR2
40093 ,p_balance_type_code OUT VARCHAR2
40094 ,p_gain_or_loss_ref OUT VARCHAR2
40095
40096 --Invoice Distribution Description
40097 , p_source_1 IN VARCHAR2
40098 --Invoice Distribution Account
40099 , p_source_11 IN NUMBER
40100 --Invoice Distribution Type
40101 , p_source_15 IN VARCHAR2
40102 , p_source_15_meaning IN VARCHAR2
40103 --Amount for Variance Amount
40104 , p_source_16 IN NUMBER
40105 --Purchasing Encumbrance Option
40106 , p_source_17 IN VARCHAR2
40107 , p_source_17_meaning IN VARCHAR2
40108 --Accrue on Receipt Option
40109 , p_source_18 IN VARCHAR2
40110 , p_source_18_meaning IN VARCHAR2
40111 --Accounting Reversal Indicator
40112 , p_source_19 IN VARCHAR2
40113 --Distribution Link Type
40114 , p_source_21 IN VARCHAR2
40115 --Allocation to Main Distribution Identifier
40116 , p_source_23 IN NUMBER
40117 --Invoice Identifier
40118 , p_source_24 IN NUMBER
40119 --Business Flow Accounts Payable Application Identifier
40120 , p_source_25 IN NUMBER
40121 --Business Flow Invoice Distribution Type
40122 , p_source_26 IN VARCHAR2
40123 --Business Flow Invoice Entity Code
40124 , p_source_27 IN VARCHAR2
40125 --Business Flow Invoice Distribution Identifier
40126 , p_source_28 IN NUMBER
40127 --Business Flow Invoice Identifier
40128 , p_source_29 IN NUMBER
40129 --Invoice Distribution Identifier
40130 , p_source_30 IN NUMBER
40131 --Payables Encumbrance Upgrade Credit Account
40132 , p_source_31 IN NUMBER
40133 --Payables Encumbrance Upgrade Credit Amount
40134 , p_source_32 IN NUMBER
40135 --Invoice Currency Code
40136 , p_source_33 IN VARCHAR2
40137 --Payables Encumbrance Upgrade Credit Base Amount
40138 , p_source_34 IN NUMBER
40139 --Payables Encumbrance Upgrade Debit Account
40140 , p_source_35 IN NUMBER
40141 --Payables Encumbrance Upgrade Debit Amount
40142 , p_source_36 IN NUMBER
40143 --Payables Encumbrance Upgrade Debit Base Amount
40144 , p_source_37 IN NUMBER
40145 --Payables Encumbrance Upgrade Option
40146 , p_source_38 IN VARCHAR2
40147 --Invoice Exchange Date
40148 , p_source_39 IN DATE
40149 --Invoice Exchange Rate
40150 , p_source_40 IN NUMBER
40151 --Invoice Exchange Rate Type
40152 , p_source_41 IN VARCHAR2
40153 --Variance Amount in Ledger Currency
40154 , p_source_42 IN NUMBER
40155 --Deferred Accounting End Date
40156 , p_source_43 IN DATE
40157 --Deferred Accounting Option
40158 , p_source_44 IN VARCHAR2
40159 --Deferred Accounting Start Date
40160 , p_source_45 IN DATE
40161 --Override Accounted Amount Indicator
40162 , p_source_46 IN VARCHAR2
40163 , p_source_46_meaning IN VARCHAR2
40164 --Invoice Supplier Identifier
40165 , p_source_47 IN NUMBER
40166 --Invoice Supplier Site Identifier
40170 --Parent Reversal Identifier
40167 , p_source_48 IN NUMBER
40168 --Third Party Type
40169 , p_source_49 IN VARCHAR2
40171 , p_source_50 IN NUMBER
40172 --Invoice Distribution Tax Line Identifier
40173 , p_source_52 IN NUMBER
40174 --Invoice Distribution Tax Distribution Identifier from Tax
40175 , p_source_53 IN NUMBER
40176 --Invoice Distribution Summary Tax Line Identifier
40177 , p_source_54 IN NUMBER
40178 --Payables Upgrade Credit Encumbrance Type Identifier
40179 , p_source_55 IN NUMBER
40180 --Payables Upgrade Debit Encumbrance Type Identifier
40181 , p_source_56 IN NUMBER
40182 )
40183 IS
40184
40185 l_component_type VARCHAR2(80);
40186 l_component_code VARCHAR2(30);
40187 l_component_type_code VARCHAR2(1);
40188 l_component_appl_id INTEGER;
40189 l_amb_context_code VARCHAR2(30);
40190 l_entity_code VARCHAR2(30);
40191 l_event_class_code VARCHAR2(30);
40192 l_ae_header_id NUMBER;
40193 l_event_type_code VARCHAR2(30);
40194 l_line_definition_code VARCHAR2(30);
40195 l_line_definition_owner_code VARCHAR2(1);
40196 --
40197 -- adr variables
40198 l_segment VARCHAR2(30);
40199 l_ccid NUMBER;
40200 l_adr_transaction_coa_id NUMBER;
40201 l_adr_accounting_coa_id NUMBER;
40202 l_adr_flexfield_segment_code VARCHAR2(30);
40203 l_adr_flex_value_set_id NUMBER;
40204 l_adr_value_type_code VARCHAR2(30);
40205 l_adr_value_combination_id NUMBER;
40206 l_adr_value_segment_code VARCHAR2(30);
40207
40208 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
40209 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
40210 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
40211 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
40212
40213 -- 4262811 Variables ------------------------------------------------------------------------------------------
40214 l_entered_amt_idx NUMBER;
40215 l_accted_amt_idx NUMBER;
40216 l_acc_rev_flag VARCHAR2(1);
40217 l_accrual_line_num NUMBER;
40218 l_tmp_amt NUMBER;
40219 l_acc_rev_natural_side_code VARCHAR2(1);
40220
40221 l_num_entries NUMBER;
40222 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
40223 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
40224 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
40225 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
40226 l_recog_line_1 NUMBER;
40227 l_recog_line_2 NUMBER;
40228
40229 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
40230 l_bflow_applied_to_amt NUMBER; -- 5132302
40231 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
40232
40233 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
40234
40235 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
40236 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
40237
40238 ---------------------------------------------------------------------------------------------------------------
40239
40240
40241 --
40242 -- bulk performance
40243 --
40244 l_balance_type_code VARCHAR2(1);
40245 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
40246 l_log_module VARCHAR2(240);
40247
40248 --
40249 -- Upgrade strategy
40250 --
40251 l_actual_upg_option VARCHAR2(1);
40252 l_enc_upg_option VARCHAR2(1);
40253
40254 --
40255 BEGIN
40256 --
40257 IF g_log_enabled THEN
40258 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_67';
40259 END IF;
40260 --
40261 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
40262
40263 trace
40264 (p_msg => 'BEGIN of AcctLineType_67'
40265 ,p_level => C_LEVEL_PROCEDURE
40266 ,p_module => l_log_module);
40267
40268 END IF;
40269 --
40270 l_component_type := 'AMB_JLT';
40271 l_component_code := 'AP_TAX_AMT_VARIANCE_DM_ENC_DR';
40272 l_component_type_code := 'S';
40273 l_component_appl_id := 200;
40274 l_amb_context_code := 'DEFAULT';
40275 l_entity_code := 'AP_INVOICES';
40276 l_event_class_code := 'DEBIT MEMOS';
40277 l_event_type_code := 'DEBIT MEMOS_ALL';
40278 l_line_definition_owner_code := 'S';
40279 l_line_definition_code := 'ENC_DM_ALL';
40280 --
40281 l_balance_type_code := 'E';
40282 l_segment := NULL;
40283 l_ccid := NULL;
40284 l_adr_transaction_coa_id := NULL;
40285 l_adr_accounting_coa_id := NULL;
40286 l_adr_flexfield_segment_code := NULL;
40287 l_adr_flex_value_set_id := NULL;
40288 l_adr_value_type_code := NULL;
40289 l_adr_value_combination_id := NULL;
40290 l_adr_value_segment_code := NULL;
40291
40292 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
40293 l_bflow_class_code := 'AP_INV_ENCUM'; -- 4219869 Business Flow
40297 l_bflow_applied_to_amt_idx := NULL; -- 5132302
40294 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
40295 l_budgetary_control_flag := 'Y';
40296
40298 l_bflow_applied_to_amt := NULL; -- 5132302
40299 l_entered_amt_idx := NULL; -- 4262811
40300 l_accted_amt_idx := NULL; -- 4262811
40301 l_acc_rev_flag := NULL; -- 4262811
40302 l_accrual_line_num := NULL; -- 4262811
40303 l_tmp_amt := NULL; -- 4262811
40304 --
40305
40306 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
40307 l_balance_type_code <> 'B' THEN
40308 IF NVL(p_source_15,'
40309 ') = 'NONREC_TAX' AND
40310 p_source_16 IS NOT NULL AND
40311 NVL(p_source_17,'
40312 ') = 'Y' AND
40313 NVL(p_source_18,'
40314 ') <> 'Y'
40315 THEN
40316
40317 --
40318 XLA_AE_LINES_PKG.SetNewLine;
40319
40320 p_balance_type_code := l_balance_type_code;
40321 -- set the flag so later we will know whether the gain loss line needs to be created
40322
40323 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
40324 p_actual_flag :='A';
40325 END IF;
40326
40327 --
40328 -- bulk performance
40329 --
40330 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
40331 p_header_num => 0); -- 4262811
40332 --
40333 -- set accounting line options
40334 --
40335 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
40336 p_natural_side_code => 'D'
40337 , p_gain_or_loss_flag => 'N'
40338 , p_gl_transfer_mode_code => 'S'
40339 , p_acct_entry_type_code => 'E'
40340 , p_switch_side_flag => 'Y'
40341 , p_merge_duplicate_code => 'N'
40342 );
40343 --
40344 l_acc_rev_natural_side_code := 'C'; -- 4262811
40345 --
40346 --
40347 -- set accounting line type info
40348 --
40349 xla_ae_lines_pkg.SetAcctLineType
40350 (p_component_type => l_component_type
40351 ,p_event_type_code => l_event_type_code
40352 ,p_line_definition_owner_code => l_line_definition_owner_code
40353 ,p_line_definition_code => l_line_definition_code
40354 ,p_accounting_line_code => l_component_code
40355 ,p_accounting_line_type_code => l_component_type_code
40356 ,p_accounting_line_appl_id => l_component_appl_id
40357 ,p_amb_context_code => l_amb_context_code
40358 ,p_entity_code => l_entity_code
40359 ,p_event_class_code => l_event_class_code);
40360 --
40361 -- set accounting class
40362 --
40363 xla_ae_lines_pkg.SetAcctClass(
40364 p_accounting_class_code => 'TAV'
40365 , p_ae_header_id => l_ae_header_id
40366 );
40367
40368 --
40369 -- set rounding class
40370 --
40371 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
40372 'TAV';
40373
40374 --
40375 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
40376 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
40377 --
40378 -- bulk performance
40379 --
40380 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
40381
40382 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
40383 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
40384
40385 -- 4955764
40386 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
40387 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
40388
40389 -- 4458381 Public Sector Enh
40390 XLA_AE_LINES_PKG.g_rec_lines.array_encumbrance_type_id(XLA_AE_LINES_PKG.g_LineNumber) := 1060;
40391 --
40392 -- set accounting attributes for the line type
40393 --
40394 l_entered_amt_idx := 23;
40395 l_accted_amt_idx := 28;
40396 l_bflow_applied_to_amt_idx := NULL; -- 5132302
40397 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
40398 l_rec_acct_attrs.array_char_value(1) := p_source_19;
40399 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
40400 l_rec_acct_attrs.array_num_value(2) :=
40401 xla_ae_sources_pkg.GetSystemSourceNum(
40402 p_source_code => 'XLA_EVENT_APPL_ID'
40403 , p_source_type_code => 'Y'
40404 , p_source_application_id => 602
40405 );
40406 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
40407 l_rec_acct_attrs.array_char_value(3) := p_source_21;
40408 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
40409 l_rec_acct_attrs.array_char_value(4) :=
40410 xla_ae_sources_pkg.GetSystemSourceChar(
40411 p_source_code => 'XLA_ENTITY_CODE'
40412 , p_source_type_code => 'Y'
40413 , p_source_application_id => 602
40414 );
40415 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
40416 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_23);
40420 l_rec_acct_attrs.array_num_value(7) := p_source_25;
40417 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
40418 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_24);
40419 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
40421 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
40422 l_rec_acct_attrs.array_char_value(8) := p_source_26;
40423 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
40424 l_rec_acct_attrs.array_char_value(9) := p_source_27;
40425 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
40426 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_28);
40427 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
40428 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_29);
40429 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
40430 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_30);
40431 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
40432 l_rec_acct_attrs.array_char_value(13) := p_source_21;
40433 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
40434 l_rec_acct_attrs.array_num_value(14) := p_source_31;
40435 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
40436 l_rec_acct_attrs.array_num_value(15) := p_source_32;
40437 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
40438 l_rec_acct_attrs.array_char_value(16) := p_source_33;
40439 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
40440 l_rec_acct_attrs.array_num_value(17) := p_source_34;
40441 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
40442 l_rec_acct_attrs.array_num_value(18) := p_source_35;
40443 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
40444 l_rec_acct_attrs.array_num_value(19) := p_source_36;
40445 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
40446 l_rec_acct_attrs.array_char_value(20) := p_source_33;
40447 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
40448 l_rec_acct_attrs.array_num_value(21) := p_source_37;
40449 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
40450 l_rec_acct_attrs.array_char_value(22) := p_source_38;
40451 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
40452 l_rec_acct_attrs.array_num_value(23) := p_source_16;
40453 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
40454 l_rec_acct_attrs.array_char_value(24) := p_source_33;
40455 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
40456 l_rec_acct_attrs.array_date_value(25) := p_source_39;
40457 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
40458 l_rec_acct_attrs.array_num_value(26) := p_source_40;
40459 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
40460 l_rec_acct_attrs.array_char_value(27) := p_source_41;
40461 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
40462 l_rec_acct_attrs.array_num_value(28) := p_source_42;
40463 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
40464 l_rec_acct_attrs.array_date_value(29) := p_source_43;
40465 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
40466 l_rec_acct_attrs.array_char_value(30) := p_source_44;
40467 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
40468 l_rec_acct_attrs.array_date_value(31) := p_source_45;
40469 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
40470 l_rec_acct_attrs.array_char_value(32) := p_source_46;
40471 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
40472 l_rec_acct_attrs.array_num_value(33) := p_source_47;
40473 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
40474 l_rec_acct_attrs.array_num_value(34) := p_source_48;
40475 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
40476 l_rec_acct_attrs.array_char_value(35) := p_source_49;
40477 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
40478 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_50);
40479 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
40480 l_rec_acct_attrs.array_char_value(37) := p_source_21;
40481 l_rec_acct_attrs.array_acct_attr_code(38) := 'TAX_LINE_REF_ID';
40482 l_rec_acct_attrs.array_num_value(38) := p_source_52;
40483 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_REC_NREC_DIST_REF_ID';
40484 l_rec_acct_attrs.array_num_value(39) := p_source_53;
40485 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_SUMMARY_LINE_REF_ID';
40486 l_rec_acct_attrs.array_num_value(40) := p_source_54;
40487 l_rec_acct_attrs.array_acct_attr_code(41) := 'UPG_CR_ENC_TYPE_ID';
40488 l_rec_acct_attrs.array_num_value(41) := p_source_55;
40489 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_DR_ENC_TYPE_ID';
40490 l_rec_acct_attrs.array_num_value(42) := p_source_56;
40491
40492 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
40493 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
40494
40495 ---------------------------------------------------------------------------------------------------------------
40496 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
40497 ---------------------------------------------------------------------------------------------------------------
40498 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
40499
40503 IF xla_accounting_cache_pkg.GetValueChar
40500 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
40501 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
40502
40504 (p_source_code => 'LEDGER_CATEGORY_CODE'
40505 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
40506 AND l_bflow_method_code = 'PRIOR_ENTRY'
40507 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
40508 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
40509 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
40510 )
40511 THEN
40512 xla_ae_lines_pkg.BflowUpgEntry
40513 (p_business_method_code => l_bflow_method_code
40514 ,p_business_class_code => l_bflow_class_code
40515 ,p_balance_type => l_balance_type_code);
40516 ELSE
40517 NULL;
40518 -- No business flow processing for business flow method of NONE.
40519 END IF;
40520
40521 --
40522 -- call analytical criteria
40523 --
40524
40525 --
40526 -- call description
40527 --
40528
40529 xla_ae_lines_pkg.SetLineDescription(
40530 p_ae_header_id => l_ae_header_id
40531 ,p_description => Description_2 (
40532 p_application_id => p_application_id
40533 , p_ae_header_id => l_ae_header_id
40534 , p_source_1 => p_source_1
40535 )
40536 );
40537
40538
40539 --
40540 -- call ADRs
40541 -- Bug 4922099
40542 --
40543 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
40544 (NVL(l_actual_upg_option, 'N') = 'O') OR
40545 (NVL(l_enc_upg_option, 'N') = 'O')
40546 )
40547 THEN
40548 NULL;
40549 --
40550 --
40551
40552 l_ccid := AcctDerRule_7(
40553 p_application_id => p_application_id
40554 , p_ae_header_id => l_ae_header_id
40555 , p_source_11 => p_source_11
40556 , x_transaction_coa_id => l_adr_transaction_coa_id
40557 , x_accounting_coa_id => l_adr_accounting_coa_id
40558 , x_value_type_code => l_adr_value_type_code
40559 , p_side => 'NA'
40560 );
40561
40562 xla_ae_lines_pkg.set_ccid(
40563 p_code_combination_id => l_ccid
40564 , p_value_type_code => l_adr_value_type_code
40565 , p_transaction_coa_id => l_adr_transaction_coa_id
40566 , p_accounting_coa_id => l_adr_accounting_coa_id
40567 , p_adr_code => 'AP_INVOICE_DIST'
40568 , p_adr_type_code => 'S'
40569 , p_component_type => l_component_type
40570 , p_component_code => l_component_code
40571 , p_component_type_code => l_component_type_code
40572 , p_component_appl_id => l_component_appl_id
40573 , p_amb_context_code => l_amb_context_code
40574 , p_side => 'NA'
40575 );
40576
40577
40578 --
40579 --
40580 END IF;
40581 --
40582 -- Bug 4922099
40583 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
40584 (NVL(l_enc_upg_option, 'N') = 'O')
40585 ) AND
40586 (l_bflow_method_code = 'PRIOR_ENTRY')
40587 )
40588 THEN
40589 IF
40590 --
40591 1 = 2
40592 --
40593 THEN
40594 xla_accounting_err_pkg.build_message
40595 (p_appli_s_name => 'XLA'
40596 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
40597 ,p_token_1 => 'LINE_NUMBER'
40598 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
40599 ,p_token_2 => 'LINE_TYPE_NAME'
40600 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
40601 l_component_type
40602 ,l_component_code
40603 ,l_component_type_code
40604 ,l_component_appl_id
40605 ,l_amb_context_code
40606 ,l_entity_code
40607 ,l_event_class_code
40608 )
40609 ,p_token_3 => 'OWNER'
40610 ,p_value_3 => xla_lookups_pkg.get_meaning(
40611 p_lookup_type => 'XLA_OWNER_TYPE'
40612 ,p_lookup_code => l_component_type_code
40613 )
40614 ,p_token_4 => 'PRODUCT_NAME'
40615 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
40619 ,p_ae_header_id => NULL
40616 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
40617 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
40618 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
40620 );
40621
40622 IF (C_LEVEL_ERROR>= g_log_level) THEN
40623 trace
40624 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
40625 ,p_level => C_LEVEL_ERROR
40626 ,p_module => l_log_module);
40627 END IF;
40628 END IF;
40629 END IF;
40630 --
40631 --
40632 ------------------------------------------------------------------------------------------------
40633 -- 4219869 Business Flow
40634 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
40635 -- Prior Entry. Currently, the following code is always generated.
40636 ------------------------------------------------------------------------------------------------
40637 XLA_AE_LINES_PKG.ValidateCurrentLine;
40638
40639 ------------------------------------------------------------------------------------
40640 -- 4219869 Business Flow
40641 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
40642 ------------------------------------------------------------------------------------
40643 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
40644
40645 ----------------------------------------------------------------------------------
40646 -- 4219869 Business Flow
40647 -- Update journal entry status -- Need to generate this within IF <condition>
40648 ----------------------------------------------------------------------------------
40649 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
40650 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
40651 ,p_balance_type_code => l_balance_type_code
40652 );
40653
40654 -------------------------------------------------------------------------------------------
40655 -- 4262811 - Generate the Accrual Reversal lines
40656 -------------------------------------------------------------------------------------------
40657 BEGIN
40658 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
40659 (g_array_event(p_event_id).array_value_num('header_index'));
40660 IF l_acc_rev_flag IS NULL THEN
40661 l_acc_rev_flag := 'N';
40662 END IF;
40663 EXCEPTION
40664 WHEN OTHERS THEN
40665 l_acc_rev_flag := 'N';
40666 END;
40667 --
40668 IF (l_acc_rev_flag = 'Y') THEN
40669
40670 -- 4645092 ------------------------------------------------------------------------------
40671 -- To allow MPA report to determine if it should generate report process
40672 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
40673 ------------------------------------------------------------------------------------------
40674
40675 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
40676 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
40677 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
40678 -- call ADRs
40679 -- Bug 4922099
40680 --
40681 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
40682 (NVL(l_actual_upg_option, 'N') = 'O') OR
40683 (NVL(l_enc_upg_option, 'N') = 'O')
40684 )
40685 THEN
40686 NULL;
40687 --
40688 --
40689
40690 l_ccid := AcctDerRule_7(
40691 p_application_id => p_application_id
40692 , p_ae_header_id => l_ae_header_id
40693 , p_source_11 => p_source_11
40694 , x_transaction_coa_id => l_adr_transaction_coa_id
40695 , x_accounting_coa_id => l_adr_accounting_coa_id
40696 , x_value_type_code => l_adr_value_type_code
40697 , p_side => 'NA'
40698 );
40699
40700 xla_ae_lines_pkg.set_ccid(
40701 p_code_combination_id => l_ccid
40702 , p_value_type_code => l_adr_value_type_code
40703 , p_transaction_coa_id => l_adr_transaction_coa_id
40704 , p_accounting_coa_id => l_adr_accounting_coa_id
40705 , p_adr_code => 'AP_INVOICE_DIST'
40706 , p_adr_type_code => 'S'
40707 , p_component_type => l_component_type
40708 , p_component_code => l_component_code
40709 , p_component_type_code => l_component_type_code
40710 , p_component_appl_id => l_component_appl_id
40711 , p_amb_context_code => l_amb_context_code
40712 , p_side => 'NA'
40713 );
40714
40715
40716 --
40717 --
40718 END IF;
40719
40720 --
40721 -- Update the line information that should be overwritten
40722 --
40723 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
40724 p_header_num => 1);
40725 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
40726
40727 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
40728
40729 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
40733 --
40730 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
40731 END IF;
40732
40734 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
40735 --
40736 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
40737 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
40738 ELSE
40739 ---------------------------------------------------------------------------------------------------
40740 -- 4262811a Switch Sign
40741 ---------------------------------------------------------------------------------------------------
40742 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
40743 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
40744 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
40745 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
40746 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
40747 -- 5132302
40748 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
40749 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
40750
40751 END IF;
40752
40753 -- 4955764
40754 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
40755 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
40756
40757
40758 XLA_AE_LINES_PKG.ValidateCurrentLine;
40759 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
40760
40761 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
40762 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
40763 ,p_balance_type_code => l_balance_type_code);
40764
40765 END IF;
40766
40767 -----------------------------------------------------------------------------------------
40768 -- 4262811 Multiperiod Accounting
40769 -----------------------------------------------------------------------------------------
40770 -- No MPA option is assigned.
40771
40772
40773 END IF;
40774 END IF;
40775 --
40776
40777 --
40778 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
40779 trace
40780 (p_msg => 'END of AcctLineType_67'
40781 ,p_level => C_LEVEL_PROCEDURE
40782 ,p_module => l_log_module);
40783 END IF;
40784 --
40785 EXCEPTION
40786 WHEN xla_exceptions_pkg.application_exception THEN
40787 RAISE;
40788 WHEN OTHERS THEN
40789 xla_exceptions_pkg.raise_message
40790 (p_location => 'XLA_00200_AAD_S_000006_BC_PKG.AcctLineType_67');
40791 END AcctLineType_67;
40792 --
40793
40794 ---------------------------------------
40795 --
40796 -- PRIVATE FUNCTION
40797 -- AcctLineType_68
40798 --
40799 ---------------------------------------
40800 PROCEDURE AcctLineType_68 (
40801 p_application_id IN NUMBER
40802 ,p_event_id IN NUMBER
40803 ,p_calculate_acctd_flag IN VARCHAR2
40804 ,p_calculate_g_l_flag IN VARCHAR2
40805 ,p_actual_flag IN OUT VARCHAR2
40806 ,p_balance_type_code OUT VARCHAR2
40807 ,p_gain_or_loss_ref OUT VARCHAR2
40808
40809 --Invoice Distribution Description
40810 , p_source_1 IN VARCHAR2
40811 --Invoice Distribution Account
40812 , p_source_11 IN NUMBER
40813 --Invoice Distribution Type
40814 , p_source_15 IN VARCHAR2
40815 , p_source_15_meaning IN VARCHAR2
40816 --Amount for Variance Amount
40817 , p_source_16 IN NUMBER
40818 --Purchasing Encumbrance Option
40819 , p_source_17 IN VARCHAR2
40820 , p_source_17_meaning IN VARCHAR2
40821 --Accrue on Receipt Option
40822 , p_source_18 IN VARCHAR2
40823 , p_source_18_meaning IN VARCHAR2
40824 --Accounting Reversal Indicator
40825 , p_source_19 IN VARCHAR2
40826 --Distribution Link Type
40827 , p_source_21 IN VARCHAR2
40828 --Allocation to Main Distribution Identifier
40829 , p_source_23 IN NUMBER
40830 --Invoice Identifier
40831 , p_source_24 IN NUMBER
40832 --Business Flow Accounts Payable Application Identifier
40833 , p_source_25 IN NUMBER
40834 --Business Flow Invoice Distribution Type
40835 , p_source_26 IN VARCHAR2
40836 --Business Flow Invoice Entity Code
40837 , p_source_27 IN VARCHAR2
40838 --Business Flow Invoice Distribution Identifier
40839 , p_source_28 IN NUMBER
40840 --Business Flow Invoice Identifier
40841 , p_source_29 IN NUMBER
40842 --Invoice Distribution Identifier
40843 , p_source_30 IN NUMBER
40844 --Payables Encumbrance Upgrade Credit Account
40845 , p_source_31 IN NUMBER
40846 --Payables Encumbrance Upgrade Credit Amount
40847 , p_source_32 IN NUMBER
40848 --Invoice Currency Code
40849 , p_source_33 IN VARCHAR2
40850 --Payables Encumbrance Upgrade Credit Base Amount
40851 , p_source_34 IN NUMBER
40855 , p_source_36 IN NUMBER
40852 --Payables Encumbrance Upgrade Debit Account
40853 , p_source_35 IN NUMBER
40854 --Payables Encumbrance Upgrade Debit Amount
40856 --Payables Encumbrance Upgrade Debit Base Amount
40857 , p_source_37 IN NUMBER
40858 --Payables Encumbrance Upgrade Option
40859 , p_source_38 IN VARCHAR2
40860 --Invoice Exchange Date
40861 , p_source_39 IN DATE
40862 --Invoice Exchange Rate
40863 , p_source_40 IN NUMBER
40864 --Invoice Exchange Rate Type
40865 , p_source_41 IN VARCHAR2
40866 --Variance Amount in Ledger Currency
40867 , p_source_42 IN NUMBER
40868 --Deferred Accounting End Date
40869 , p_source_43 IN DATE
40870 --Deferred Accounting Option
40871 , p_source_44 IN VARCHAR2
40872 --Deferred Accounting Start Date
40873 , p_source_45 IN DATE
40874 --Override Accounted Amount Indicator
40875 , p_source_46 IN VARCHAR2
40876 , p_source_46_meaning IN VARCHAR2
40877 --Invoice Supplier Identifier
40878 , p_source_47 IN NUMBER
40879 --Invoice Supplier Site Identifier
40880 , p_source_48 IN NUMBER
40881 --Third Party Type
40882 , p_source_49 IN VARCHAR2
40883 --Parent Reversal Identifier
40884 , p_source_50 IN NUMBER
40885 --Invoice Distribution Statistical Amount
40886 , p_source_51 IN NUMBER
40887 --Invoice Distribution Tax Line Identifier
40888 , p_source_52 IN NUMBER
40889 --Invoice Distribution Tax Distribution Identifier from Tax
40890 , p_source_53 IN NUMBER
40891 --Invoice Distribution Summary Tax Line Identifier
40892 , p_source_54 IN NUMBER
40893 --Payables Upgrade Credit Encumbrance Type Identifier
40894 , p_source_55 IN NUMBER
40895 --Payables Upgrade Debit Encumbrance Type Identifier
40896 , p_source_56 IN NUMBER
40897 --Invoice Distribution Amount
40898 , p_source_57 IN NUMBER
40899 )
40900 IS
40901
40902 l_component_type VARCHAR2(80);
40903 l_component_code VARCHAR2(30);
40904 l_component_type_code VARCHAR2(1);
40905 l_component_appl_id INTEGER;
40906 l_amb_context_code VARCHAR2(30);
40907 l_entity_code VARCHAR2(30);
40908 l_event_class_code VARCHAR2(30);
40909 l_ae_header_id NUMBER;
40910 l_event_type_code VARCHAR2(30);
40911 l_line_definition_code VARCHAR2(30);
40912 l_line_definition_owner_code VARCHAR2(1);
40913 --
40914 -- adr variables
40915 l_segment VARCHAR2(30);
40916 l_ccid NUMBER;
40917 l_adr_transaction_coa_id NUMBER;
40918 l_adr_accounting_coa_id NUMBER;
40919 l_adr_flexfield_segment_code VARCHAR2(30);
40920 l_adr_flex_value_set_id NUMBER;
40921 l_adr_value_type_code VARCHAR2(30);
40922 l_adr_value_combination_id NUMBER;
40923 l_adr_value_segment_code VARCHAR2(30);
40924
40925 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
40926 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
40927 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
40928 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
40929
40930 -- 4262811 Variables ------------------------------------------------------------------------------------------
40931 l_entered_amt_idx NUMBER;
40932 l_accted_amt_idx NUMBER;
40933 l_acc_rev_flag VARCHAR2(1);
40934 l_accrual_line_num NUMBER;
40935 l_tmp_amt NUMBER;
40936 l_acc_rev_natural_side_code VARCHAR2(1);
40937
40938 l_num_entries NUMBER;
40939 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
40940 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
40941 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
40942 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
40943 l_recog_line_1 NUMBER;
40944 l_recog_line_2 NUMBER;
40945
40946 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
40947 l_bflow_applied_to_amt NUMBER; -- 5132302
40948 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
40949
40950 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
40951
40952 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
40953 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
40954
40955 ---------------------------------------------------------------------------------------------------------------
40956
40957
40958 --
40959 -- bulk performance
40960 --
40961 l_balance_type_code VARCHAR2(1);
40962 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
40963 l_log_module VARCHAR2(240);
40964
40965 --
40966 -- Upgrade strategy
40967 --
40968 l_actual_upg_option VARCHAR2(1);
40969 l_enc_upg_option VARCHAR2(1);
40970
40971 --
40972 BEGIN
40973 --
40974 IF g_log_enabled THEN
40975 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_68';
40976 END IF;
40977 --
40978 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
40979
40983 ,p_module => l_log_module);
40980 trace
40981 (p_msg => 'BEGIN of AcctLineType_68'
40982 ,p_level => C_LEVEL_PROCEDURE
40984
40985 END IF;
40986 --
40987 l_component_type := 'AMB_JLT';
40988 l_component_code := 'AP_TAX_AMT_VARIANCE_INV_ENC_DR';
40989 l_component_type_code := 'S';
40990 l_component_appl_id := 200;
40991 l_amb_context_code := 'DEFAULT';
40992 l_entity_code := 'AP_INVOICES';
40993 l_event_class_code := 'INVOICES';
40994 l_event_type_code := 'INVOICES_ALL';
40995 l_line_definition_owner_code := 'S';
40996 l_line_definition_code := 'ENC_INVOICES_ALL';
40997 --
40998 l_balance_type_code := 'E';
40999 l_segment := NULL;
41000 l_ccid := NULL;
41001 l_adr_transaction_coa_id := NULL;
41002 l_adr_accounting_coa_id := NULL;
41003 l_adr_flexfield_segment_code := NULL;
41004 l_adr_flex_value_set_id := NULL;
41005 l_adr_value_type_code := NULL;
41006 l_adr_value_combination_id := NULL;
41007 l_adr_value_segment_code := NULL;
41008
41009 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
41010 l_bflow_class_code := 'AP_INV_ENCUM'; -- 4219869 Business Flow
41011 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
41012 l_budgetary_control_flag := 'Y';
41013
41014 l_bflow_applied_to_amt_idx := NULL; -- 5132302
41015 l_bflow_applied_to_amt := NULL; -- 5132302
41016 l_entered_amt_idx := NULL; -- 4262811
41017 l_accted_amt_idx := NULL; -- 4262811
41018 l_acc_rev_flag := NULL; -- 4262811
41019 l_accrual_line_num := NULL; -- 4262811
41020 l_tmp_amt := NULL; -- 4262811
41021 --
41022
41023 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
41024 l_balance_type_code <> 'B' THEN
41025 IF NVL(p_source_15,'
41026 ') = 'NONREC_TAX' AND
41027 NVL(p_source_17,'
41028 ') = 'Y' AND
41029 p_source_16 IS NOT NULL AND
41030 NVL(p_source_18,'
41031 ') <> 'Y'
41032 THEN
41033
41034 --
41035 XLA_AE_LINES_PKG.SetNewLine;
41036
41037 p_balance_type_code := l_balance_type_code;
41038 -- set the flag so later we will know whether the gain loss line needs to be created
41039
41040 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
41041 p_actual_flag :='A';
41042 END IF;
41043
41044 --
41045 -- bulk performance
41046 --
41047 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
41048 p_header_num => 0); -- 4262811
41049 --
41050 -- set accounting line options
41051 --
41052 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
41053 p_natural_side_code => 'D'
41054 , p_gain_or_loss_flag => 'N'
41055 , p_gl_transfer_mode_code => 'S'
41056 , p_acct_entry_type_code => 'E'
41057 , p_switch_side_flag => 'Y'
41058 , p_merge_duplicate_code => 'N'
41059 );
41060 --
41061 l_acc_rev_natural_side_code := 'C'; -- 4262811
41062 --
41063 --
41064 -- set accounting line type info
41065 --
41066 xla_ae_lines_pkg.SetAcctLineType
41067 (p_component_type => l_component_type
41068 ,p_event_type_code => l_event_type_code
41069 ,p_line_definition_owner_code => l_line_definition_owner_code
41070 ,p_line_definition_code => l_line_definition_code
41071 ,p_accounting_line_code => l_component_code
41072 ,p_accounting_line_type_code => l_component_type_code
41073 ,p_accounting_line_appl_id => l_component_appl_id
41074 ,p_amb_context_code => l_amb_context_code
41075 ,p_entity_code => l_entity_code
41076 ,p_event_class_code => l_event_class_code);
41077 --
41078 -- set accounting class
41079 --
41080 xla_ae_lines_pkg.SetAcctClass(
41081 p_accounting_class_code => 'TAV'
41082 , p_ae_header_id => l_ae_header_id
41083 );
41084
41085 --
41086 -- set rounding class
41087 --
41088 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
41089 'TAV';
41090
41091 --
41092 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
41093 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
41094 --
41095 -- bulk performance
41096 --
41097 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
41098
41099 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
41100 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
41101
41102 -- 4955764
41103 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
41104 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
41105
41106 -- 4458381 Public Sector Enh
41110 --
41107 XLA_AE_LINES_PKG.g_rec_lines.array_encumbrance_type_id(XLA_AE_LINES_PKG.g_LineNumber) := 1060;
41108 --
41109 -- set accounting attributes for the line type
41111 l_entered_amt_idx := 24;
41112 l_accted_amt_idx := 29;
41113 l_bflow_applied_to_amt_idx := 7; -- 5132302
41114 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
41115 l_rec_acct_attrs.array_char_value(1) := p_source_19;
41116 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
41117 l_rec_acct_attrs.array_num_value(2) :=
41118 xla_ae_sources_pkg.GetSystemSourceNum(
41119 p_source_code => 'XLA_EVENT_APPL_ID'
41120 , p_source_type_code => 'Y'
41121 , p_source_application_id => 602
41122 );
41123 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
41124 l_rec_acct_attrs.array_char_value(3) := p_source_21;
41125 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
41126 l_rec_acct_attrs.array_char_value(4) :=
41127 xla_ae_sources_pkg.GetSystemSourceChar(
41128 p_source_code => 'XLA_ENTITY_CODE'
41129 , p_source_type_code => 'Y'
41130 , p_source_application_id => 602
41131 );
41132 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
41133 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_23);
41134 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
41135 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_24);
41136 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_AMOUNT';
41137 l_rec_acct_attrs.array_num_value(7) := p_source_57;
41138 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_APPLICATION_ID';
41139 l_rec_acct_attrs.array_num_value(8) := p_source_25;
41140 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_DISTRIBUTION_TYPE';
41141 l_rec_acct_attrs.array_char_value(9) := p_source_26;
41142 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_ENTITY_CODE';
41143 l_rec_acct_attrs.array_char_value(10) := p_source_27;
41144 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_DIST_ID';
41145 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_28);
41146 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
41147 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_29);
41148 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
41149 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_30);
41150 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_TYPE';
41151 l_rec_acct_attrs.array_char_value(14) := p_source_21;
41152 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
41153 l_rec_acct_attrs.array_num_value(15) := p_source_31;
41154 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
41155 l_rec_acct_attrs.array_num_value(16) := p_source_32;
41156 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
41157 l_rec_acct_attrs.array_char_value(17) := p_source_33;
41158 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
41159 l_rec_acct_attrs.array_num_value(18) := p_source_34;
41160 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_CCID';
41161 l_rec_acct_attrs.array_num_value(19) := p_source_35;
41162 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_AMT';
41163 l_rec_acct_attrs.array_num_value(20) := p_source_36;
41164 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_CURR';
41165 l_rec_acct_attrs.array_char_value(21) := p_source_33;
41166 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_LEDGER_AMT';
41167 l_rec_acct_attrs.array_num_value(22) := p_source_37;
41168 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_OPTION';
41169 l_rec_acct_attrs.array_char_value(23) := p_source_38;
41170 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_AMOUNT';
41171 l_rec_acct_attrs.array_num_value(24) := p_source_16;
41172 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_CODE';
41173 l_rec_acct_attrs.array_char_value(25) := p_source_33;
41174 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_DATE';
41175 l_rec_acct_attrs.array_date_value(26) := p_source_39;
41176 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE';
41177 l_rec_acct_attrs.array_num_value(27) := p_source_40;
41178 l_rec_acct_attrs.array_acct_attr_code(28) := 'EXCHANGE_RATE_TYPE';
41179 l_rec_acct_attrs.array_char_value(28) := p_source_41;
41180 l_rec_acct_attrs.array_acct_attr_code(29) := 'LEDGER_AMOUNT';
41181 l_rec_acct_attrs.array_num_value(29) := p_source_42;
41182 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_END_DATE';
41183 l_rec_acct_attrs.array_date_value(30) := p_source_43;
41184 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_OPTION';
41185 l_rec_acct_attrs.array_char_value(31) := p_source_44;
41186 l_rec_acct_attrs.array_acct_attr_code(32) := 'MULTIPERIOD_START_DATE';
41187 l_rec_acct_attrs.array_date_value(32) := p_source_45;
41188 l_rec_acct_attrs.array_acct_attr_code(33) := 'OVERRIDE_ACCTD_AMT_FLAG';
41189 l_rec_acct_attrs.array_char_value(33) := p_source_46;
41190 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_ID';
41191 l_rec_acct_attrs.array_num_value(34) := p_source_47;
41192 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_SITE_ID';
41193 l_rec_acct_attrs.array_num_value(35) := p_source_48;
41194 l_rec_acct_attrs.array_acct_attr_code(36) := 'PARTY_TYPE';
41195 l_rec_acct_attrs.array_char_value(36) := p_source_49;
41196 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_ID1';
41200 l_rec_acct_attrs.array_acct_attr_code(39) := 'STATISTICAL_AMOUNT';
41197 l_rec_acct_attrs.array_num_value(37) := to_char(p_source_50);
41198 l_rec_acct_attrs.array_acct_attr_code(38) := 'REVERSED_DISTRIBUTION_TYPE';
41199 l_rec_acct_attrs.array_char_value(38) := p_source_21;
41201 l_rec_acct_attrs.array_num_value(39) := p_source_51;
41202 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_LINE_REF_ID';
41203 l_rec_acct_attrs.array_num_value(40) := p_source_52;
41204 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_REC_NREC_DIST_REF_ID';
41205 l_rec_acct_attrs.array_num_value(41) := p_source_53;
41206 l_rec_acct_attrs.array_acct_attr_code(42) := 'TAX_SUMMARY_LINE_REF_ID';
41207 l_rec_acct_attrs.array_num_value(42) := p_source_54;
41208 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_CR_ENC_TYPE_ID';
41209 l_rec_acct_attrs.array_num_value(43) := p_source_55;
41210 l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
41211 l_rec_acct_attrs.array_num_value(44) := p_source_56;
41212
41213 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
41214 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
41215
41216 ---------------------------------------------------------------------------------------------------------------
41217 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
41218 ---------------------------------------------------------------------------------------------------------------
41219 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
41220
41221 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
41222 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
41223
41224 IF xla_accounting_cache_pkg.GetValueChar
41225 (p_source_code => 'LEDGER_CATEGORY_CODE'
41226 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
41227 AND l_bflow_method_code = 'PRIOR_ENTRY'
41228 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
41229 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
41230 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
41231 )
41232 THEN
41233 xla_ae_lines_pkg.BflowUpgEntry
41234 (p_business_method_code => l_bflow_method_code
41235 ,p_business_class_code => l_bflow_class_code
41236 ,p_balance_type => l_balance_type_code);
41237 ELSE
41238 NULL;
41239 -- No business flow processing for business flow method of NONE.
41240 END IF;
41241
41242 --
41243 -- call analytical criteria
41244 --
41245
41246 --
41247 -- call description
41248 --
41249
41250 xla_ae_lines_pkg.SetLineDescription(
41251 p_ae_header_id => l_ae_header_id
41252 ,p_description => Description_2 (
41253 p_application_id => p_application_id
41254 , p_ae_header_id => l_ae_header_id
41255 , p_source_1 => p_source_1
41256 )
41257 );
41258
41259
41260 --
41261 -- call ADRs
41262 -- Bug 4922099
41263 --
41264 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
41265 (NVL(l_actual_upg_option, 'N') = 'O') OR
41266 (NVL(l_enc_upg_option, 'N') = 'O')
41267 )
41268 THEN
41269 NULL;
41270 --
41271 --
41272
41273 l_ccid := AcctDerRule_7(
41274 p_application_id => p_application_id
41275 , p_ae_header_id => l_ae_header_id
41276 , p_source_11 => p_source_11
41277 , x_transaction_coa_id => l_adr_transaction_coa_id
41278 , x_accounting_coa_id => l_adr_accounting_coa_id
41279 , x_value_type_code => l_adr_value_type_code
41280 , p_side => 'NA'
41281 );
41282
41283 xla_ae_lines_pkg.set_ccid(
41284 p_code_combination_id => l_ccid
41285 , p_value_type_code => l_adr_value_type_code
41286 , p_transaction_coa_id => l_adr_transaction_coa_id
41287 , p_accounting_coa_id => l_adr_accounting_coa_id
41288 , p_adr_code => 'AP_INVOICE_DIST'
41289 , p_adr_type_code => 'S'
41290 , p_component_type => l_component_type
41291 , p_component_code => l_component_code
41292 , p_component_type_code => l_component_type_code
41293 , p_component_appl_id => l_component_appl_id
41294 , p_amb_context_code => l_amb_context_code
41295 , p_side => 'NA'
41296 );
41297
41298
41299 --
41300 --
41301 END IF;
41302 --
41303 -- Bug 4922099
41304 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
41305 (NVL(l_enc_upg_option, 'N') = 'O')
41306 ) AND
41307 (l_bflow_method_code = 'PRIOR_ENTRY')
41308 )
41309 THEN
41310 IF
41311 --
41312 1 = 2
41313 --
41314 THEN
41315 xla_accounting_err_pkg.build_message
41316 (p_appli_s_name => 'XLA'
41317 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
41318 ,p_token_1 => 'LINE_NUMBER'
41322 l_component_type
41319 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
41320 ,p_token_2 => 'LINE_TYPE_NAME'
41321 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
41323 ,l_component_code
41324 ,l_component_type_code
41325 ,l_component_appl_id
41326 ,l_amb_context_code
41327 ,l_entity_code
41328 ,l_event_class_code
41329 )
41330 ,p_token_3 => 'OWNER'
41331 ,p_value_3 => xla_lookups_pkg.get_meaning(
41332 p_lookup_type => 'XLA_OWNER_TYPE'
41333 ,p_lookup_code => l_component_type_code
41334 )
41335 ,p_token_4 => 'PRODUCT_NAME'
41336 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
41337 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
41338 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
41339 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
41340 ,p_ae_header_id => NULL
41341 );
41342
41343 IF (C_LEVEL_ERROR>= g_log_level) THEN
41344 trace
41345 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
41346 ,p_level => C_LEVEL_ERROR
41347 ,p_module => l_log_module);
41348 END IF;
41349 END IF;
41350 END IF;
41351 --
41352 --
41353 ------------------------------------------------------------------------------------------------
41354 -- 4219869 Business Flow
41355 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
41356 -- Prior Entry. Currently, the following code is always generated.
41357 ------------------------------------------------------------------------------------------------
41358 XLA_AE_LINES_PKG.ValidateCurrentLine;
41359
41360 ------------------------------------------------------------------------------------
41361 -- 4219869 Business Flow
41362 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
41363 ------------------------------------------------------------------------------------
41364 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
41365
41366 ----------------------------------------------------------------------------------
41367 -- 4219869 Business Flow
41368 -- Update journal entry status -- Need to generate this within IF <condition>
41369 ----------------------------------------------------------------------------------
41370 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
41371 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
41372 ,p_balance_type_code => l_balance_type_code
41373 );
41374
41375 -------------------------------------------------------------------------------------------
41376 -- 4262811 - Generate the Accrual Reversal lines
41377 -------------------------------------------------------------------------------------------
41378 BEGIN
41379 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
41380 (g_array_event(p_event_id).array_value_num('header_index'));
41381 IF l_acc_rev_flag IS NULL THEN
41382 l_acc_rev_flag := 'N';
41383 END IF;
41384 EXCEPTION
41385 WHEN OTHERS THEN
41386 l_acc_rev_flag := 'N';
41387 END;
41388 --
41389 IF (l_acc_rev_flag = 'Y') THEN
41390
41391 -- 4645092 ------------------------------------------------------------------------------
41392 -- To allow MPA report to determine if it should generate report process
41393 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
41394 ------------------------------------------------------------------------------------------
41395
41396 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
41397 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
41398 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
41399 -- call ADRs
41400 -- Bug 4922099
41401 --
41402 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
41403 (NVL(l_actual_upg_option, 'N') = 'O') OR
41404 (NVL(l_enc_upg_option, 'N') = 'O')
41405 )
41406 THEN
41407 NULL;
41408 --
41409 --
41410
41411 l_ccid := AcctDerRule_7(
41412 p_application_id => p_application_id
41413 , p_ae_header_id => l_ae_header_id
41414 , p_source_11 => p_source_11
41418 , p_side => 'NA'
41415 , x_transaction_coa_id => l_adr_transaction_coa_id
41416 , x_accounting_coa_id => l_adr_accounting_coa_id
41417 , x_value_type_code => l_adr_value_type_code
41419 );
41420
41421 xla_ae_lines_pkg.set_ccid(
41422 p_code_combination_id => l_ccid
41423 , p_value_type_code => l_adr_value_type_code
41424 , p_transaction_coa_id => l_adr_transaction_coa_id
41425 , p_accounting_coa_id => l_adr_accounting_coa_id
41426 , p_adr_code => 'AP_INVOICE_DIST'
41427 , p_adr_type_code => 'S'
41428 , p_component_type => l_component_type
41429 , p_component_code => l_component_code
41430 , p_component_type_code => l_component_type_code
41431 , p_component_appl_id => l_component_appl_id
41432 , p_amb_context_code => l_amb_context_code
41433 , p_side => 'NA'
41434 );
41435
41436
41437 --
41438 --
41439 END IF;
41440
41441 --
41442 -- Update the line information that should be overwritten
41443 --
41444 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
41445 p_header_num => 1);
41446 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
41447
41448 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
41449
41450 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
41451 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
41452 END IF;
41453
41454 --
41455 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
41456 --
41457 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
41458 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
41459 ELSE
41460 ---------------------------------------------------------------------------------------------------
41461 -- 4262811a Switch Sign
41462 ---------------------------------------------------------------------------------------------------
41463 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
41464 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
41465 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
41466 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
41467 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
41468 -- 5132302
41469 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
41470 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
41471
41472 END IF;
41473
41474 -- 4955764
41475 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
41476 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
41477
41478
41479 XLA_AE_LINES_PKG.ValidateCurrentLine;
41480 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
41481
41482 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
41483 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
41484 ,p_balance_type_code => l_balance_type_code);
41485
41486 END IF;
41487
41488 -----------------------------------------------------------------------------------------
41489 -- 4262811 Multiperiod Accounting
41490 -----------------------------------------------------------------------------------------
41491 -- No MPA option is assigned.
41492
41493
41494 END IF;
41495 END IF;
41496 --
41497
41498 --
41499 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
41500 trace
41501 (p_msg => 'END of AcctLineType_68'
41502 ,p_level => C_LEVEL_PROCEDURE
41503 ,p_module => l_log_module);
41504 END IF;
41505 --
41506 EXCEPTION
41507 WHEN xla_exceptions_pkg.application_exception THEN
41508 RAISE;
41509 WHEN OTHERS THEN
41510 xla_exceptions_pkg.raise_message
41511 (p_location => 'XLA_00200_AAD_S_000006_BC_PKG.AcctLineType_68');
41512 END AcctLineType_68;
41513 --
41514
41515 ---------------------------------------
41516 --
41517 -- PRIVATE FUNCTION
41518 -- AcctLineType_69
41519 --
41520 ---------------------------------------
41521 PROCEDURE AcctLineType_69 (
41522 p_application_id IN NUMBER
41523 ,p_event_id IN NUMBER
41524 ,p_calculate_acctd_flag IN VARCHAR2
41525 ,p_calculate_g_l_flag IN VARCHAR2
41526 ,p_actual_flag IN OUT VARCHAR2
41527 ,p_balance_type_code OUT VARCHAR2
41528 ,p_gain_or_loss_ref OUT VARCHAR2
41529
41530 --Invoice Distribution Description
41531 , p_source_1 IN VARCHAR2
41532 --Invoice Distribution Account
41533 , p_source_11 IN NUMBER
41534 --Invoice Distribution Type
41538 , p_source_16 IN NUMBER
41535 , p_source_15 IN VARCHAR2
41536 , p_source_15_meaning IN VARCHAR2
41537 --Amount for Variance Amount
41539 --Purchasing Encumbrance Option
41540 , p_source_17 IN VARCHAR2
41541 , p_source_17_meaning IN VARCHAR2
41542 --Accrue on Receipt Option
41543 , p_source_18 IN VARCHAR2
41544 , p_source_18_meaning IN VARCHAR2
41545 --Accounting Reversal Indicator
41546 , p_source_19 IN VARCHAR2
41547 --Distribution Link Type
41548 , p_source_21 IN VARCHAR2
41549 --Allocation to Main Distribution Identifier
41550 , p_source_23 IN NUMBER
41551 --Invoice Identifier
41552 , p_source_24 IN NUMBER
41553 --Business Flow Accounts Payable Application Identifier
41554 , p_source_25 IN NUMBER
41555 --Business Flow Invoice Distribution Type
41556 , p_source_26 IN VARCHAR2
41557 --Business Flow Invoice Entity Code
41558 , p_source_27 IN VARCHAR2
41559 --Business Flow Invoice Distribution Identifier
41560 , p_source_28 IN NUMBER
41561 --Business Flow Invoice Identifier
41562 , p_source_29 IN NUMBER
41563 --Invoice Distribution Identifier
41564 , p_source_30 IN NUMBER
41565 --Payables Encumbrance Upgrade Credit Account
41566 , p_source_31 IN NUMBER
41567 --Payables Encumbrance Upgrade Credit Amount
41568 , p_source_32 IN NUMBER
41569 --Invoice Currency Code
41570 , p_source_33 IN VARCHAR2
41571 --Payables Encumbrance Upgrade Credit Base Amount
41572 , p_source_34 IN NUMBER
41573 --Payables Encumbrance Upgrade Debit Account
41574 , p_source_35 IN NUMBER
41575 --Payables Encumbrance Upgrade Debit Amount
41576 , p_source_36 IN NUMBER
41577 --Payables Encumbrance Upgrade Debit Base Amount
41578 , p_source_37 IN NUMBER
41579 --Payables Encumbrance Upgrade Option
41580 , p_source_38 IN VARCHAR2
41581 --Invoice Exchange Date
41582 , p_source_39 IN DATE
41583 --Invoice Exchange Rate
41584 , p_source_40 IN NUMBER
41585 --Invoice Exchange Rate Type
41586 , p_source_41 IN VARCHAR2
41587 --Variance Amount in Ledger Currency
41588 , p_source_42 IN NUMBER
41589 --Deferred Accounting End Date
41590 , p_source_43 IN DATE
41591 --Deferred Accounting Option
41592 , p_source_44 IN VARCHAR2
41593 --Deferred Accounting Start Date
41594 , p_source_45 IN DATE
41595 --Override Accounted Amount Indicator
41596 , p_source_46 IN VARCHAR2
41597 , p_source_46_meaning IN VARCHAR2
41598 --Invoice Supplier Identifier
41599 , p_source_47 IN NUMBER
41600 --Invoice Supplier Site Identifier
41601 , p_source_48 IN NUMBER
41602 --Third Party Type
41603 , p_source_49 IN VARCHAR2
41604 --Parent Reversal Identifier
41605 , p_source_50 IN NUMBER
41606 --Invoice Distribution Statistical Amount
41607 , p_source_51 IN NUMBER
41608 --Invoice Distribution Tax Line Identifier
41609 , p_source_52 IN NUMBER
41610 --Invoice Distribution Tax Distribution Identifier from Tax
41611 , p_source_53 IN NUMBER
41612 --Invoice Distribution Summary Tax Line Identifier
41613 , p_source_54 IN NUMBER
41614 --Payables Upgrade Credit Encumbrance Type Identifier
41615 , p_source_55 IN NUMBER
41616 --Payables Upgrade Debit Encumbrance Type Identifier
41617 , p_source_56 IN NUMBER
41618 )
41619 IS
41620
41621 l_component_type VARCHAR2(80);
41622 l_component_code VARCHAR2(30);
41623 l_component_type_code VARCHAR2(1);
41624 l_component_appl_id INTEGER;
41625 l_amb_context_code VARCHAR2(30);
41626 l_entity_code VARCHAR2(30);
41627 l_event_class_code VARCHAR2(30);
41628 l_ae_header_id NUMBER;
41629 l_event_type_code VARCHAR2(30);
41630 l_line_definition_code VARCHAR2(30);
41631 l_line_definition_owner_code VARCHAR2(1);
41632 --
41633 -- adr variables
41634 l_segment VARCHAR2(30);
41635 l_ccid NUMBER;
41636 l_adr_transaction_coa_id NUMBER;
41637 l_adr_accounting_coa_id NUMBER;
41638 l_adr_flexfield_segment_code VARCHAR2(30);
41639 l_adr_flex_value_set_id NUMBER;
41640 l_adr_value_type_code VARCHAR2(30);
41641 l_adr_value_combination_id NUMBER;
41642 l_adr_value_segment_code VARCHAR2(30);
41643
41644 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
41645 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
41646 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
41647 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
41648
41649 -- 4262811 Variables ------------------------------------------------------------------------------------------
41650 l_entered_amt_idx NUMBER;
41651 l_accted_amt_idx NUMBER;
41652 l_acc_rev_flag VARCHAR2(1);
41653 l_accrual_line_num NUMBER;
41654 l_tmp_amt NUMBER;
41655 l_acc_rev_natural_side_code VARCHAR2(1);
41656
41657 l_num_entries NUMBER;
41658 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
41662 l_recog_line_1 NUMBER;
41659 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
41660 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
41661 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
41663 l_recog_line_2 NUMBER;
41664
41665 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
41666 l_bflow_applied_to_amt NUMBER; -- 5132302
41667 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
41668
41669 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
41670
41671 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
41672 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
41673
41674 ---------------------------------------------------------------------------------------------------------------
41675
41676
41677 --
41678 -- bulk performance
41679 --
41680 l_balance_type_code VARCHAR2(1);
41681 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
41682 l_log_module VARCHAR2(240);
41683
41684 --
41685 -- Upgrade strategy
41686 --
41687 l_actual_upg_option VARCHAR2(1);
41688 l_enc_upg_option VARCHAR2(1);
41689
41690 --
41691 BEGIN
41692 --
41693 IF g_log_enabled THEN
41694 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_69';
41695 END IF;
41696 --
41697 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
41698
41699 trace
41700 (p_msg => 'BEGIN of AcctLineType_69'
41701 ,p_level => C_LEVEL_PROCEDURE
41702 ,p_module => l_log_module);
41703
41704 END IF;
41705 --
41706 l_component_type := 'AMB_JLT';
41707 l_component_code := 'AP_TAX_AMT_VARIANCE_PP_ENC_DR';
41708 l_component_type_code := 'S';
41709 l_component_appl_id := 200;
41710 l_amb_context_code := 'DEFAULT';
41711 l_entity_code := 'AP_INVOICES';
41712 l_event_class_code := 'PREPAYMENTS';
41713 l_event_type_code := 'PREPAYMENTS_ALL';
41714 l_line_definition_owner_code := 'S';
41715 l_line_definition_code := 'ENC_PREPAY_ALL';
41716 --
41717 l_balance_type_code := 'E';
41718 l_segment := NULL;
41719 l_ccid := NULL;
41720 l_adr_transaction_coa_id := NULL;
41721 l_adr_accounting_coa_id := NULL;
41722 l_adr_flexfield_segment_code := NULL;
41723 l_adr_flex_value_set_id := NULL;
41724 l_adr_value_type_code := NULL;
41725 l_adr_value_combination_id := NULL;
41726 l_adr_value_segment_code := NULL;
41727
41728 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
41729 l_bflow_class_code := 'AP_INV_ENCUM'; -- 4219869 Business Flow
41730 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
41731 l_budgetary_control_flag := 'Y';
41732
41733 l_bflow_applied_to_amt_idx := NULL; -- 5132302
41734 l_bflow_applied_to_amt := NULL; -- 5132302
41735 l_entered_amt_idx := NULL; -- 4262811
41736 l_accted_amt_idx := NULL; -- 4262811
41737 l_acc_rev_flag := NULL; -- 4262811
41738 l_accrual_line_num := NULL; -- 4262811
41739 l_tmp_amt := NULL; -- 4262811
41740 --
41741
41742 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
41743 l_balance_type_code <> 'B' THEN
41744 IF NVL(p_source_15,'
41745 ') = 'NONREC_TAX' AND
41746 p_source_16 IS NOT NULL AND
41747 NVL(p_source_17,'
41748 ') = 'Y' AND
41749 NVL(p_source_18,'
41750 ') <> 'Y'
41751 THEN
41752
41753 --
41754 XLA_AE_LINES_PKG.SetNewLine;
41755
41756 p_balance_type_code := l_balance_type_code;
41757 -- set the flag so later we will know whether the gain loss line needs to be created
41758
41759 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
41760 p_actual_flag :='A';
41761 END IF;
41762
41763 --
41764 -- bulk performance
41765 --
41766 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
41767 p_header_num => 0); -- 4262811
41768 --
41769 -- set accounting line options
41770 --
41771 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
41772 p_natural_side_code => 'D'
41773 , p_gain_or_loss_flag => 'N'
41774 , p_gl_transfer_mode_code => 'S'
41775 , p_acct_entry_type_code => 'E'
41776 , p_switch_side_flag => 'Y'
41777 , p_merge_duplicate_code => 'N'
41778 );
41779 --
41780 l_acc_rev_natural_side_code := 'C'; -- 4262811
41781 --
41782 --
41783 -- set accounting line type info
41784 --
41785 xla_ae_lines_pkg.SetAcctLineType
41786 (p_component_type => l_component_type
41787 ,p_event_type_code => l_event_type_code
41788 ,p_line_definition_owner_code => l_line_definition_owner_code
41789 ,p_line_definition_code => l_line_definition_code
41790 ,p_accounting_line_code => l_component_code
41791 ,p_accounting_line_type_code => l_component_type_code
41795 ,p_event_class_code => l_event_class_code);
41792 ,p_accounting_line_appl_id => l_component_appl_id
41793 ,p_amb_context_code => l_amb_context_code
41794 ,p_entity_code => l_entity_code
41796 --
41797 -- set accounting class
41798 --
41799 xla_ae_lines_pkg.SetAcctClass(
41800 p_accounting_class_code => 'TAV'
41801 , p_ae_header_id => l_ae_header_id
41802 );
41803
41804 --
41805 -- set rounding class
41806 --
41807 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
41808 'TAV';
41809
41810 --
41811 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
41812 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
41813 --
41814 -- bulk performance
41815 --
41816 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
41817
41818 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
41819 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
41820
41821 -- 4955764
41822 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
41823 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
41824
41825 -- 4458381 Public Sector Enh
41826 XLA_AE_LINES_PKG.g_rec_lines.array_encumbrance_type_id(XLA_AE_LINES_PKG.g_LineNumber) := 1060;
41827 --
41828 -- set accounting attributes for the line type
41829 --
41830 l_entered_amt_idx := 23;
41831 l_accted_amt_idx := 28;
41832 l_bflow_applied_to_amt_idx := NULL; -- 5132302
41833 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
41834 l_rec_acct_attrs.array_char_value(1) := p_source_19;
41835 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
41836 l_rec_acct_attrs.array_num_value(2) :=
41837 xla_ae_sources_pkg.GetSystemSourceNum(
41838 p_source_code => 'XLA_EVENT_APPL_ID'
41839 , p_source_type_code => 'Y'
41840 , p_source_application_id => 602
41841 );
41842 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
41843 l_rec_acct_attrs.array_char_value(3) := p_source_21;
41844 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
41845 l_rec_acct_attrs.array_char_value(4) :=
41846 xla_ae_sources_pkg.GetSystemSourceChar(
41847 p_source_code => 'XLA_ENTITY_CODE'
41848 , p_source_type_code => 'Y'
41849 , p_source_application_id => 602
41850 );
41851 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
41852 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_23);
41853 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
41854 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_24);
41855 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
41856 l_rec_acct_attrs.array_num_value(7) := p_source_25;
41857 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
41858 l_rec_acct_attrs.array_char_value(8) := p_source_26;
41859 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
41860 l_rec_acct_attrs.array_char_value(9) := p_source_27;
41861 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
41862 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_28);
41863 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
41864 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_29);
41865 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
41866 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_30);
41867 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
41868 l_rec_acct_attrs.array_char_value(13) := p_source_21;
41869 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
41870 l_rec_acct_attrs.array_num_value(14) := p_source_31;
41871 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
41872 l_rec_acct_attrs.array_num_value(15) := p_source_32;
41873 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
41874 l_rec_acct_attrs.array_char_value(16) := p_source_33;
41875 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
41876 l_rec_acct_attrs.array_num_value(17) := p_source_34;
41877 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
41878 l_rec_acct_attrs.array_num_value(18) := p_source_35;
41879 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
41880 l_rec_acct_attrs.array_num_value(19) := p_source_36;
41881 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
41882 l_rec_acct_attrs.array_char_value(20) := p_source_33;
41883 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
41884 l_rec_acct_attrs.array_num_value(21) := p_source_37;
41885 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
41886 l_rec_acct_attrs.array_char_value(22) := p_source_38;
41887 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
41888 l_rec_acct_attrs.array_num_value(23) := p_source_16;
41889 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
41890 l_rec_acct_attrs.array_char_value(24) := p_source_33;
41891 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
41892 l_rec_acct_attrs.array_date_value(25) := p_source_39;
41896 l_rec_acct_attrs.array_char_value(27) := p_source_41;
41893 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
41894 l_rec_acct_attrs.array_num_value(26) := p_source_40;
41895 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
41897 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
41898 l_rec_acct_attrs.array_num_value(28) := p_source_42;
41899 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
41900 l_rec_acct_attrs.array_date_value(29) := p_source_43;
41901 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
41902 l_rec_acct_attrs.array_char_value(30) := p_source_44;
41903 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
41904 l_rec_acct_attrs.array_date_value(31) := p_source_45;
41905 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
41906 l_rec_acct_attrs.array_char_value(32) := p_source_46;
41907 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
41908 l_rec_acct_attrs.array_num_value(33) := p_source_47;
41909 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
41910 l_rec_acct_attrs.array_num_value(34) := p_source_48;
41911 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
41912 l_rec_acct_attrs.array_char_value(35) := p_source_49;
41913 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
41914 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_50);
41915 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
41916 l_rec_acct_attrs.array_char_value(37) := p_source_21;
41917 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
41918 l_rec_acct_attrs.array_num_value(38) := p_source_51;
41919 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
41920 l_rec_acct_attrs.array_num_value(39) := p_source_52;
41921 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
41922 l_rec_acct_attrs.array_num_value(40) := p_source_53;
41923 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
41924 l_rec_acct_attrs.array_num_value(41) := p_source_54;
41925 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
41926 l_rec_acct_attrs.array_num_value(42) := p_source_55;
41927 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
41928 l_rec_acct_attrs.array_num_value(43) := p_source_56;
41929
41930 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
41931 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
41932
41933 ---------------------------------------------------------------------------------------------------------------
41934 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
41935 ---------------------------------------------------------------------------------------------------------------
41936 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
41937
41938 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
41939 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
41940
41941 IF xla_accounting_cache_pkg.GetValueChar
41942 (p_source_code => 'LEDGER_CATEGORY_CODE'
41943 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
41944 AND l_bflow_method_code = 'PRIOR_ENTRY'
41945 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
41946 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
41947 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
41948 )
41949 THEN
41950 xla_ae_lines_pkg.BflowUpgEntry
41951 (p_business_method_code => l_bflow_method_code
41952 ,p_business_class_code => l_bflow_class_code
41953 ,p_balance_type => l_balance_type_code);
41954 ELSE
41955 NULL;
41956 -- No business flow processing for business flow method of NONE.
41957 END IF;
41958
41959 --
41960 -- call analytical criteria
41961 --
41962
41963 --
41964 -- call description
41965 --
41966
41967 xla_ae_lines_pkg.SetLineDescription(
41968 p_ae_header_id => l_ae_header_id
41969 ,p_description => Description_2 (
41970 p_application_id => p_application_id
41971 , p_ae_header_id => l_ae_header_id
41972 , p_source_1 => p_source_1
41973 )
41974 );
41975
41976
41977 --
41978 -- call ADRs
41979 -- Bug 4922099
41980 --
41981 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
41982 (NVL(l_actual_upg_option, 'N') = 'O') OR
41983 (NVL(l_enc_upg_option, 'N') = 'O')
41984 )
41985 THEN
41986 NULL;
41987 --
41988 --
41989
41990 l_ccid := AcctDerRule_7(
41991 p_application_id => p_application_id
41992 , p_ae_header_id => l_ae_header_id
41993 , p_source_11 => p_source_11
41994 , x_transaction_coa_id => l_adr_transaction_coa_id
41995 , x_accounting_coa_id => l_adr_accounting_coa_id
41996 , x_value_type_code => l_adr_value_type_code
41997 , p_side => 'NA'
41998 );
41999
42000 xla_ae_lines_pkg.set_ccid(
42001 p_code_combination_id => l_ccid
42002 , p_value_type_code => l_adr_value_type_code
42006 , p_adr_type_code => 'S'
42003 , p_transaction_coa_id => l_adr_transaction_coa_id
42004 , p_accounting_coa_id => l_adr_accounting_coa_id
42005 , p_adr_code => 'AP_INVOICE_DIST'
42007 , p_component_type => l_component_type
42008 , p_component_code => l_component_code
42009 , p_component_type_code => l_component_type_code
42010 , p_component_appl_id => l_component_appl_id
42011 , p_amb_context_code => l_amb_context_code
42012 , p_side => 'NA'
42013 );
42014
42015
42016 --
42017 --
42018 END IF;
42019 --
42020 -- Bug 4922099
42021 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
42022 (NVL(l_enc_upg_option, 'N') = 'O')
42023 ) AND
42024 (l_bflow_method_code = 'PRIOR_ENTRY')
42025 )
42026 THEN
42027 IF
42028 --
42029 1 = 2
42030 --
42031 THEN
42032 xla_accounting_err_pkg.build_message
42033 (p_appli_s_name => 'XLA'
42034 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
42035 ,p_token_1 => 'LINE_NUMBER'
42036 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
42037 ,p_token_2 => 'LINE_TYPE_NAME'
42038 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
42039 l_component_type
42040 ,l_component_code
42041 ,l_component_type_code
42042 ,l_component_appl_id
42043 ,l_amb_context_code
42044 ,l_entity_code
42045 ,l_event_class_code
42046 )
42047 ,p_token_3 => 'OWNER'
42048 ,p_value_3 => xla_lookups_pkg.get_meaning(
42049 p_lookup_type => 'XLA_OWNER_TYPE'
42050 ,p_lookup_code => l_component_type_code
42051 )
42052 ,p_token_4 => 'PRODUCT_NAME'
42053 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
42054 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
42055 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
42056 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
42057 ,p_ae_header_id => NULL
42058 );
42059
42060 IF (C_LEVEL_ERROR>= g_log_level) THEN
42061 trace
42062 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
42063 ,p_level => C_LEVEL_ERROR
42064 ,p_module => l_log_module);
42065 END IF;
42066 END IF;
42067 END IF;
42068 --
42069 --
42070 ------------------------------------------------------------------------------------------------
42071 -- 4219869 Business Flow
42072 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
42073 -- Prior Entry. Currently, the following code is always generated.
42074 ------------------------------------------------------------------------------------------------
42075 XLA_AE_LINES_PKG.ValidateCurrentLine;
42076
42077 ------------------------------------------------------------------------------------
42078 -- 4219869 Business Flow
42079 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
42080 ------------------------------------------------------------------------------------
42081 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
42082
42083 ----------------------------------------------------------------------------------
42084 -- 4219869 Business Flow
42085 -- Update journal entry status -- Need to generate this within IF <condition>
42086 ----------------------------------------------------------------------------------
42087 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
42088 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
42089 ,p_balance_type_code => l_balance_type_code
42090 );
42091
42092 -------------------------------------------------------------------------------------------
42093 -- 4262811 - Generate the Accrual Reversal lines
42094 -------------------------------------------------------------------------------------------
42095 BEGIN
42096 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
42100 END IF;
42097 (g_array_event(p_event_id).array_value_num('header_index'));
42098 IF l_acc_rev_flag IS NULL THEN
42099 l_acc_rev_flag := 'N';
42101 EXCEPTION
42102 WHEN OTHERS THEN
42103 l_acc_rev_flag := 'N';
42104 END;
42105 --
42106 IF (l_acc_rev_flag = 'Y') THEN
42107
42108 -- 4645092 ------------------------------------------------------------------------------
42109 -- To allow MPA report to determine if it should generate report process
42110 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
42111 ------------------------------------------------------------------------------------------
42112
42113 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
42114 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
42115 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
42116 -- call ADRs
42117 -- Bug 4922099
42118 --
42119 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
42120 (NVL(l_actual_upg_option, 'N') = 'O') OR
42121 (NVL(l_enc_upg_option, 'N') = 'O')
42122 )
42123 THEN
42124 NULL;
42125 --
42126 --
42127
42128 l_ccid := AcctDerRule_7(
42129 p_application_id => p_application_id
42130 , p_ae_header_id => l_ae_header_id
42131 , p_source_11 => p_source_11
42132 , x_transaction_coa_id => l_adr_transaction_coa_id
42133 , x_accounting_coa_id => l_adr_accounting_coa_id
42134 , x_value_type_code => l_adr_value_type_code
42135 , p_side => 'NA'
42136 );
42137
42138 xla_ae_lines_pkg.set_ccid(
42139 p_code_combination_id => l_ccid
42140 , p_value_type_code => l_adr_value_type_code
42141 , p_transaction_coa_id => l_adr_transaction_coa_id
42142 , p_accounting_coa_id => l_adr_accounting_coa_id
42143 , p_adr_code => 'AP_INVOICE_DIST'
42144 , p_adr_type_code => 'S'
42145 , p_component_type => l_component_type
42146 , p_component_code => l_component_code
42147 , p_component_type_code => l_component_type_code
42148 , p_component_appl_id => l_component_appl_id
42149 , p_amb_context_code => l_amb_context_code
42150 , p_side => 'NA'
42151 );
42152
42153
42154 --
42155 --
42156 END IF;
42157
42158 --
42159 -- Update the line information that should be overwritten
42160 --
42161 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
42162 p_header_num => 1);
42163 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
42164
42165 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
42166
42167 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
42168 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
42169 END IF;
42170
42171 --
42172 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
42173 --
42174 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
42175 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
42176 ELSE
42177 ---------------------------------------------------------------------------------------------------
42178 -- 4262811a Switch Sign
42179 ---------------------------------------------------------------------------------------------------
42180 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
42181 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
42182 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
42183 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
42184 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
42185 -- 5132302
42186 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
42187 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
42188
42189 END IF;
42190
42191 -- 4955764
42192 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
42193 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
42194
42195
42196 XLA_AE_LINES_PKG.ValidateCurrentLine;
42197 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
42198
42199 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
42200 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
42201 ,p_balance_type_code => l_balance_type_code);
42202
42203 END IF;
42204
42205 -----------------------------------------------------------------------------------------
42206 -- 4262811 Multiperiod Accounting
42207 -----------------------------------------------------------------------------------------
42208 -- No MPA option is assigned.
42209
42210
42211 END IF;
42215 --
42212 END IF;
42213 --
42214
42216 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
42217 trace
42218 (p_msg => 'END of AcctLineType_69'
42219 ,p_level => C_LEVEL_PROCEDURE
42220 ,p_module => l_log_module);
42221 END IF;
42222 --
42223 EXCEPTION
42224 WHEN xla_exceptions_pkg.application_exception THEN
42225 RAISE;
42226 WHEN OTHERS THEN
42227 xla_exceptions_pkg.raise_message
42228 (p_location => 'XLA_00200_AAD_S_000006_BC_PKG.AcctLineType_69');
42229 END AcctLineType_69;
42230 --
42231
42232 ---------------------------------------
42233 --
42234 -- PRIVATE FUNCTION
42235 -- AcctLineType_70
42236 --
42237 ---------------------------------------
42238 PROCEDURE AcctLineType_70 (
42239 p_application_id IN NUMBER
42240 ,p_event_id IN NUMBER
42241 ,p_calculate_acctd_flag IN VARCHAR2
42242 ,p_calculate_g_l_flag IN VARCHAR2
42243 ,p_actual_flag IN OUT VARCHAR2
42244 ,p_balance_type_code OUT VARCHAR2
42245 ,p_gain_or_loss_ref OUT VARCHAR2
42246
42247 --Invoice Distribution Description
42248 , p_source_1 IN VARCHAR2
42249 --Purchase Order Rate Variance Gain Account
42250 , p_source_6 IN NUMBER
42251 --Automatic Offsets Value
42252 , p_source_7 IN VARCHAR2
42253 , p_source_7_meaning IN VARCHAR2
42254 --Invoice Distribution Ledger Amount
42255 , p_source_8 IN NUMBER
42256 --Destination Type of the PO Distribution
42257 , p_source_9 IN VARCHAR2
42258 , p_source_9_meaning IN VARCHAR2
42259 --Purchase Order Rate Variance Loss Account
42260 , p_source_10 IN NUMBER
42261 --Invoice Distribution Account
42262 , p_source_11 IN NUMBER
42263 --Automatic Offsets Flag
42264 , p_source_12 IN VARCHAR2
42265 , p_source_12_meaning IN VARCHAR2
42266 --Invoice Distribution Type
42267 , p_source_15 IN VARCHAR2
42268 , p_source_15_meaning IN VARCHAR2
42269 --Purchasing Encumbrance Option
42270 , p_source_17 IN VARCHAR2
42271 , p_source_17_meaning IN VARCHAR2
42272 --Accounting Reversal Indicator
42273 , p_source_19 IN VARCHAR2
42274 --Distribution Link Type
42275 , p_source_21 IN VARCHAR2
42276 --Allocation to Main Distribution Identifier
42277 , p_source_23 IN NUMBER
42278 --Invoice Identifier
42279 , p_source_24 IN NUMBER
42280 --Business Flow Accounts Payable Application Identifier
42281 , p_source_25 IN NUMBER
42282 --Business Flow Invoice Distribution Type
42283 , p_source_26 IN VARCHAR2
42284 --Business Flow Invoice Entity Code
42285 , p_source_27 IN VARCHAR2
42286 --Business Flow Invoice Distribution Identifier
42287 , p_source_28 IN NUMBER
42288 --Business Flow Invoice Identifier
42289 , p_source_29 IN NUMBER
42290 --Invoice Distribution Identifier
42291 , p_source_30 IN NUMBER
42292 --Payables Encumbrance Upgrade Credit Account
42293 , p_source_31 IN NUMBER
42294 --Payables Encumbrance Upgrade Credit Amount
42295 , p_source_32 IN NUMBER
42296 --Invoice Currency Code
42297 , p_source_33 IN VARCHAR2
42298 --Payables Encumbrance Upgrade Credit Base Amount
42299 , p_source_34 IN NUMBER
42300 --Payables Encumbrance Upgrade Debit Account
42301 , p_source_35 IN NUMBER
42302 --Payables Encumbrance Upgrade Debit Amount
42303 , p_source_36 IN NUMBER
42304 --Payables Encumbrance Upgrade Debit Base Amount
42305 , p_source_37 IN NUMBER
42306 --Payables Encumbrance Upgrade Option
42307 , p_source_38 IN VARCHAR2
42308 --Invoice Exchange Date
42309 , p_source_39 IN DATE
42310 --Invoice Exchange Rate
42311 , p_source_40 IN NUMBER
42312 --Invoice Exchange Rate Type
42313 , p_source_41 IN VARCHAR2
42314 --Deferred Accounting End Date
42315 , p_source_43 IN DATE
42316 --Deferred Accounting Option
42317 , p_source_44 IN VARCHAR2
42318 --Deferred Accounting Start Date
42319 , p_source_45 IN DATE
42320 --Override Accounted Amount Indicator
42321 , p_source_46 IN VARCHAR2
42322 , p_source_46_meaning IN VARCHAR2
42323 --Invoice Supplier Identifier
42324 , p_source_47 IN NUMBER
42325 --Invoice Supplier Site Identifier
42326 , p_source_48 IN NUMBER
42327 --Third Party Type
42328 , p_source_49 IN VARCHAR2
42329 --Parent Reversal Identifier
42330 , p_source_50 IN NUMBER
42331 --Invoice Distribution Statistical Amount
42332 , p_source_51 IN NUMBER
42333 --Invoice Distribution Tax Line Identifier
42334 , p_source_52 IN NUMBER
42335 --Invoice Distribution Tax Distribution Identifier from Tax
42336 , p_source_53 IN NUMBER
42337 --Invoice Distribution Summary Tax Line Identifier
42338 , p_source_54 IN NUMBER
42339 --Payables Upgrade Credit Encumbrance Type Identifier
42340 , p_source_55 IN NUMBER
42341 --Payables Upgrade Debit Encumbrance Type Identifier
42342 , p_source_56 IN NUMBER
42343 --Invoice Distribution Encumbrance Amount
42344 , p_source_65 IN NUMBER
42345 --Invoice Distribution Encumbrance Ledger Amount
42346 , p_source_66 IN NUMBER
42347 )
42351 l_component_code VARCHAR2(30);
42348 IS
42349
42350 l_component_type VARCHAR2(80);
42352 l_component_type_code VARCHAR2(1);
42353 l_component_appl_id INTEGER;
42354 l_amb_context_code VARCHAR2(30);
42355 l_entity_code VARCHAR2(30);
42356 l_event_class_code VARCHAR2(30);
42357 l_ae_header_id NUMBER;
42358 l_event_type_code VARCHAR2(30);
42359 l_line_definition_code VARCHAR2(30);
42360 l_line_definition_owner_code VARCHAR2(1);
42361 --
42362 -- adr variables
42363 l_segment VARCHAR2(30);
42364 l_ccid NUMBER;
42365 l_adr_transaction_coa_id NUMBER;
42366 l_adr_accounting_coa_id NUMBER;
42367 l_adr_flexfield_segment_code VARCHAR2(30);
42368 l_adr_flex_value_set_id NUMBER;
42369 l_adr_value_type_code VARCHAR2(30);
42370 l_adr_value_combination_id NUMBER;
42371 l_adr_value_segment_code VARCHAR2(30);
42372
42373 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
42374 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
42375 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
42376 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
42377
42378 -- 4262811 Variables ------------------------------------------------------------------------------------------
42379 l_entered_amt_idx NUMBER;
42380 l_accted_amt_idx NUMBER;
42381 l_acc_rev_flag VARCHAR2(1);
42382 l_accrual_line_num NUMBER;
42383 l_tmp_amt NUMBER;
42384 l_acc_rev_natural_side_code VARCHAR2(1);
42385
42386 l_num_entries NUMBER;
42387 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
42388 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
42389 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
42390 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
42391 l_recog_line_1 NUMBER;
42392 l_recog_line_2 NUMBER;
42393
42394 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
42395 l_bflow_applied_to_amt NUMBER; -- 5132302
42396 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
42397
42398 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
42399
42400 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
42401 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
42402
42403 ---------------------------------------------------------------------------------------------------------------
42404
42405
42406 --
42407 -- bulk performance
42408 --
42409 l_balance_type_code VARCHAR2(1);
42410 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
42411 l_log_module VARCHAR2(240);
42412
42413 --
42414 -- Upgrade strategy
42415 --
42416 l_actual_upg_option VARCHAR2(1);
42417 l_enc_upg_option VARCHAR2(1);
42418
42419 --
42420 BEGIN
42421 --
42422 IF g_log_enabled THEN
42423 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_70';
42424 END IF;
42425 --
42426 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
42427
42428 trace
42429 (p_msg => 'BEGIN of AcctLineType_70'
42430 ,p_level => C_LEVEL_PROCEDURE
42431 ,p_module => l_log_module);
42432
42433 END IF;
42434 --
42435 l_component_type := 'AMB_JLT';
42436 l_component_code := 'AP_TAX_EXCHGRATE_VAR_CM_ENC_DR';
42437 l_component_type_code := 'S';
42438 l_component_appl_id := 200;
42439 l_amb_context_code := 'DEFAULT';
42440 l_entity_code := 'AP_INVOICES';
42441 l_event_class_code := 'CREDIT MEMOS';
42442 l_event_type_code := 'CREDIT MEMOS_ALL';
42443 l_line_definition_owner_code := 'S';
42444 l_line_definition_code := 'ENC_CM_ALL';
42445 --
42446 l_balance_type_code := 'E';
42447 l_segment := NULL;
42448 l_ccid := NULL;
42449 l_adr_transaction_coa_id := NULL;
42450 l_adr_accounting_coa_id := NULL;
42451 l_adr_flexfield_segment_code := NULL;
42452 l_adr_flex_value_set_id := NULL;
42453 l_adr_value_type_code := NULL;
42454 l_adr_value_combination_id := NULL;
42455 l_adr_value_segment_code := NULL;
42456
42457 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
42458 l_bflow_class_code := 'AP_INV_ENCUM'; -- 4219869 Business Flow
42459 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
42460 l_budgetary_control_flag := 'Y';
42461
42462 l_bflow_applied_to_amt_idx := NULL; -- 5132302
42463 l_bflow_applied_to_amt := NULL; -- 5132302
42464 l_entered_amt_idx := NULL; -- 4262811
42465 l_accted_amt_idx := NULL; -- 4262811
42466 l_acc_rev_flag := NULL; -- 4262811
42467 l_accrual_line_num := NULL; -- 4262811
42468 l_tmp_amt := NULL; -- 4262811
42469 --
42470 IF ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
42474
42471 (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
42472 return;
42473 END IF;
42475 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
42476 l_balance_type_code <> 'B' THEN
42477 IF NVL(p_source_15,'
42478 ') = 'TERV' AND
42479 NVL(p_source_17,'
42480 ') = 'Y'
42481 THEN
42482
42483 --
42484 XLA_AE_LINES_PKG.SetNewLine;
42485
42486 p_balance_type_code := l_balance_type_code;
42487 -- set the flag so later we will know whether the gain loss line needs to be created
42488
42489 IF(l_balance_type_code = 'A' ) THEN
42490 p_actual_flag :='G';
42491 END IF;
42492
42493 --
42494 -- bulk performance
42495 --
42496 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
42497 p_header_num => 0); -- 4262811
42498 --
42499 -- set accounting line options
42500 --
42501 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
42502 p_natural_side_code => 'D'
42503 , p_gain_or_loss_flag => 'Y'
42504 , p_gl_transfer_mode_code => 'S'
42505 , p_acct_entry_type_code => 'E'
42506 , p_switch_side_flag => 'Y'
42507 , p_merge_duplicate_code => 'N'
42508 );
42509 --
42510 l_acc_rev_natural_side_code := 'C'; -- 4262811
42511 --
42512 --
42513 -- set accounting line type info
42514 --
42515 xla_ae_lines_pkg.SetAcctLineType
42516 (p_component_type => l_component_type
42517 ,p_event_type_code => l_event_type_code
42518 ,p_line_definition_owner_code => l_line_definition_owner_code
42519 ,p_line_definition_code => l_line_definition_code
42520 ,p_accounting_line_code => l_component_code
42521 ,p_accounting_line_type_code => l_component_type_code
42522 ,p_accounting_line_appl_id => l_component_appl_id
42523 ,p_amb_context_code => l_amb_context_code
42524 ,p_entity_code => l_entity_code
42525 ,p_event_class_code => l_event_class_code);
42526 --
42527 -- set accounting class
42528 --
42529 xla_ae_lines_pkg.SetAcctClass(
42530 p_accounting_class_code => 'TERV'
42531 , p_ae_header_id => l_ae_header_id
42532 );
42533
42534 --
42535 -- set rounding class
42536 --
42537 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
42538 'TERV';
42539
42540 --
42541 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
42542 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
42543 --
42544 -- bulk performance
42545 --
42546 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
42547
42548 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
42549 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
42550
42551 -- 4955764
42552 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
42553 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
42554
42555 -- 4458381 Public Sector Enh
42556 XLA_AE_LINES_PKG.g_rec_lines.array_encumbrance_type_id(XLA_AE_LINES_PKG.g_LineNumber) := 1060;
42557 --
42558 -- set accounting attributes for the line type
42559 --
42560 l_entered_amt_idx := 23;
42561 l_accted_amt_idx := 28;
42562 l_bflow_applied_to_amt_idx := NULL; -- 5132302
42563 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
42564 l_rec_acct_attrs.array_char_value(1) := p_source_19;
42565 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
42566 l_rec_acct_attrs.array_num_value(2) :=
42567 xla_ae_sources_pkg.GetSystemSourceNum(
42568 p_source_code => 'XLA_EVENT_APPL_ID'
42569 , p_source_type_code => 'Y'
42570 , p_source_application_id => 602
42571 );
42572 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
42573 l_rec_acct_attrs.array_char_value(3) := p_source_21;
42574 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
42575 l_rec_acct_attrs.array_char_value(4) :=
42576 xla_ae_sources_pkg.GetSystemSourceChar(
42577 p_source_code => 'XLA_ENTITY_CODE'
42578 , p_source_type_code => 'Y'
42579 , p_source_application_id => 602
42580 );
42581 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
42582 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_23);
42583 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
42584 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_24);
42585 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
42586 l_rec_acct_attrs.array_num_value(7) := p_source_25;
42587 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
42588 l_rec_acct_attrs.array_char_value(8) := p_source_26;
42589 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
42593 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
42590 l_rec_acct_attrs.array_char_value(9) := p_source_27;
42591 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
42592 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_28);
42594 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_29);
42595 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
42596 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_30);
42597 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
42598 l_rec_acct_attrs.array_char_value(13) := p_source_21;
42599 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
42600 l_rec_acct_attrs.array_num_value(14) := p_source_31;
42601 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
42602 l_rec_acct_attrs.array_num_value(15) := p_source_32;
42603 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
42604 l_rec_acct_attrs.array_char_value(16) := p_source_33;
42605 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
42606 l_rec_acct_attrs.array_num_value(17) := p_source_34;
42607 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
42608 l_rec_acct_attrs.array_num_value(18) := p_source_35;
42609 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
42610 l_rec_acct_attrs.array_num_value(19) := p_source_36;
42611 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
42612 l_rec_acct_attrs.array_char_value(20) := p_source_33;
42613 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
42614 l_rec_acct_attrs.array_num_value(21) := p_source_37;
42615 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
42616 l_rec_acct_attrs.array_char_value(22) := p_source_38;
42617 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
42618 l_rec_acct_attrs.array_num_value(23) := p_source_65;
42619 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
42620 l_rec_acct_attrs.array_char_value(24) := p_source_33;
42621 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
42622 l_rec_acct_attrs.array_date_value(25) := p_source_39;
42623 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
42624 l_rec_acct_attrs.array_num_value(26) := p_source_40;
42625 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
42626 l_rec_acct_attrs.array_char_value(27) := p_source_41;
42627 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
42628 l_rec_acct_attrs.array_num_value(28) := p_source_66;
42629 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
42630 l_rec_acct_attrs.array_date_value(29) := p_source_43;
42631 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
42632 l_rec_acct_attrs.array_char_value(30) := p_source_44;
42633 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
42634 l_rec_acct_attrs.array_date_value(31) := p_source_45;
42635 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
42636 l_rec_acct_attrs.array_char_value(32) := p_source_46;
42637 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
42638 l_rec_acct_attrs.array_num_value(33) := p_source_47;
42639 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
42640 l_rec_acct_attrs.array_num_value(34) := p_source_48;
42641 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
42642 l_rec_acct_attrs.array_char_value(35) := p_source_49;
42643 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
42644 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_50);
42645 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
42646 l_rec_acct_attrs.array_char_value(37) := p_source_21;
42647 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
42648 l_rec_acct_attrs.array_num_value(38) := p_source_51;
42649 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
42650 l_rec_acct_attrs.array_num_value(39) := p_source_52;
42651 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
42652 l_rec_acct_attrs.array_num_value(40) := p_source_53;
42653 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
42654 l_rec_acct_attrs.array_num_value(41) := p_source_54;
42655 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
42656 l_rec_acct_attrs.array_num_value(42) := p_source_55;
42657 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
42658 l_rec_acct_attrs.array_num_value(43) := p_source_56;
42659
42660 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
42661 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
42662
42663 ---------------------------------------------------------------------------------------------------------------
42664 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
42665 ---------------------------------------------------------------------------------------------------------------
42666 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
42667
42668 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
42669 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
42670
42671 IF xla_accounting_cache_pkg.GetValueChar
42672 (p_source_code => 'LEDGER_CATEGORY_CODE'
42673 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
42677 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
42674 AND l_bflow_method_code = 'PRIOR_ENTRY'
42675 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
42676 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
42678 )
42679 THEN
42680 xla_ae_lines_pkg.BflowUpgEntry
42681 (p_business_method_code => l_bflow_method_code
42682 ,p_business_class_code => l_bflow_class_code
42683 ,p_balance_type => l_balance_type_code);
42684 ELSE
42685 NULL;
42686 -- No business flow processing for business flow method of NONE.
42687 END IF;
42688
42689 --
42690 -- call analytical criteria
42691 --
42692
42693 --
42694 -- call description
42695 --
42696
42697 xla_ae_lines_pkg.SetLineDescription(
42698 p_ae_header_id => l_ae_header_id
42699 ,p_description => Description_2 (
42700 p_application_id => p_application_id
42701 , p_ae_header_id => l_ae_header_id
42702 , p_source_1 => p_source_1
42703 )
42704 );
42705
42706
42707 --
42708 -- call ADRs
42709 -- Bug 4922099
42710 --
42711 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
42712 (NVL(l_actual_upg_option, 'N') = 'O') OR
42713 (NVL(l_enc_upg_option, 'N') = 'O')
42714 )
42715 THEN
42716 NULL;
42717 --
42718 --
42719
42720 l_ccid := AcctDerRule_6(
42721 p_application_id => p_application_id
42722 , p_ae_header_id => l_ae_header_id
42723 , p_source_6 => p_source_6
42724 , p_source_7 => p_source_7
42725 , p_source_7_meaning => p_source_7_meaning
42726 , p_source_8 => p_source_8
42727 , p_source_9 => p_source_9
42728 , p_source_9_meaning => p_source_9_meaning
42729 , p_source_10 => p_source_10
42730 , p_source_11 => p_source_11
42731 , p_source_12 => p_source_12
42732 , p_source_12_meaning => p_source_12_meaning
42733 , x_transaction_coa_id => l_adr_transaction_coa_id
42734 , x_accounting_coa_id => l_adr_accounting_coa_id
42735 , x_value_type_code => l_adr_value_type_code
42736 , p_side => 'NA'
42737 );
42738
42739 xla_ae_lines_pkg.set_ccid(
42740 p_code_combination_id => l_ccid
42741 , p_value_type_code => l_adr_value_type_code
42742 , p_transaction_coa_id => l_adr_transaction_coa_id
42743 , p_accounting_coa_id => l_adr_accounting_coa_id
42744 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
42745 , p_adr_type_code => 'S'
42746 , p_component_type => l_component_type
42747 , p_component_code => l_component_code
42748 , p_component_type_code => l_component_type_code
42749 , p_component_appl_id => l_component_appl_id
42750 , p_amb_context_code => l_amb_context_code
42751 , p_side => 'NA'
42752 );
42753
42754
42755 l_segment := AcctDerRule_4(
42756 p_application_id => p_application_id
42757 , p_ae_header_id => l_ae_header_id
42758 , p_source_6 => p_source_6
42759 , p_source_7 => p_source_7
42760 , p_source_7_meaning => p_source_7_meaning
42761 , p_source_8 => p_source_8
42762 , p_source_9 => p_source_9
42763 , p_source_9_meaning => p_source_9_meaning
42764 , p_source_10 => p_source_10
42765 , x_transaction_coa_id => l_adr_transaction_coa_id
42766 , x_accounting_coa_id => l_adr_accounting_coa_id
42767 , x_flexfield_segment_code => l_adr_flexfield_segment_code
42768 , x_flex_value_set_id => l_adr_flex_value_set_id
42769 , x_value_type_code => l_adr_value_type_code
42770 , x_value_combination_id => l_adr_value_combination_id
42771 , x_value_segment_code => l_adr_value_segment_code
42772 , p_side => 'NA'
42773 , p_override_seg_flag => 'Y'
42774 );
42775
42776 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
42777
42778 xla_ae_lines_pkg.set_segment(
42779 p_to_segment_code => 'GL_ACCOUNT'
42780 , p_segment_value => l_segment
42781 , p_from_segment_code => l_adr_value_segment_code
42782 , p_from_combination_id => l_adr_value_combination_id
42783 , p_value_type_code => l_adr_value_type_code
42784 , p_transaction_coa_id => l_adr_transaction_coa_id
42785 , p_accounting_coa_id => l_adr_accounting_coa_id
42786 , p_flexfield_segment_code => l_adr_flexfield_segment_code
42787 , p_flex_value_set_id => l_adr_flex_value_set_id
42788 , p_adr_code => 'AP_ERV_GAIN_LOSS_NAT_ACCT_SEG'
42789 , p_adr_type_code => 'S'
42790 , p_component_type => l_component_type
42791 , p_component_code => l_component_code
42792 , p_component_type_code => l_component_type_code
42793 , p_component_appl_id => l_component_appl_id
42794 , p_amb_context_code => l_amb_context_code
42795 , p_entity_code => 'AP_INVOICES'
42796 , p_event_class_code => 'CREDIT MEMOS'
42797 , p_side => 'NA'
42798 );
42799
42800 END IF;
42801
42805 , p_source_7 => p_source_7
42802 l_segment := AcctDerRule_5(
42803 p_application_id => p_application_id
42804 , p_ae_header_id => l_ae_header_id
42806 , p_source_7_meaning => p_source_7_meaning
42807 , p_source_9 => p_source_9
42808 , p_source_9_meaning => p_source_9_meaning
42809 , p_source_11 => p_source_11
42810 , x_transaction_coa_id => l_adr_transaction_coa_id
42811 , x_accounting_coa_id => l_adr_accounting_coa_id
42812 , x_flexfield_segment_code => l_adr_flexfield_segment_code
42813 , x_flex_value_set_id => l_adr_flex_value_set_id
42814 , x_value_type_code => l_adr_value_type_code
42815 , x_value_combination_id => l_adr_value_combination_id
42816 , x_value_segment_code => l_adr_value_segment_code
42817 , p_side => 'NA'
42818 , p_override_seg_flag => 'Y'
42819 );
42820
42821 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
42822
42823 xla_ae_lines_pkg.set_segment(
42824 p_to_segment_code => 'GL_BALANCING'
42825 , p_segment_value => l_segment
42826 , p_from_segment_code => l_adr_value_segment_code
42827 , p_from_combination_id => l_adr_value_combination_id
42828 , p_value_type_code => l_adr_value_type_code
42829 , p_transaction_coa_id => l_adr_transaction_coa_id
42830 , p_accounting_coa_id => l_adr_accounting_coa_id
42831 , p_flexfield_segment_code => l_adr_flexfield_segment_code
42832 , p_flex_value_set_id => l_adr_flex_value_set_id
42833 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
42834 , p_adr_type_code => 'S'
42835 , p_component_type => l_component_type
42836 , p_component_code => l_component_code
42837 , p_component_type_code => l_component_type_code
42838 , p_component_appl_id => l_component_appl_id
42839 , p_amb_context_code => l_amb_context_code
42840 , p_entity_code => 'AP_INVOICES'
42841 , p_event_class_code => 'CREDIT MEMOS'
42842 , p_side => 'NA'
42843 );
42844
42845 END IF;
42846
42847 --
42848 --
42849 END IF;
42850 --
42851 -- Bug 4922099
42852 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
42853 (NVL(l_enc_upg_option, 'N') = 'O')
42854 ) AND
42855 (l_bflow_method_code = 'PRIOR_ENTRY')
42856 )
42857 THEN
42858 IF
42859 --
42860 1 = 2
42861 --
42862 THEN
42863 xla_accounting_err_pkg.build_message
42864 (p_appli_s_name => 'XLA'
42865 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
42866 ,p_token_1 => 'LINE_NUMBER'
42867 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
42868 ,p_token_2 => 'LINE_TYPE_NAME'
42869 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
42870 l_component_type
42871 ,l_component_code
42872 ,l_component_type_code
42873 ,l_component_appl_id
42874 ,l_amb_context_code
42875 ,l_entity_code
42876 ,l_event_class_code
42877 )
42878 ,p_token_3 => 'OWNER'
42879 ,p_value_3 => xla_lookups_pkg.get_meaning(
42880 p_lookup_type => 'XLA_OWNER_TYPE'
42881 ,p_lookup_code => l_component_type_code
42882 )
42883 ,p_token_4 => 'PRODUCT_NAME'
42884 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
42885 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
42886 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
42887 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
42888 ,p_ae_header_id => NULL
42889 );
42890
42891 IF (C_LEVEL_ERROR>= g_log_level) THEN
42892 trace
42893 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
42894 ,p_level => C_LEVEL_ERROR
42895 ,p_module => l_log_module);
42896 END IF;
42897 END IF;
42898 END IF;
42899 --
42900 --
42901 ------------------------------------------------------------------------------------------------
42905 ------------------------------------------------------------------------------------------------
42902 -- 4219869 Business Flow
42903 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
42904 -- Prior Entry. Currently, the following code is always generated.
42906 XLA_AE_LINES_PKG.ValidateCurrentLine;
42907
42908 ------------------------------------------------------------------------------------
42909 -- 4219869 Business Flow
42910 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
42911 ------------------------------------------------------------------------------------
42912 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
42913
42914 ----------------------------------------------------------------------------------
42915 -- 4219869 Business Flow
42916 -- Update journal entry status -- Need to generate this within IF <condition>
42917 ----------------------------------------------------------------------------------
42918 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
42919 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
42920 ,p_balance_type_code => l_balance_type_code
42921 );
42922
42923 -------------------------------------------------------------------------------------------
42924 -- 4262811 - Generate the Accrual Reversal lines
42925 -------------------------------------------------------------------------------------------
42926 BEGIN
42927 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
42928 (g_array_event(p_event_id).array_value_num('header_index'));
42929 IF l_acc_rev_flag IS NULL THEN
42930 l_acc_rev_flag := 'N';
42931 END IF;
42932 EXCEPTION
42933 WHEN OTHERS THEN
42934 l_acc_rev_flag := 'N';
42935 END;
42936 --
42937 IF (l_acc_rev_flag = 'Y') THEN
42938
42939 -- 4645092 ------------------------------------------------------------------------------
42940 -- To allow MPA report to determine if it should generate report process
42941 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
42942 ------------------------------------------------------------------------------------------
42943
42944 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
42945 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
42946 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
42947 -- call ADRs
42948 -- Bug 4922099
42949 --
42950 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
42951 (NVL(l_actual_upg_option, 'N') = 'O') OR
42952 (NVL(l_enc_upg_option, 'N') = 'O')
42953 )
42954 THEN
42955 NULL;
42956 --
42957 --
42958
42959 l_ccid := AcctDerRule_6(
42960 p_application_id => p_application_id
42961 , p_ae_header_id => l_ae_header_id
42962 , p_source_6 => p_source_6
42963 , p_source_7 => p_source_7
42964 , p_source_7_meaning => p_source_7_meaning
42965 , p_source_8 => p_source_8
42966 , p_source_9 => p_source_9
42967 , p_source_9_meaning => p_source_9_meaning
42968 , p_source_10 => p_source_10
42969 , p_source_11 => p_source_11
42970 , p_source_12 => p_source_12
42971 , p_source_12_meaning => p_source_12_meaning
42972 , x_transaction_coa_id => l_adr_transaction_coa_id
42973 , x_accounting_coa_id => l_adr_accounting_coa_id
42974 , x_value_type_code => l_adr_value_type_code
42975 , p_side => 'NA'
42976 );
42977
42978 xla_ae_lines_pkg.set_ccid(
42979 p_code_combination_id => l_ccid
42980 , p_value_type_code => l_adr_value_type_code
42981 , p_transaction_coa_id => l_adr_transaction_coa_id
42982 , p_accounting_coa_id => l_adr_accounting_coa_id
42983 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
42984 , p_adr_type_code => 'S'
42985 , p_component_type => l_component_type
42986 , p_component_code => l_component_code
42987 , p_component_type_code => l_component_type_code
42988 , p_component_appl_id => l_component_appl_id
42989 , p_amb_context_code => l_amb_context_code
42990 , p_side => 'NA'
42991 );
42992
42993
42994 l_segment := AcctDerRule_4(
42995 p_application_id => p_application_id
42996 , p_ae_header_id => l_ae_header_id
42997 , p_source_6 => p_source_6
42998 , p_source_7 => p_source_7
42999 , p_source_7_meaning => p_source_7_meaning
43000 , p_source_8 => p_source_8
43001 , p_source_9 => p_source_9
43002 , p_source_9_meaning => p_source_9_meaning
43003 , p_source_10 => p_source_10
43004 , x_transaction_coa_id => l_adr_transaction_coa_id
43005 , x_accounting_coa_id => l_adr_accounting_coa_id
43006 , x_flexfield_segment_code => l_adr_flexfield_segment_code
43007 , x_flex_value_set_id => l_adr_flex_value_set_id
43008 , x_value_type_code => l_adr_value_type_code
43009 , x_value_combination_id => l_adr_value_combination_id
43010 , x_value_segment_code => l_adr_value_segment_code
43011 , p_side => 'NA'
43012 , p_override_seg_flag => 'Y'
43013 );
43014
43018 p_to_segment_code => 'GL_ACCOUNT'
43015 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
43016
43017 xla_ae_lines_pkg.set_segment(
43019 , p_segment_value => l_segment
43020 , p_from_segment_code => l_adr_value_segment_code
43021 , p_from_combination_id => l_adr_value_combination_id
43022 , p_value_type_code => l_adr_value_type_code
43023 , p_transaction_coa_id => l_adr_transaction_coa_id
43024 , p_accounting_coa_id => l_adr_accounting_coa_id
43025 , p_flexfield_segment_code => l_adr_flexfield_segment_code
43026 , p_flex_value_set_id => l_adr_flex_value_set_id
43027 , p_adr_code => 'AP_ERV_GAIN_LOSS_NAT_ACCT_SEG'
43028 , p_adr_type_code => 'S'
43029 , p_component_type => l_component_type
43030 , p_component_code => l_component_code
43031 , p_component_type_code => l_component_type_code
43032 , p_component_appl_id => l_component_appl_id
43033 , p_amb_context_code => l_amb_context_code
43034 , p_entity_code => 'AP_INVOICES'
43035 , p_event_class_code => 'CREDIT MEMOS'
43036 , p_side => 'NA'
43037 );
43038
43039 END IF;
43040
43041 l_segment := AcctDerRule_5(
43042 p_application_id => p_application_id
43043 , p_ae_header_id => l_ae_header_id
43044 , p_source_7 => p_source_7
43045 , p_source_7_meaning => p_source_7_meaning
43046 , p_source_9 => p_source_9
43047 , p_source_9_meaning => p_source_9_meaning
43048 , p_source_11 => p_source_11
43049 , x_transaction_coa_id => l_adr_transaction_coa_id
43050 , x_accounting_coa_id => l_adr_accounting_coa_id
43051 , x_flexfield_segment_code => l_adr_flexfield_segment_code
43052 , x_flex_value_set_id => l_adr_flex_value_set_id
43053 , x_value_type_code => l_adr_value_type_code
43054 , x_value_combination_id => l_adr_value_combination_id
43055 , x_value_segment_code => l_adr_value_segment_code
43056 , p_side => 'NA'
43057 , p_override_seg_flag => 'Y'
43058 );
43059
43060 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
43061
43062 xla_ae_lines_pkg.set_segment(
43063 p_to_segment_code => 'GL_BALANCING'
43064 , p_segment_value => l_segment
43065 , p_from_segment_code => l_adr_value_segment_code
43066 , p_from_combination_id => l_adr_value_combination_id
43067 , p_value_type_code => l_adr_value_type_code
43068 , p_transaction_coa_id => l_adr_transaction_coa_id
43069 , p_accounting_coa_id => l_adr_accounting_coa_id
43070 , p_flexfield_segment_code => l_adr_flexfield_segment_code
43071 , p_flex_value_set_id => l_adr_flex_value_set_id
43072 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
43073 , p_adr_type_code => 'S'
43074 , p_component_type => l_component_type
43075 , p_component_code => l_component_code
43076 , p_component_type_code => l_component_type_code
43077 , p_component_appl_id => l_component_appl_id
43078 , p_amb_context_code => l_amb_context_code
43079 , p_entity_code => 'AP_INVOICES'
43080 , p_event_class_code => 'CREDIT MEMOS'
43081 , p_side => 'NA'
43082 );
43083
43084 END IF;
43085
43086 --
43087 --
43088 END IF;
43089
43090 --
43091 -- Update the line information that should be overwritten
43092 --
43093 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
43094 p_header_num => 1);
43095 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
43096
43097 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
43098
43099 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
43100 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
43101 END IF;
43102
43103 --
43104 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
43105 --
43106 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
43107 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
43108 ELSE
43109 ---------------------------------------------------------------------------------------------------
43110 -- 4262811a Switch Sign
43111 ---------------------------------------------------------------------------------------------------
43112 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
43113 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
43114 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
43115 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
43116 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
43117 -- 5132302
43121 END IF;
43118 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
43119 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
43120
43122
43123 -- 4955764
43124 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
43125 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
43126
43127
43128 XLA_AE_LINES_PKG.ValidateCurrentLine;
43129 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
43130
43131 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
43132 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
43133 ,p_balance_type_code => l_balance_type_code);
43134
43135 END IF;
43136
43137 -----------------------------------------------------------------------------------------
43138 -- 4262811 Multiperiod Accounting
43139 -----------------------------------------------------------------------------------------
43140 -- No MPA option is assigned.
43141
43142
43143 END IF;
43144 END IF;
43145 --
43146
43147 --
43148 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
43149 trace
43150 (p_msg => 'END of AcctLineType_70'
43151 ,p_level => C_LEVEL_PROCEDURE
43152 ,p_module => l_log_module);
43153 END IF;
43154 --
43155 EXCEPTION
43156 WHEN xla_exceptions_pkg.application_exception THEN
43157 RAISE;
43158 WHEN OTHERS THEN
43159 xla_exceptions_pkg.raise_message
43160 (p_location => 'XLA_00200_AAD_S_000006_BC_PKG.AcctLineType_70');
43161 END AcctLineType_70;
43162 --
43163
43164 ---------------------------------------
43165 --
43166 -- PRIVATE FUNCTION
43167 -- AcctLineType_71
43168 --
43169 ---------------------------------------
43170 PROCEDURE AcctLineType_71 (
43171 p_application_id IN NUMBER
43172 ,p_event_id IN NUMBER
43173 ,p_calculate_acctd_flag IN VARCHAR2
43174 ,p_calculate_g_l_flag IN VARCHAR2
43175 ,p_actual_flag IN OUT VARCHAR2
43176 ,p_balance_type_code OUT VARCHAR2
43177 ,p_gain_or_loss_ref OUT VARCHAR2
43178
43179 --Invoice Distribution Description
43180 , p_source_1 IN VARCHAR2
43181 --Purchase Order Rate Variance Gain Account
43182 , p_source_6 IN NUMBER
43183 --Automatic Offsets Value
43184 , p_source_7 IN VARCHAR2
43185 , p_source_7_meaning IN VARCHAR2
43186 --Invoice Distribution Ledger Amount
43187 , p_source_8 IN NUMBER
43188 --Destination Type of the PO Distribution
43189 , p_source_9 IN VARCHAR2
43190 , p_source_9_meaning IN VARCHAR2
43191 --Purchase Order Rate Variance Loss Account
43192 , p_source_10 IN NUMBER
43193 --Invoice Distribution Account
43194 , p_source_11 IN NUMBER
43195 --Automatic Offsets Flag
43196 , p_source_12 IN VARCHAR2
43197 , p_source_12_meaning IN VARCHAR2
43198 --Invoice Distribution Type
43199 , p_source_15 IN VARCHAR2
43200 , p_source_15_meaning IN VARCHAR2
43201 --Purchasing Encumbrance Option
43202 , p_source_17 IN VARCHAR2
43203 , p_source_17_meaning IN VARCHAR2
43204 --Accounting Reversal Indicator
43205 , p_source_19 IN VARCHAR2
43206 --Distribution Link Type
43207 , p_source_21 IN VARCHAR2
43208 --Allocation to Main Distribution Identifier
43209 , p_source_23 IN NUMBER
43210 --Invoice Identifier
43211 , p_source_24 IN NUMBER
43212 --Business Flow Accounts Payable Application Identifier
43213 , p_source_25 IN NUMBER
43214 --Business Flow Invoice Distribution Type
43215 , p_source_26 IN VARCHAR2
43216 --Business Flow Invoice Entity Code
43217 , p_source_27 IN VARCHAR2
43218 --Business Flow Invoice Distribution Identifier
43219 , p_source_28 IN NUMBER
43220 --Business Flow Invoice Identifier
43221 , p_source_29 IN NUMBER
43222 --Invoice Distribution Identifier
43223 , p_source_30 IN NUMBER
43224 --Payables Encumbrance Upgrade Credit Account
43225 , p_source_31 IN NUMBER
43226 --Payables Encumbrance Upgrade Credit Amount
43227 , p_source_32 IN NUMBER
43228 --Invoice Currency Code
43229 , p_source_33 IN VARCHAR2
43230 --Payables Encumbrance Upgrade Credit Base Amount
43231 , p_source_34 IN NUMBER
43232 --Payables Encumbrance Upgrade Debit Account
43233 , p_source_35 IN NUMBER
43234 --Payables Encumbrance Upgrade Debit Amount
43235 , p_source_36 IN NUMBER
43236 --Payables Encumbrance Upgrade Debit Base Amount
43237 , p_source_37 IN NUMBER
43238 --Payables Encumbrance Upgrade Option
43239 , p_source_38 IN VARCHAR2
43240 --Invoice Exchange Date
43241 , p_source_39 IN DATE
43242 --Invoice Exchange Rate
43243 , p_source_40 IN NUMBER
43244 --Invoice Exchange Rate Type
43245 , p_source_41 IN VARCHAR2
43246 --Deferred Accounting End Date
43247 , p_source_43 IN DATE
43248 --Deferred Accounting Option
43249 , p_source_44 IN VARCHAR2
43250 --Deferred Accounting Start Date
43251 , p_source_45 IN DATE
43252 --Override Accounted Amount Indicator
43256 , p_source_47 IN NUMBER
43253 , p_source_46 IN VARCHAR2
43254 , p_source_46_meaning IN VARCHAR2
43255 --Invoice Supplier Identifier
43257 --Invoice Supplier Site Identifier
43258 , p_source_48 IN NUMBER
43259 --Third Party Type
43260 , p_source_49 IN VARCHAR2
43261 --Parent Reversal Identifier
43262 , p_source_50 IN NUMBER
43263 --Invoice Distribution Tax Line Identifier
43264 , p_source_52 IN NUMBER
43265 --Invoice Distribution Tax Distribution Identifier from Tax
43266 , p_source_53 IN NUMBER
43267 --Invoice Distribution Summary Tax Line Identifier
43268 , p_source_54 IN NUMBER
43269 --Payables Upgrade Credit Encumbrance Type Identifier
43270 , p_source_55 IN NUMBER
43271 --Payables Upgrade Debit Encumbrance Type Identifier
43272 , p_source_56 IN NUMBER
43273 --Invoice Distribution Encumbrance Amount
43274 , p_source_65 IN NUMBER
43275 --Invoice Distribution Encumbrance Ledger Amount
43276 , p_source_66 IN NUMBER
43277 )
43278 IS
43279
43280 l_component_type VARCHAR2(80);
43281 l_component_code VARCHAR2(30);
43282 l_component_type_code VARCHAR2(1);
43283 l_component_appl_id INTEGER;
43284 l_amb_context_code VARCHAR2(30);
43285 l_entity_code VARCHAR2(30);
43286 l_event_class_code VARCHAR2(30);
43287 l_ae_header_id NUMBER;
43288 l_event_type_code VARCHAR2(30);
43289 l_line_definition_code VARCHAR2(30);
43290 l_line_definition_owner_code VARCHAR2(1);
43291 --
43292 -- adr variables
43293 l_segment VARCHAR2(30);
43294 l_ccid NUMBER;
43295 l_adr_transaction_coa_id NUMBER;
43296 l_adr_accounting_coa_id NUMBER;
43297 l_adr_flexfield_segment_code VARCHAR2(30);
43298 l_adr_flex_value_set_id NUMBER;
43299 l_adr_value_type_code VARCHAR2(30);
43300 l_adr_value_combination_id NUMBER;
43301 l_adr_value_segment_code VARCHAR2(30);
43302
43303 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
43304 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
43305 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
43306 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
43307
43308 -- 4262811 Variables ------------------------------------------------------------------------------------------
43309 l_entered_amt_idx NUMBER;
43310 l_accted_amt_idx NUMBER;
43311 l_acc_rev_flag VARCHAR2(1);
43312 l_accrual_line_num NUMBER;
43313 l_tmp_amt NUMBER;
43314 l_acc_rev_natural_side_code VARCHAR2(1);
43315
43316 l_num_entries NUMBER;
43317 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
43318 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
43319 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
43320 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
43321 l_recog_line_1 NUMBER;
43322 l_recog_line_2 NUMBER;
43323
43324 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
43325 l_bflow_applied_to_amt NUMBER; -- 5132302
43326 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
43327
43328 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
43329
43330 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
43331 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
43332
43333 ---------------------------------------------------------------------------------------------------------------
43334
43335
43336 --
43337 -- bulk performance
43338 --
43339 l_balance_type_code VARCHAR2(1);
43340 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
43341 l_log_module VARCHAR2(240);
43342
43343 --
43344 -- Upgrade strategy
43345 --
43346 l_actual_upg_option VARCHAR2(1);
43347 l_enc_upg_option VARCHAR2(1);
43348
43349 --
43350 BEGIN
43351 --
43352 IF g_log_enabled THEN
43353 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_71';
43354 END IF;
43355 --
43356 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
43357
43358 trace
43359 (p_msg => 'BEGIN of AcctLineType_71'
43360 ,p_level => C_LEVEL_PROCEDURE
43361 ,p_module => l_log_module);
43362
43363 END IF;
43364 --
43365 l_component_type := 'AMB_JLT';
43366 l_component_code := 'AP_TAX_EX_RATE_VAR_DM_ENC_DR';
43367 l_component_type_code := 'S';
43368 l_component_appl_id := 200;
43369 l_amb_context_code := 'DEFAULT';
43370 l_entity_code := 'AP_INVOICES';
43371 l_event_class_code := 'DEBIT MEMOS';
43372 l_event_type_code := 'DEBIT MEMOS_ALL';
43373 l_line_definition_owner_code := 'S';
43374 l_line_definition_code := 'ENC_DM_ALL';
43375 --
43376 l_balance_type_code := 'E';
43377 l_segment := NULL;
43378 l_ccid := NULL;
43379 l_adr_transaction_coa_id := NULL;
43380 l_adr_accounting_coa_id := NULL;
43381 l_adr_flexfield_segment_code := NULL;
43382 l_adr_flex_value_set_id := NULL;
43386
43383 l_adr_value_type_code := NULL;
43384 l_adr_value_combination_id := NULL;
43385 l_adr_value_segment_code := NULL;
43387 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
43388 l_bflow_class_code := 'AP_INV_ENCUM'; -- 4219869 Business Flow
43389 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
43390 l_budgetary_control_flag := 'Y';
43391
43392 l_bflow_applied_to_amt_idx := NULL; -- 5132302
43393 l_bflow_applied_to_amt := NULL; -- 5132302
43394 l_entered_amt_idx := NULL; -- 4262811
43395 l_accted_amt_idx := NULL; -- 4262811
43396 l_acc_rev_flag := NULL; -- 4262811
43397 l_accrual_line_num := NULL; -- 4262811
43398 l_tmp_amt := NULL; -- 4262811
43399 --
43400 IF ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
43401 (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
43402 return;
43403 END IF;
43404
43405 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
43406 l_balance_type_code <> 'B' THEN
43407 IF NVL(p_source_15,'
43408 ') = 'TERV' AND
43409 NVL(p_source_17,'
43410 ') = 'Y'
43411 THEN
43412
43413 --
43414 XLA_AE_LINES_PKG.SetNewLine;
43415
43416 p_balance_type_code := l_balance_type_code;
43417 -- set the flag so later we will know whether the gain loss line needs to be created
43418
43419 IF(l_balance_type_code = 'A' ) THEN
43420 p_actual_flag :='G';
43421 END IF;
43422
43423 --
43424 -- bulk performance
43425 --
43426 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
43427 p_header_num => 0); -- 4262811
43428 --
43429 -- set accounting line options
43430 --
43431 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
43432 p_natural_side_code => 'D'
43433 , p_gain_or_loss_flag => 'Y'
43434 , p_gl_transfer_mode_code => 'S'
43435 , p_acct_entry_type_code => 'E'
43436 , p_switch_side_flag => 'Y'
43437 , p_merge_duplicate_code => 'N'
43438 );
43439 --
43440 l_acc_rev_natural_side_code := 'C'; -- 4262811
43441 --
43442 --
43443 -- set accounting line type info
43444 --
43445 xla_ae_lines_pkg.SetAcctLineType
43446 (p_component_type => l_component_type
43447 ,p_event_type_code => l_event_type_code
43448 ,p_line_definition_owner_code => l_line_definition_owner_code
43449 ,p_line_definition_code => l_line_definition_code
43450 ,p_accounting_line_code => l_component_code
43451 ,p_accounting_line_type_code => l_component_type_code
43452 ,p_accounting_line_appl_id => l_component_appl_id
43453 ,p_amb_context_code => l_amb_context_code
43454 ,p_entity_code => l_entity_code
43455 ,p_event_class_code => l_event_class_code);
43456 --
43457 -- set accounting class
43458 --
43459 xla_ae_lines_pkg.SetAcctClass(
43460 p_accounting_class_code => 'TERV'
43461 , p_ae_header_id => l_ae_header_id
43462 );
43463
43464 --
43465 -- set rounding class
43466 --
43467 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
43468 'TERV';
43469
43470 --
43471 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
43472 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
43473 --
43474 -- bulk performance
43475 --
43476 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
43477
43478 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
43479 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
43480
43481 -- 4955764
43482 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
43483 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
43484
43485 -- 4458381 Public Sector Enh
43486 XLA_AE_LINES_PKG.g_rec_lines.array_encumbrance_type_id(XLA_AE_LINES_PKG.g_LineNumber) := 1060;
43487 --
43488 -- set accounting attributes for the line type
43489 --
43490 l_entered_amt_idx := 23;
43491 l_accted_amt_idx := 28;
43492 l_bflow_applied_to_amt_idx := NULL; -- 5132302
43493 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
43494 l_rec_acct_attrs.array_char_value(1) := p_source_19;
43495 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
43496 l_rec_acct_attrs.array_num_value(2) :=
43497 xla_ae_sources_pkg.GetSystemSourceNum(
43498 p_source_code => 'XLA_EVENT_APPL_ID'
43499 , p_source_type_code => 'Y'
43500 , p_source_application_id => 602
43501 );
43502 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
43503 l_rec_acct_attrs.array_char_value(3) := p_source_21;
43504 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
43508 , p_source_type_code => 'Y'
43505 l_rec_acct_attrs.array_char_value(4) :=
43506 xla_ae_sources_pkg.GetSystemSourceChar(
43507 p_source_code => 'XLA_ENTITY_CODE'
43509 , p_source_application_id => 602
43510 );
43511 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
43512 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_23);
43513 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
43514 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_24);
43515 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
43516 l_rec_acct_attrs.array_num_value(7) := p_source_25;
43517 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
43518 l_rec_acct_attrs.array_char_value(8) := p_source_26;
43519 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
43520 l_rec_acct_attrs.array_char_value(9) := p_source_27;
43521 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
43522 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_28);
43523 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
43524 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_29);
43525 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
43526 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_30);
43527 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
43528 l_rec_acct_attrs.array_char_value(13) := p_source_21;
43529 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
43530 l_rec_acct_attrs.array_num_value(14) := p_source_31;
43531 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
43532 l_rec_acct_attrs.array_num_value(15) := p_source_32;
43533 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
43534 l_rec_acct_attrs.array_char_value(16) := p_source_33;
43535 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
43536 l_rec_acct_attrs.array_num_value(17) := p_source_34;
43537 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
43538 l_rec_acct_attrs.array_num_value(18) := p_source_35;
43539 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
43540 l_rec_acct_attrs.array_num_value(19) := p_source_36;
43541 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
43542 l_rec_acct_attrs.array_char_value(20) := p_source_33;
43543 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
43544 l_rec_acct_attrs.array_num_value(21) := p_source_37;
43545 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
43546 l_rec_acct_attrs.array_char_value(22) := p_source_38;
43547 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
43548 l_rec_acct_attrs.array_num_value(23) := p_source_65;
43549 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
43550 l_rec_acct_attrs.array_char_value(24) := p_source_33;
43551 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
43552 l_rec_acct_attrs.array_date_value(25) := p_source_39;
43553 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
43554 l_rec_acct_attrs.array_num_value(26) := p_source_40;
43555 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
43556 l_rec_acct_attrs.array_char_value(27) := p_source_41;
43557 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
43558 l_rec_acct_attrs.array_num_value(28) := p_source_66;
43559 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
43560 l_rec_acct_attrs.array_date_value(29) := p_source_43;
43561 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
43562 l_rec_acct_attrs.array_char_value(30) := p_source_44;
43563 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
43564 l_rec_acct_attrs.array_date_value(31) := p_source_45;
43565 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
43566 l_rec_acct_attrs.array_char_value(32) := p_source_46;
43567 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
43568 l_rec_acct_attrs.array_num_value(33) := p_source_47;
43569 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
43570 l_rec_acct_attrs.array_num_value(34) := p_source_48;
43571 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
43572 l_rec_acct_attrs.array_char_value(35) := p_source_49;
43573 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
43574 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_50);
43575 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
43576 l_rec_acct_attrs.array_char_value(37) := p_source_21;
43577 l_rec_acct_attrs.array_acct_attr_code(38) := 'TAX_LINE_REF_ID';
43578 l_rec_acct_attrs.array_num_value(38) := p_source_52;
43579 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_REC_NREC_DIST_REF_ID';
43580 l_rec_acct_attrs.array_num_value(39) := p_source_53;
43581 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_SUMMARY_LINE_REF_ID';
43582 l_rec_acct_attrs.array_num_value(40) := p_source_54;
43583 l_rec_acct_attrs.array_acct_attr_code(41) := 'UPG_CR_ENC_TYPE_ID';
43584 l_rec_acct_attrs.array_num_value(41) := p_source_55;
43585 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_DR_ENC_TYPE_ID';
43586 l_rec_acct_attrs.array_num_value(42) := p_source_56;
43587
43588 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
43589 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
43590
43594 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
43591 ---------------------------------------------------------------------------------------------------------------
43592 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
43593 ---------------------------------------------------------------------------------------------------------------
43595
43596 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
43597 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
43598
43599 IF xla_accounting_cache_pkg.GetValueChar
43600 (p_source_code => 'LEDGER_CATEGORY_CODE'
43601 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
43602 AND l_bflow_method_code = 'PRIOR_ENTRY'
43603 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
43604 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
43605 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
43606 )
43607 THEN
43608 xla_ae_lines_pkg.BflowUpgEntry
43609 (p_business_method_code => l_bflow_method_code
43610 ,p_business_class_code => l_bflow_class_code
43611 ,p_balance_type => l_balance_type_code);
43612 ELSE
43613 NULL;
43614 -- No business flow processing for business flow method of NONE.
43615 END IF;
43616
43617 --
43618 -- call analytical criteria
43619 --
43620
43621 --
43622 -- call description
43623 --
43624
43625 xla_ae_lines_pkg.SetLineDescription(
43626 p_ae_header_id => l_ae_header_id
43627 ,p_description => Description_2 (
43628 p_application_id => p_application_id
43629 , p_ae_header_id => l_ae_header_id
43630 , p_source_1 => p_source_1
43631 )
43632 );
43633
43634
43635 --
43636 -- call ADRs
43637 -- Bug 4922099
43638 --
43639 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
43640 (NVL(l_actual_upg_option, 'N') = 'O') OR
43641 (NVL(l_enc_upg_option, 'N') = 'O')
43642 )
43643 THEN
43644 NULL;
43645 --
43646 --
43647
43648 l_ccid := AcctDerRule_6(
43649 p_application_id => p_application_id
43650 , p_ae_header_id => l_ae_header_id
43651 , p_source_6 => p_source_6
43652 , p_source_7 => p_source_7
43653 , p_source_7_meaning => p_source_7_meaning
43654 , p_source_8 => p_source_8
43655 , p_source_9 => p_source_9
43656 , p_source_9_meaning => p_source_9_meaning
43657 , p_source_10 => p_source_10
43658 , p_source_11 => p_source_11
43659 , p_source_12 => p_source_12
43660 , p_source_12_meaning => p_source_12_meaning
43661 , x_transaction_coa_id => l_adr_transaction_coa_id
43662 , x_accounting_coa_id => l_adr_accounting_coa_id
43663 , x_value_type_code => l_adr_value_type_code
43664 , p_side => 'NA'
43665 );
43666
43667 xla_ae_lines_pkg.set_ccid(
43668 p_code_combination_id => l_ccid
43669 , p_value_type_code => l_adr_value_type_code
43670 , p_transaction_coa_id => l_adr_transaction_coa_id
43671 , p_accounting_coa_id => l_adr_accounting_coa_id
43672 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
43673 , p_adr_type_code => 'S'
43674 , p_component_type => l_component_type
43675 , p_component_code => l_component_code
43676 , p_component_type_code => l_component_type_code
43677 , p_component_appl_id => l_component_appl_id
43678 , p_amb_context_code => l_amb_context_code
43679 , p_side => 'NA'
43680 );
43681
43682
43683 l_segment := AcctDerRule_4(
43684 p_application_id => p_application_id
43685 , p_ae_header_id => l_ae_header_id
43686 , p_source_6 => p_source_6
43687 , p_source_7 => p_source_7
43688 , p_source_7_meaning => p_source_7_meaning
43689 , p_source_8 => p_source_8
43690 , p_source_9 => p_source_9
43691 , p_source_9_meaning => p_source_9_meaning
43692 , p_source_10 => p_source_10
43693 , x_transaction_coa_id => l_adr_transaction_coa_id
43694 , x_accounting_coa_id => l_adr_accounting_coa_id
43695 , x_flexfield_segment_code => l_adr_flexfield_segment_code
43696 , x_flex_value_set_id => l_adr_flex_value_set_id
43697 , x_value_type_code => l_adr_value_type_code
43698 , x_value_combination_id => l_adr_value_combination_id
43699 , x_value_segment_code => l_adr_value_segment_code
43700 , p_side => 'NA'
43701 , p_override_seg_flag => 'Y'
43702 );
43703
43704 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
43705
43706 xla_ae_lines_pkg.set_segment(
43707 p_to_segment_code => 'GL_ACCOUNT'
43708 , p_segment_value => l_segment
43709 , p_from_segment_code => l_adr_value_segment_code
43710 , p_from_combination_id => l_adr_value_combination_id
43711 , p_value_type_code => l_adr_value_type_code
43715 , p_flex_value_set_id => l_adr_flex_value_set_id
43712 , p_transaction_coa_id => l_adr_transaction_coa_id
43713 , p_accounting_coa_id => l_adr_accounting_coa_id
43714 , p_flexfield_segment_code => l_adr_flexfield_segment_code
43716 , p_adr_code => 'AP_ERV_GAIN_LOSS_NAT_ACCT_SEG'
43717 , p_adr_type_code => 'S'
43718 , p_component_type => l_component_type
43719 , p_component_code => l_component_code
43720 , p_component_type_code => l_component_type_code
43721 , p_component_appl_id => l_component_appl_id
43722 , p_amb_context_code => l_amb_context_code
43723 , p_entity_code => 'AP_INVOICES'
43724 , p_event_class_code => 'DEBIT MEMOS'
43725 , p_side => 'NA'
43726 );
43727
43728 END IF;
43729
43730 l_segment := AcctDerRule_5(
43731 p_application_id => p_application_id
43732 , p_ae_header_id => l_ae_header_id
43733 , p_source_7 => p_source_7
43734 , p_source_7_meaning => p_source_7_meaning
43735 , p_source_9 => p_source_9
43736 , p_source_9_meaning => p_source_9_meaning
43737 , p_source_11 => p_source_11
43738 , x_transaction_coa_id => l_adr_transaction_coa_id
43739 , x_accounting_coa_id => l_adr_accounting_coa_id
43740 , x_flexfield_segment_code => l_adr_flexfield_segment_code
43741 , x_flex_value_set_id => l_adr_flex_value_set_id
43742 , x_value_type_code => l_adr_value_type_code
43743 , x_value_combination_id => l_adr_value_combination_id
43744 , x_value_segment_code => l_adr_value_segment_code
43745 , p_side => 'NA'
43746 , p_override_seg_flag => 'Y'
43747 );
43748
43749 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
43750
43751 xla_ae_lines_pkg.set_segment(
43752 p_to_segment_code => 'GL_BALANCING'
43753 , p_segment_value => l_segment
43754 , p_from_segment_code => l_adr_value_segment_code
43755 , p_from_combination_id => l_adr_value_combination_id
43756 , p_value_type_code => l_adr_value_type_code
43757 , p_transaction_coa_id => l_adr_transaction_coa_id
43758 , p_accounting_coa_id => l_adr_accounting_coa_id
43759 , p_flexfield_segment_code => l_adr_flexfield_segment_code
43760 , p_flex_value_set_id => l_adr_flex_value_set_id
43761 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
43762 , p_adr_type_code => 'S'
43763 , p_component_type => l_component_type
43764 , p_component_code => l_component_code
43765 , p_component_type_code => l_component_type_code
43766 , p_component_appl_id => l_component_appl_id
43767 , p_amb_context_code => l_amb_context_code
43768 , p_entity_code => 'AP_INVOICES'
43769 , p_event_class_code => 'DEBIT MEMOS'
43770 , p_side => 'NA'
43771 );
43772
43773 END IF;
43774
43775 --
43776 --
43777 END IF;
43778 --
43779 -- Bug 4922099
43780 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
43781 (NVL(l_enc_upg_option, 'N') = 'O')
43782 ) AND
43783 (l_bflow_method_code = 'PRIOR_ENTRY')
43784 )
43785 THEN
43786 IF
43787 --
43788 1 = 2
43789 --
43790 THEN
43791 xla_accounting_err_pkg.build_message
43792 (p_appli_s_name => 'XLA'
43793 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
43794 ,p_token_1 => 'LINE_NUMBER'
43795 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
43796 ,p_token_2 => 'LINE_TYPE_NAME'
43797 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
43798 l_component_type
43799 ,l_component_code
43800 ,l_component_type_code
43801 ,l_component_appl_id
43802 ,l_amb_context_code
43803 ,l_entity_code
43804 ,l_event_class_code
43805 )
43806 ,p_token_3 => 'OWNER'
43807 ,p_value_3 => xla_lookups_pkg.get_meaning(
43808 p_lookup_type => 'XLA_OWNER_TYPE'
43809 ,p_lookup_code => l_component_type_code
43810 )
43811 ,p_token_4 => 'PRODUCT_NAME'
43815 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
43812 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
43813 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
43814 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
43816 ,p_ae_header_id => NULL
43817 );
43818
43819 IF (C_LEVEL_ERROR>= g_log_level) THEN
43820 trace
43821 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
43822 ,p_level => C_LEVEL_ERROR
43823 ,p_module => l_log_module);
43824 END IF;
43825 END IF;
43826 END IF;
43827 --
43828 --
43829 ------------------------------------------------------------------------------------------------
43830 -- 4219869 Business Flow
43831 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
43832 -- Prior Entry. Currently, the following code is always generated.
43833 ------------------------------------------------------------------------------------------------
43834 XLA_AE_LINES_PKG.ValidateCurrentLine;
43835
43836 ------------------------------------------------------------------------------------
43837 -- 4219869 Business Flow
43838 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
43839 ------------------------------------------------------------------------------------
43840 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
43841
43842 ----------------------------------------------------------------------------------
43843 -- 4219869 Business Flow
43844 -- Update journal entry status -- Need to generate this within IF <condition>
43845 ----------------------------------------------------------------------------------
43846 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
43847 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
43848 ,p_balance_type_code => l_balance_type_code
43849 );
43850
43851 -------------------------------------------------------------------------------------------
43852 -- 4262811 - Generate the Accrual Reversal lines
43853 -------------------------------------------------------------------------------------------
43854 BEGIN
43855 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
43856 (g_array_event(p_event_id).array_value_num('header_index'));
43857 IF l_acc_rev_flag IS NULL THEN
43858 l_acc_rev_flag := 'N';
43859 END IF;
43860 EXCEPTION
43861 WHEN OTHERS THEN
43862 l_acc_rev_flag := 'N';
43863 END;
43864 --
43865 IF (l_acc_rev_flag = 'Y') THEN
43866
43867 -- 4645092 ------------------------------------------------------------------------------
43868 -- To allow MPA report to determine if it should generate report process
43869 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
43870 ------------------------------------------------------------------------------------------
43871
43872 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
43873 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
43874 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
43875 -- call ADRs
43876 -- Bug 4922099
43877 --
43878 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
43879 (NVL(l_actual_upg_option, 'N') = 'O') OR
43880 (NVL(l_enc_upg_option, 'N') = 'O')
43881 )
43882 THEN
43883 NULL;
43884 --
43885 --
43886
43887 l_ccid := AcctDerRule_6(
43888 p_application_id => p_application_id
43889 , p_ae_header_id => l_ae_header_id
43890 , p_source_6 => p_source_6
43891 , p_source_7 => p_source_7
43892 , p_source_7_meaning => p_source_7_meaning
43893 , p_source_8 => p_source_8
43894 , p_source_9 => p_source_9
43895 , p_source_9_meaning => p_source_9_meaning
43896 , p_source_10 => p_source_10
43897 , p_source_11 => p_source_11
43898 , p_source_12 => p_source_12
43899 , p_source_12_meaning => p_source_12_meaning
43900 , x_transaction_coa_id => l_adr_transaction_coa_id
43901 , x_accounting_coa_id => l_adr_accounting_coa_id
43902 , x_value_type_code => l_adr_value_type_code
43903 , p_side => 'NA'
43904 );
43905
43906 xla_ae_lines_pkg.set_ccid(
43907 p_code_combination_id => l_ccid
43908 , p_value_type_code => l_adr_value_type_code
43909 , p_transaction_coa_id => l_adr_transaction_coa_id
43910 , p_accounting_coa_id => l_adr_accounting_coa_id
43911 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
43912 , p_adr_type_code => 'S'
43913 , p_component_type => l_component_type
43914 , p_component_code => l_component_code
43915 , p_component_type_code => l_component_type_code
43916 , p_component_appl_id => l_component_appl_id
43917 , p_amb_context_code => l_amb_context_code
43918 , p_side => 'NA'
43919 );
43920
43921
43922 l_segment := AcctDerRule_4(
43926 , p_source_7 => p_source_7
43923 p_application_id => p_application_id
43924 , p_ae_header_id => l_ae_header_id
43925 , p_source_6 => p_source_6
43927 , p_source_7_meaning => p_source_7_meaning
43928 , p_source_8 => p_source_8
43929 , p_source_9 => p_source_9
43930 , p_source_9_meaning => p_source_9_meaning
43931 , p_source_10 => p_source_10
43932 , x_transaction_coa_id => l_adr_transaction_coa_id
43933 , x_accounting_coa_id => l_adr_accounting_coa_id
43934 , x_flexfield_segment_code => l_adr_flexfield_segment_code
43935 , x_flex_value_set_id => l_adr_flex_value_set_id
43936 , x_value_type_code => l_adr_value_type_code
43937 , x_value_combination_id => l_adr_value_combination_id
43938 , x_value_segment_code => l_adr_value_segment_code
43939 , p_side => 'NA'
43940 , p_override_seg_flag => 'Y'
43941 );
43942
43943 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
43944
43945 xla_ae_lines_pkg.set_segment(
43946 p_to_segment_code => 'GL_ACCOUNT'
43947 , p_segment_value => l_segment
43948 , p_from_segment_code => l_adr_value_segment_code
43949 , p_from_combination_id => l_adr_value_combination_id
43950 , p_value_type_code => l_adr_value_type_code
43951 , p_transaction_coa_id => l_adr_transaction_coa_id
43952 , p_accounting_coa_id => l_adr_accounting_coa_id
43953 , p_flexfield_segment_code => l_adr_flexfield_segment_code
43954 , p_flex_value_set_id => l_adr_flex_value_set_id
43955 , p_adr_code => 'AP_ERV_GAIN_LOSS_NAT_ACCT_SEG'
43956 , p_adr_type_code => 'S'
43957 , p_component_type => l_component_type
43958 , p_component_code => l_component_code
43959 , p_component_type_code => l_component_type_code
43960 , p_component_appl_id => l_component_appl_id
43961 , p_amb_context_code => l_amb_context_code
43962 , p_entity_code => 'AP_INVOICES'
43963 , p_event_class_code => 'DEBIT MEMOS'
43964 , p_side => 'NA'
43965 );
43966
43967 END IF;
43968
43969 l_segment := AcctDerRule_5(
43970 p_application_id => p_application_id
43971 , p_ae_header_id => l_ae_header_id
43972 , p_source_7 => p_source_7
43973 , p_source_7_meaning => p_source_7_meaning
43974 , p_source_9 => p_source_9
43975 , p_source_9_meaning => p_source_9_meaning
43976 , p_source_11 => p_source_11
43977 , x_transaction_coa_id => l_adr_transaction_coa_id
43978 , x_accounting_coa_id => l_adr_accounting_coa_id
43979 , x_flexfield_segment_code => l_adr_flexfield_segment_code
43980 , x_flex_value_set_id => l_adr_flex_value_set_id
43981 , x_value_type_code => l_adr_value_type_code
43982 , x_value_combination_id => l_adr_value_combination_id
43983 , x_value_segment_code => l_adr_value_segment_code
43984 , p_side => 'NA'
43985 , p_override_seg_flag => 'Y'
43986 );
43987
43988 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
43989
43990 xla_ae_lines_pkg.set_segment(
43991 p_to_segment_code => 'GL_BALANCING'
43992 , p_segment_value => l_segment
43993 , p_from_segment_code => l_adr_value_segment_code
43994 , p_from_combination_id => l_adr_value_combination_id
43995 , p_value_type_code => l_adr_value_type_code
43996 , p_transaction_coa_id => l_adr_transaction_coa_id
43997 , p_accounting_coa_id => l_adr_accounting_coa_id
43998 , p_flexfield_segment_code => l_adr_flexfield_segment_code
43999 , p_flex_value_set_id => l_adr_flex_value_set_id
44000 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
44001 , p_adr_type_code => 'S'
44002 , p_component_type => l_component_type
44003 , p_component_code => l_component_code
44004 , p_component_type_code => l_component_type_code
44005 , p_component_appl_id => l_component_appl_id
44006 , p_amb_context_code => l_amb_context_code
44007 , p_entity_code => 'AP_INVOICES'
44008 , p_event_class_code => 'DEBIT MEMOS'
44009 , p_side => 'NA'
44010 );
44011
44012 END IF;
44013
44014 --
44015 --
44016 END IF;
44017
44018 --
44019 -- Update the line information that should be overwritten
44020 --
44021 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
44022 p_header_num => 1);
44023 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
44024
44025 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
44026
44027 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
44028 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
44029 END IF;
44030
44031 --
44032 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
44033 --
44034 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
44038 -- 4262811a Switch Sign
44035 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
44036 ELSE
44037 ---------------------------------------------------------------------------------------------------
44039 ---------------------------------------------------------------------------------------------------
44040 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
44041 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
44042 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
44043 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
44044 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
44045 -- 5132302
44046 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
44047 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
44048
44049 END IF;
44050
44051 -- 4955764
44052 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
44053 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
44054
44055
44056 XLA_AE_LINES_PKG.ValidateCurrentLine;
44057 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
44058
44059 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
44060 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
44061 ,p_balance_type_code => l_balance_type_code);
44062
44063 END IF;
44064
44065 -----------------------------------------------------------------------------------------
44066 -- 4262811 Multiperiod Accounting
44067 -----------------------------------------------------------------------------------------
44068 -- No MPA option is assigned.
44069
44070
44071 END IF;
44072 END IF;
44073 --
44074
44075 --
44076 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
44077 trace
44078 (p_msg => 'END of AcctLineType_71'
44079 ,p_level => C_LEVEL_PROCEDURE
44080 ,p_module => l_log_module);
44081 END IF;
44082 --
44083 EXCEPTION
44084 WHEN xla_exceptions_pkg.application_exception THEN
44085 RAISE;
44086 WHEN OTHERS THEN
44087 xla_exceptions_pkg.raise_message
44088 (p_location => 'XLA_00200_AAD_S_000006_BC_PKG.AcctLineType_71');
44089 END AcctLineType_71;
44090 --
44091
44092 ---------------------------------------
44093 --
44094 -- PRIVATE FUNCTION
44095 -- AcctLineType_72
44096 --
44097 ---------------------------------------
44098 PROCEDURE AcctLineType_72 (
44099 p_application_id IN NUMBER
44100 ,p_event_id IN NUMBER
44101 ,p_calculate_acctd_flag IN VARCHAR2
44102 ,p_calculate_g_l_flag IN VARCHAR2
44103 ,p_actual_flag IN OUT VARCHAR2
44104 ,p_balance_type_code OUT VARCHAR2
44105 ,p_gain_or_loss_ref OUT VARCHAR2
44106
44107 --Invoice Distribution Description
44108 , p_source_1 IN VARCHAR2
44109 --Purchase Order Rate Variance Gain Account
44110 , p_source_6 IN NUMBER
44111 --Automatic Offsets Value
44112 , p_source_7 IN VARCHAR2
44113 , p_source_7_meaning IN VARCHAR2
44114 --Invoice Distribution Ledger Amount
44115 , p_source_8 IN NUMBER
44116 --Destination Type of the PO Distribution
44117 , p_source_9 IN VARCHAR2
44118 , p_source_9_meaning IN VARCHAR2
44119 --Purchase Order Rate Variance Loss Account
44120 , p_source_10 IN NUMBER
44121 --Invoice Distribution Account
44122 , p_source_11 IN NUMBER
44123 --Automatic Offsets Flag
44124 , p_source_12 IN VARCHAR2
44125 , p_source_12_meaning IN VARCHAR2
44126 --Invoice Distribution Type
44127 , p_source_15 IN VARCHAR2
44128 , p_source_15_meaning IN VARCHAR2
44129 --Purchasing Encumbrance Option
44130 , p_source_17 IN VARCHAR2
44131 , p_source_17_meaning IN VARCHAR2
44132 --Accounting Reversal Indicator
44133 , p_source_19 IN VARCHAR2
44134 --Distribution Link Type
44135 , p_source_21 IN VARCHAR2
44136 --Allocation to Main Distribution Identifier
44137 , p_source_23 IN NUMBER
44138 --Invoice Identifier
44139 , p_source_24 IN NUMBER
44140 --Business Flow Accounts Payable Application Identifier
44141 , p_source_25 IN NUMBER
44142 --Business Flow Invoice Distribution Type
44143 , p_source_26 IN VARCHAR2
44144 --Business Flow Invoice Entity Code
44145 , p_source_27 IN VARCHAR2
44146 --Business Flow Invoice Distribution Identifier
44147 , p_source_28 IN NUMBER
44148 --Business Flow Invoice Identifier
44149 , p_source_29 IN NUMBER
44150 --Invoice Distribution Identifier
44151 , p_source_30 IN NUMBER
44152 --Payables Encumbrance Upgrade Credit Account
44153 , p_source_31 IN NUMBER
44154 --Payables Encumbrance Upgrade Credit Amount
44155 , p_source_32 IN NUMBER
44156 --Invoice Currency Code
44157 , p_source_33 IN VARCHAR2
44158 --Payables Encumbrance Upgrade Credit Base Amount
44159 , p_source_34 IN NUMBER
44160 --Payables Encumbrance Upgrade Debit Account
44164 --Payables Encumbrance Upgrade Debit Base Amount
44161 , p_source_35 IN NUMBER
44162 --Payables Encumbrance Upgrade Debit Amount
44163 , p_source_36 IN NUMBER
44165 , p_source_37 IN NUMBER
44166 --Payables Encumbrance Upgrade Option
44167 , p_source_38 IN VARCHAR2
44168 --Invoice Exchange Date
44169 , p_source_39 IN DATE
44170 --Invoice Exchange Rate
44171 , p_source_40 IN NUMBER
44172 --Invoice Exchange Rate Type
44173 , p_source_41 IN VARCHAR2
44174 --Deferred Accounting End Date
44175 , p_source_43 IN DATE
44176 --Deferred Accounting Option
44177 , p_source_44 IN VARCHAR2
44178 --Deferred Accounting Start Date
44179 , p_source_45 IN DATE
44180 --Override Accounted Amount Indicator
44181 , p_source_46 IN VARCHAR2
44182 , p_source_46_meaning IN VARCHAR2
44183 --Invoice Supplier Identifier
44184 , p_source_47 IN NUMBER
44185 --Invoice Supplier Site Identifier
44186 , p_source_48 IN NUMBER
44187 --Third Party Type
44188 , p_source_49 IN VARCHAR2
44189 --Parent Reversal Identifier
44190 , p_source_50 IN NUMBER
44191 --Invoice Distribution Statistical Amount
44192 , p_source_51 IN NUMBER
44193 --Invoice Distribution Tax Line Identifier
44194 , p_source_52 IN NUMBER
44195 --Invoice Distribution Tax Distribution Identifier from Tax
44196 , p_source_53 IN NUMBER
44197 --Invoice Distribution Summary Tax Line Identifier
44198 , p_source_54 IN NUMBER
44199 --Payables Upgrade Credit Encumbrance Type Identifier
44200 , p_source_55 IN NUMBER
44201 --Payables Upgrade Debit Encumbrance Type Identifier
44202 , p_source_56 IN NUMBER
44203 --Invoice Distribution Encumbrance Amount
44204 , p_source_65 IN NUMBER
44205 --Invoice Distribution Encumbrance Ledger Amount
44206 , p_source_66 IN NUMBER
44207 )
44208 IS
44209
44210 l_component_type VARCHAR2(80);
44211 l_component_code VARCHAR2(30);
44212 l_component_type_code VARCHAR2(1);
44213 l_component_appl_id INTEGER;
44214 l_amb_context_code VARCHAR2(30);
44215 l_entity_code VARCHAR2(30);
44216 l_event_class_code VARCHAR2(30);
44217 l_ae_header_id NUMBER;
44218 l_event_type_code VARCHAR2(30);
44219 l_line_definition_code VARCHAR2(30);
44220 l_line_definition_owner_code VARCHAR2(1);
44221 --
44222 -- adr variables
44223 l_segment VARCHAR2(30);
44224 l_ccid NUMBER;
44225 l_adr_transaction_coa_id NUMBER;
44226 l_adr_accounting_coa_id NUMBER;
44227 l_adr_flexfield_segment_code VARCHAR2(30);
44228 l_adr_flex_value_set_id NUMBER;
44229 l_adr_value_type_code VARCHAR2(30);
44230 l_adr_value_combination_id NUMBER;
44231 l_adr_value_segment_code VARCHAR2(30);
44232
44233 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
44234 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
44235 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
44236 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
44237
44238 -- 4262811 Variables ------------------------------------------------------------------------------------------
44239 l_entered_amt_idx NUMBER;
44240 l_accted_amt_idx NUMBER;
44241 l_acc_rev_flag VARCHAR2(1);
44242 l_accrual_line_num NUMBER;
44243 l_tmp_amt NUMBER;
44244 l_acc_rev_natural_side_code VARCHAR2(1);
44245
44246 l_num_entries NUMBER;
44247 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
44248 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
44249 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
44250 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
44251 l_recog_line_1 NUMBER;
44252 l_recog_line_2 NUMBER;
44253
44254 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
44255 l_bflow_applied_to_amt NUMBER; -- 5132302
44256 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
44257
44258 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
44259
44260 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
44261 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
44262
44263 ---------------------------------------------------------------------------------------------------------------
44264
44265
44266 --
44267 -- bulk performance
44268 --
44269 l_balance_type_code VARCHAR2(1);
44270 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
44271 l_log_module VARCHAR2(240);
44272
44273 --
44274 -- Upgrade strategy
44275 --
44276 l_actual_upg_option VARCHAR2(1);
44277 l_enc_upg_option VARCHAR2(1);
44278
44279 --
44280 BEGIN
44281 --
44282 IF g_log_enabled THEN
44283 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_72';
44284 END IF;
44285 --
44286 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
44287
44288 trace
44289 (p_msg => 'BEGIN of AcctLineType_72'
44293 END IF;
44290 ,p_level => C_LEVEL_PROCEDURE
44291 ,p_module => l_log_module);
44292
44294 --
44295 l_component_type := 'AMB_JLT';
44296 l_component_code := 'AP_TAX_EX_RATE_VAR_PP_ENC_DR';
44297 l_component_type_code := 'S';
44298 l_component_appl_id := 200;
44299 l_amb_context_code := 'DEFAULT';
44300 l_entity_code := 'AP_INVOICES';
44301 l_event_class_code := 'PREPAYMENTS';
44302 l_event_type_code := 'PREPAYMENTS_ALL';
44303 l_line_definition_owner_code := 'S';
44304 l_line_definition_code := 'ENC_PREPAY_ALL';
44305 --
44306 l_balance_type_code := 'E';
44307 l_segment := NULL;
44308 l_ccid := NULL;
44309 l_adr_transaction_coa_id := NULL;
44310 l_adr_accounting_coa_id := NULL;
44311 l_adr_flexfield_segment_code := NULL;
44312 l_adr_flex_value_set_id := NULL;
44313 l_adr_value_type_code := NULL;
44314 l_adr_value_combination_id := NULL;
44315 l_adr_value_segment_code := NULL;
44316
44317 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
44318 l_bflow_class_code := 'AP_INV_ENCUM'; -- 4219869 Business Flow
44319 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
44320 l_budgetary_control_flag := 'Y';
44321
44322 l_bflow_applied_to_amt_idx := NULL; -- 5132302
44323 l_bflow_applied_to_amt := NULL; -- 5132302
44324 l_entered_amt_idx := NULL; -- 4262811
44325 l_accted_amt_idx := NULL; -- 4262811
44326 l_acc_rev_flag := NULL; -- 4262811
44327 l_accrual_line_num := NULL; -- 4262811
44328 l_tmp_amt := NULL; -- 4262811
44329 --
44330 IF ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
44331 (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
44332 return;
44333 END IF;
44334
44335 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
44336 l_balance_type_code <> 'B' THEN
44337 IF NVL(p_source_15,'
44338 ') = 'TERV' AND
44339 NVL(p_source_17,'
44340 ') = 'Y'
44341 THEN
44342
44343 --
44344 XLA_AE_LINES_PKG.SetNewLine;
44345
44346 p_balance_type_code := l_balance_type_code;
44347 -- set the flag so later we will know whether the gain loss line needs to be created
44348
44349 IF(l_balance_type_code = 'A' ) THEN
44350 p_actual_flag :='G';
44351 END IF;
44352
44353 --
44354 -- bulk performance
44355 --
44356 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
44357 p_header_num => 0); -- 4262811
44358 --
44359 -- set accounting line options
44360 --
44361 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
44362 p_natural_side_code => 'D'
44363 , p_gain_or_loss_flag => 'Y'
44364 , p_gl_transfer_mode_code => 'S'
44365 , p_acct_entry_type_code => 'E'
44366 , p_switch_side_flag => 'Y'
44367 , p_merge_duplicate_code => 'N'
44368 );
44369 --
44370 l_acc_rev_natural_side_code := 'C'; -- 4262811
44371 --
44372 --
44373 -- set accounting line type info
44374 --
44375 xla_ae_lines_pkg.SetAcctLineType
44376 (p_component_type => l_component_type
44377 ,p_event_type_code => l_event_type_code
44378 ,p_line_definition_owner_code => l_line_definition_owner_code
44379 ,p_line_definition_code => l_line_definition_code
44380 ,p_accounting_line_code => l_component_code
44381 ,p_accounting_line_type_code => l_component_type_code
44382 ,p_accounting_line_appl_id => l_component_appl_id
44383 ,p_amb_context_code => l_amb_context_code
44384 ,p_entity_code => l_entity_code
44385 ,p_event_class_code => l_event_class_code);
44386 --
44387 -- set accounting class
44388 --
44389 xla_ae_lines_pkg.SetAcctClass(
44390 p_accounting_class_code => 'TERV'
44391 , p_ae_header_id => l_ae_header_id
44392 );
44393
44394 --
44395 -- set rounding class
44396 --
44397 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
44398 'TERV';
44399
44400 --
44401 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
44402 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
44403 --
44404 -- bulk performance
44405 --
44406 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
44407
44408 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
44409 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
44410
44411 -- 4955764
44412 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
44416 XLA_AE_LINES_PKG.g_rec_lines.array_encumbrance_type_id(XLA_AE_LINES_PKG.g_LineNumber) := 1060;
44413 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
44414
44415 -- 4458381 Public Sector Enh
44417 --
44418 -- set accounting attributes for the line type
44419 --
44420 l_entered_amt_idx := 23;
44421 l_accted_amt_idx := 28;
44422 l_bflow_applied_to_amt_idx := NULL; -- 5132302
44423 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
44424 l_rec_acct_attrs.array_char_value(1) := p_source_19;
44425 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
44426 l_rec_acct_attrs.array_num_value(2) :=
44427 xla_ae_sources_pkg.GetSystemSourceNum(
44428 p_source_code => 'XLA_EVENT_APPL_ID'
44429 , p_source_type_code => 'Y'
44430 , p_source_application_id => 602
44431 );
44432 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
44433 l_rec_acct_attrs.array_char_value(3) := p_source_21;
44434 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
44435 l_rec_acct_attrs.array_char_value(4) :=
44436 xla_ae_sources_pkg.GetSystemSourceChar(
44437 p_source_code => 'XLA_ENTITY_CODE'
44438 , p_source_type_code => 'Y'
44439 , p_source_application_id => 602
44440 );
44441 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
44442 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_23);
44443 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
44444 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_24);
44445 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
44446 l_rec_acct_attrs.array_num_value(7) := p_source_25;
44447 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
44448 l_rec_acct_attrs.array_char_value(8) := p_source_26;
44449 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
44450 l_rec_acct_attrs.array_char_value(9) := p_source_27;
44451 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
44452 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_28);
44453 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
44454 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_29);
44455 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
44456 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_30);
44457 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
44458 l_rec_acct_attrs.array_char_value(13) := p_source_21;
44459 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
44460 l_rec_acct_attrs.array_num_value(14) := p_source_31;
44461 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
44462 l_rec_acct_attrs.array_num_value(15) := p_source_32;
44463 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
44464 l_rec_acct_attrs.array_char_value(16) := p_source_33;
44465 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
44466 l_rec_acct_attrs.array_num_value(17) := p_source_34;
44467 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
44468 l_rec_acct_attrs.array_num_value(18) := p_source_35;
44469 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
44470 l_rec_acct_attrs.array_num_value(19) := p_source_36;
44471 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
44472 l_rec_acct_attrs.array_char_value(20) := p_source_33;
44473 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
44474 l_rec_acct_attrs.array_num_value(21) := p_source_37;
44475 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
44476 l_rec_acct_attrs.array_char_value(22) := p_source_38;
44477 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
44478 l_rec_acct_attrs.array_num_value(23) := p_source_65;
44479 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
44480 l_rec_acct_attrs.array_char_value(24) := p_source_33;
44481 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
44482 l_rec_acct_attrs.array_date_value(25) := p_source_39;
44483 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
44484 l_rec_acct_attrs.array_num_value(26) := p_source_40;
44485 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
44486 l_rec_acct_attrs.array_char_value(27) := p_source_41;
44487 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
44488 l_rec_acct_attrs.array_num_value(28) := p_source_66;
44489 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
44490 l_rec_acct_attrs.array_date_value(29) := p_source_43;
44491 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
44492 l_rec_acct_attrs.array_char_value(30) := p_source_44;
44493 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
44494 l_rec_acct_attrs.array_date_value(31) := p_source_45;
44495 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
44496 l_rec_acct_attrs.array_char_value(32) := p_source_46;
44497 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
44498 l_rec_acct_attrs.array_num_value(33) := p_source_47;
44499 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
44500 l_rec_acct_attrs.array_num_value(34) := p_source_48;
44501 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
44502 l_rec_acct_attrs.array_char_value(35) := p_source_49;
44506 l_rec_acct_attrs.array_char_value(37) := p_source_21;
44503 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
44504 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_50);
44505 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
44507 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
44508 l_rec_acct_attrs.array_num_value(38) := p_source_51;
44509 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
44510 l_rec_acct_attrs.array_num_value(39) := p_source_52;
44511 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
44512 l_rec_acct_attrs.array_num_value(40) := p_source_53;
44513 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
44514 l_rec_acct_attrs.array_num_value(41) := p_source_54;
44515 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
44516 l_rec_acct_attrs.array_num_value(42) := p_source_55;
44517 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
44518 l_rec_acct_attrs.array_num_value(43) := p_source_56;
44519
44520 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
44521 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
44522
44523 ---------------------------------------------------------------------------------------------------------------
44524 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
44525 ---------------------------------------------------------------------------------------------------------------
44526 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
44527
44528 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
44529 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
44530
44531 IF xla_accounting_cache_pkg.GetValueChar
44532 (p_source_code => 'LEDGER_CATEGORY_CODE'
44533 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
44534 AND l_bflow_method_code = 'PRIOR_ENTRY'
44535 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
44536 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
44537 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
44538 )
44539 THEN
44540 xla_ae_lines_pkg.BflowUpgEntry
44541 (p_business_method_code => l_bflow_method_code
44542 ,p_business_class_code => l_bflow_class_code
44543 ,p_balance_type => l_balance_type_code);
44544 ELSE
44545 NULL;
44546 -- No business flow processing for business flow method of NONE.
44547 END IF;
44548
44549 --
44550 -- call analytical criteria
44551 --
44552
44553 --
44554 -- call description
44555 --
44556
44557 xla_ae_lines_pkg.SetLineDescription(
44558 p_ae_header_id => l_ae_header_id
44559 ,p_description => Description_2 (
44560 p_application_id => p_application_id
44561 , p_ae_header_id => l_ae_header_id
44562 , p_source_1 => p_source_1
44563 )
44564 );
44565
44566
44567 --
44568 -- call ADRs
44569 -- Bug 4922099
44570 --
44571 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
44572 (NVL(l_actual_upg_option, 'N') = 'O') OR
44573 (NVL(l_enc_upg_option, 'N') = 'O')
44574 )
44575 THEN
44576 NULL;
44577 --
44578 --
44579
44580 l_ccid := AcctDerRule_6(
44581 p_application_id => p_application_id
44582 , p_ae_header_id => l_ae_header_id
44583 , p_source_6 => p_source_6
44584 , p_source_7 => p_source_7
44585 , p_source_7_meaning => p_source_7_meaning
44586 , p_source_8 => p_source_8
44587 , p_source_9 => p_source_9
44588 , p_source_9_meaning => p_source_9_meaning
44589 , p_source_10 => p_source_10
44590 , p_source_11 => p_source_11
44591 , p_source_12 => p_source_12
44592 , p_source_12_meaning => p_source_12_meaning
44593 , x_transaction_coa_id => l_adr_transaction_coa_id
44594 , x_accounting_coa_id => l_adr_accounting_coa_id
44595 , x_value_type_code => l_adr_value_type_code
44596 , p_side => 'NA'
44597 );
44598
44599 xla_ae_lines_pkg.set_ccid(
44600 p_code_combination_id => l_ccid
44601 , p_value_type_code => l_adr_value_type_code
44602 , p_transaction_coa_id => l_adr_transaction_coa_id
44603 , p_accounting_coa_id => l_adr_accounting_coa_id
44604 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
44605 , p_adr_type_code => 'S'
44606 , p_component_type => l_component_type
44607 , p_component_code => l_component_code
44608 , p_component_type_code => l_component_type_code
44609 , p_component_appl_id => l_component_appl_id
44610 , p_amb_context_code => l_amb_context_code
44611 , p_side => 'NA'
44612 );
44613
44614
44615 l_segment := AcctDerRule_4(
44616 p_application_id => p_application_id
44617 , p_ae_header_id => l_ae_header_id
44618 , p_source_6 => p_source_6
44619 , p_source_7 => p_source_7
44620 , p_source_7_meaning => p_source_7_meaning
44621 , p_source_8 => p_source_8
44625 , x_transaction_coa_id => l_adr_transaction_coa_id
44622 , p_source_9 => p_source_9
44623 , p_source_9_meaning => p_source_9_meaning
44624 , p_source_10 => p_source_10
44626 , x_accounting_coa_id => l_adr_accounting_coa_id
44627 , x_flexfield_segment_code => l_adr_flexfield_segment_code
44628 , x_flex_value_set_id => l_adr_flex_value_set_id
44629 , x_value_type_code => l_adr_value_type_code
44630 , x_value_combination_id => l_adr_value_combination_id
44631 , x_value_segment_code => l_adr_value_segment_code
44632 , p_side => 'NA'
44633 , p_override_seg_flag => 'Y'
44634 );
44635
44636 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
44637
44638 xla_ae_lines_pkg.set_segment(
44639 p_to_segment_code => 'GL_ACCOUNT'
44640 , p_segment_value => l_segment
44641 , p_from_segment_code => l_adr_value_segment_code
44642 , p_from_combination_id => l_adr_value_combination_id
44643 , p_value_type_code => l_adr_value_type_code
44644 , p_transaction_coa_id => l_adr_transaction_coa_id
44645 , p_accounting_coa_id => l_adr_accounting_coa_id
44646 , p_flexfield_segment_code => l_adr_flexfield_segment_code
44647 , p_flex_value_set_id => l_adr_flex_value_set_id
44648 , p_adr_code => 'AP_ERV_GAIN_LOSS_NAT_ACCT_SEG'
44649 , p_adr_type_code => 'S'
44650 , p_component_type => l_component_type
44651 , p_component_code => l_component_code
44652 , p_component_type_code => l_component_type_code
44653 , p_component_appl_id => l_component_appl_id
44654 , p_amb_context_code => l_amb_context_code
44655 , p_entity_code => 'AP_INVOICES'
44656 , p_event_class_code => 'PREPAYMENTS'
44657 , p_side => 'NA'
44658 );
44659
44660 END IF;
44661
44662 l_segment := AcctDerRule_5(
44663 p_application_id => p_application_id
44664 , p_ae_header_id => l_ae_header_id
44665 , p_source_7 => p_source_7
44666 , p_source_7_meaning => p_source_7_meaning
44667 , p_source_9 => p_source_9
44668 , p_source_9_meaning => p_source_9_meaning
44669 , p_source_11 => p_source_11
44670 , x_transaction_coa_id => l_adr_transaction_coa_id
44671 , x_accounting_coa_id => l_adr_accounting_coa_id
44672 , x_flexfield_segment_code => l_adr_flexfield_segment_code
44673 , x_flex_value_set_id => l_adr_flex_value_set_id
44674 , x_value_type_code => l_adr_value_type_code
44675 , x_value_combination_id => l_adr_value_combination_id
44676 , x_value_segment_code => l_adr_value_segment_code
44677 , p_side => 'NA'
44678 , p_override_seg_flag => 'Y'
44679 );
44680
44681 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
44682
44683 xla_ae_lines_pkg.set_segment(
44684 p_to_segment_code => 'GL_BALANCING'
44685 , p_segment_value => l_segment
44686 , p_from_segment_code => l_adr_value_segment_code
44687 , p_from_combination_id => l_adr_value_combination_id
44688 , p_value_type_code => l_adr_value_type_code
44689 , p_transaction_coa_id => l_adr_transaction_coa_id
44690 , p_accounting_coa_id => l_adr_accounting_coa_id
44691 , p_flexfield_segment_code => l_adr_flexfield_segment_code
44692 , p_flex_value_set_id => l_adr_flex_value_set_id
44693 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
44694 , p_adr_type_code => 'S'
44695 , p_component_type => l_component_type
44696 , p_component_code => l_component_code
44697 , p_component_type_code => l_component_type_code
44698 , p_component_appl_id => l_component_appl_id
44699 , p_amb_context_code => l_amb_context_code
44700 , p_entity_code => 'AP_INVOICES'
44701 , p_event_class_code => 'PREPAYMENTS'
44702 , p_side => 'NA'
44703 );
44704
44705 END IF;
44706
44707 --
44708 --
44709 END IF;
44710 --
44711 -- Bug 4922099
44712 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
44713 (NVL(l_enc_upg_option, 'N') = 'O')
44714 ) AND
44715 (l_bflow_method_code = 'PRIOR_ENTRY')
44716 )
44717 THEN
44718 IF
44719 --
44720 1 = 2
44721 --
44722 THEN
44723 xla_accounting_err_pkg.build_message
44724 (p_appli_s_name => 'XLA'
44725 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
44726 ,p_token_1 => 'LINE_NUMBER'
44727 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
44728 ,p_token_2 => 'LINE_TYPE_NAME'
44729 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
44730 l_component_type
44731 ,l_component_code
44735 ,l_entity_code
44732 ,l_component_type_code
44733 ,l_component_appl_id
44734 ,l_amb_context_code
44736 ,l_event_class_code
44737 )
44738 ,p_token_3 => 'OWNER'
44739 ,p_value_3 => xla_lookups_pkg.get_meaning(
44740 p_lookup_type => 'XLA_OWNER_TYPE'
44741 ,p_lookup_code => l_component_type_code
44742 )
44743 ,p_token_4 => 'PRODUCT_NAME'
44744 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
44745 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
44746 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
44747 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
44748 ,p_ae_header_id => NULL
44749 );
44750
44751 IF (C_LEVEL_ERROR>= g_log_level) THEN
44752 trace
44753 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
44754 ,p_level => C_LEVEL_ERROR
44755 ,p_module => l_log_module);
44756 END IF;
44757 END IF;
44758 END IF;
44759 --
44760 --
44761 ------------------------------------------------------------------------------------------------
44762 -- 4219869 Business Flow
44763 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
44764 -- Prior Entry. Currently, the following code is always generated.
44765 ------------------------------------------------------------------------------------------------
44766 XLA_AE_LINES_PKG.ValidateCurrentLine;
44767
44768 ------------------------------------------------------------------------------------
44769 -- 4219869 Business Flow
44770 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
44771 ------------------------------------------------------------------------------------
44772 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
44773
44774 ----------------------------------------------------------------------------------
44775 -- 4219869 Business Flow
44776 -- Update journal entry status -- Need to generate this within IF <condition>
44777 ----------------------------------------------------------------------------------
44778 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
44779 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
44780 ,p_balance_type_code => l_balance_type_code
44781 );
44782
44783 -------------------------------------------------------------------------------------------
44784 -- 4262811 - Generate the Accrual Reversal lines
44785 -------------------------------------------------------------------------------------------
44786 BEGIN
44787 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
44788 (g_array_event(p_event_id).array_value_num('header_index'));
44789 IF l_acc_rev_flag IS NULL THEN
44790 l_acc_rev_flag := 'N';
44791 END IF;
44792 EXCEPTION
44793 WHEN OTHERS THEN
44794 l_acc_rev_flag := 'N';
44795 END;
44796 --
44797 IF (l_acc_rev_flag = 'Y') THEN
44798
44799 -- 4645092 ------------------------------------------------------------------------------
44800 -- To allow MPA report to determine if it should generate report process
44801 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
44802 ------------------------------------------------------------------------------------------
44803
44804 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
44805 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
44806 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
44807 -- call ADRs
44808 -- Bug 4922099
44809 --
44810 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
44811 (NVL(l_actual_upg_option, 'N') = 'O') OR
44812 (NVL(l_enc_upg_option, 'N') = 'O')
44813 )
44814 THEN
44815 NULL;
44816 --
44817 --
44818
44819 l_ccid := AcctDerRule_6(
44820 p_application_id => p_application_id
44821 , p_ae_header_id => l_ae_header_id
44822 , p_source_6 => p_source_6
44823 , p_source_7 => p_source_7
44824 , p_source_7_meaning => p_source_7_meaning
44825 , p_source_8 => p_source_8
44826 , p_source_9 => p_source_9
44827 , p_source_9_meaning => p_source_9_meaning
44828 , p_source_10 => p_source_10
44829 , p_source_11 => p_source_11
44830 , p_source_12 => p_source_12
44831 , p_source_12_meaning => p_source_12_meaning
44832 , x_transaction_coa_id => l_adr_transaction_coa_id
44836 );
44833 , x_accounting_coa_id => l_adr_accounting_coa_id
44834 , x_value_type_code => l_adr_value_type_code
44835 , p_side => 'NA'
44837
44838 xla_ae_lines_pkg.set_ccid(
44839 p_code_combination_id => l_ccid
44840 , p_value_type_code => l_adr_value_type_code
44841 , p_transaction_coa_id => l_adr_transaction_coa_id
44842 , p_accounting_coa_id => l_adr_accounting_coa_id
44843 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
44844 , p_adr_type_code => 'S'
44845 , p_component_type => l_component_type
44846 , p_component_code => l_component_code
44847 , p_component_type_code => l_component_type_code
44848 , p_component_appl_id => l_component_appl_id
44849 , p_amb_context_code => l_amb_context_code
44850 , p_side => 'NA'
44851 );
44852
44853
44854 l_segment := AcctDerRule_4(
44855 p_application_id => p_application_id
44856 , p_ae_header_id => l_ae_header_id
44857 , p_source_6 => p_source_6
44858 , p_source_7 => p_source_7
44859 , p_source_7_meaning => p_source_7_meaning
44860 , p_source_8 => p_source_8
44861 , p_source_9 => p_source_9
44862 , p_source_9_meaning => p_source_9_meaning
44863 , p_source_10 => p_source_10
44864 , x_transaction_coa_id => l_adr_transaction_coa_id
44865 , x_accounting_coa_id => l_adr_accounting_coa_id
44866 , x_flexfield_segment_code => l_adr_flexfield_segment_code
44867 , x_flex_value_set_id => l_adr_flex_value_set_id
44868 , x_value_type_code => l_adr_value_type_code
44869 , x_value_combination_id => l_adr_value_combination_id
44870 , x_value_segment_code => l_adr_value_segment_code
44871 , p_side => 'NA'
44872 , p_override_seg_flag => 'Y'
44873 );
44874
44875 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
44876
44877 xla_ae_lines_pkg.set_segment(
44878 p_to_segment_code => 'GL_ACCOUNT'
44879 , p_segment_value => l_segment
44880 , p_from_segment_code => l_adr_value_segment_code
44881 , p_from_combination_id => l_adr_value_combination_id
44882 , p_value_type_code => l_adr_value_type_code
44883 , p_transaction_coa_id => l_adr_transaction_coa_id
44884 , p_accounting_coa_id => l_adr_accounting_coa_id
44885 , p_flexfield_segment_code => l_adr_flexfield_segment_code
44886 , p_flex_value_set_id => l_adr_flex_value_set_id
44887 , p_adr_code => 'AP_ERV_GAIN_LOSS_NAT_ACCT_SEG'
44888 , p_adr_type_code => 'S'
44889 , p_component_type => l_component_type
44890 , p_component_code => l_component_code
44891 , p_component_type_code => l_component_type_code
44892 , p_component_appl_id => l_component_appl_id
44893 , p_amb_context_code => l_amb_context_code
44894 , p_entity_code => 'AP_INVOICES'
44895 , p_event_class_code => 'PREPAYMENTS'
44896 , p_side => 'NA'
44897 );
44898
44899 END IF;
44900
44901 l_segment := AcctDerRule_5(
44902 p_application_id => p_application_id
44903 , p_ae_header_id => l_ae_header_id
44904 , p_source_7 => p_source_7
44905 , p_source_7_meaning => p_source_7_meaning
44906 , p_source_9 => p_source_9
44907 , p_source_9_meaning => p_source_9_meaning
44908 , p_source_11 => p_source_11
44909 , x_transaction_coa_id => l_adr_transaction_coa_id
44910 , x_accounting_coa_id => l_adr_accounting_coa_id
44911 , x_flexfield_segment_code => l_adr_flexfield_segment_code
44912 , x_flex_value_set_id => l_adr_flex_value_set_id
44913 , x_value_type_code => l_adr_value_type_code
44914 , x_value_combination_id => l_adr_value_combination_id
44915 , x_value_segment_code => l_adr_value_segment_code
44916 , p_side => 'NA'
44917 , p_override_seg_flag => 'Y'
44918 );
44919
44920 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
44921
44922 xla_ae_lines_pkg.set_segment(
44923 p_to_segment_code => 'GL_BALANCING'
44924 , p_segment_value => l_segment
44925 , p_from_segment_code => l_adr_value_segment_code
44926 , p_from_combination_id => l_adr_value_combination_id
44927 , p_value_type_code => l_adr_value_type_code
44928 , p_transaction_coa_id => l_adr_transaction_coa_id
44929 , p_accounting_coa_id => l_adr_accounting_coa_id
44930 , p_flexfield_segment_code => l_adr_flexfield_segment_code
44931 , p_flex_value_set_id => l_adr_flex_value_set_id
44932 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
44933 , p_adr_type_code => 'S'
44934 , p_component_type => l_component_type
44935 , p_component_code => l_component_code
44936 , p_component_type_code => l_component_type_code
44937 , p_component_appl_id => l_component_appl_id
44938 , p_amb_context_code => l_amb_context_code
44939 , p_entity_code => 'AP_INVOICES'
44940 , p_event_class_code => 'PREPAYMENTS'
44944 END IF;
44941 , p_side => 'NA'
44942 );
44943
44945
44946 --
44947 --
44948 END IF;
44949
44950 --
44951 -- Update the line information that should be overwritten
44952 --
44953 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
44954 p_header_num => 1);
44955 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
44956
44957 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
44958
44959 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
44960 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
44961 END IF;
44962
44963 --
44964 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
44965 --
44966 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
44967 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
44968 ELSE
44969 ---------------------------------------------------------------------------------------------------
44970 -- 4262811a Switch Sign
44971 ---------------------------------------------------------------------------------------------------
44972 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
44973 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
44974 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
44975 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
44976 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
44977 -- 5132302
44978 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
44979 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
44980
44981 END IF;
44982
44983 -- 4955764
44984 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
44985 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
44986
44987
44988 XLA_AE_LINES_PKG.ValidateCurrentLine;
44989 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
44990
44991 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
44992 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
44993 ,p_balance_type_code => l_balance_type_code);
44994
44995 END IF;
44996
44997 -----------------------------------------------------------------------------------------
44998 -- 4262811 Multiperiod Accounting
44999 -----------------------------------------------------------------------------------------
45000 -- No MPA option is assigned.
45001
45002
45003 END IF;
45004 END IF;
45005 --
45006
45007 --
45008 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
45009 trace
45010 (p_msg => 'END of AcctLineType_72'
45011 ,p_level => C_LEVEL_PROCEDURE
45012 ,p_module => l_log_module);
45013 END IF;
45014 --
45015 EXCEPTION
45016 WHEN xla_exceptions_pkg.application_exception THEN
45017 RAISE;
45018 WHEN OTHERS THEN
45019 xla_exceptions_pkg.raise_message
45020 (p_location => 'XLA_00200_AAD_S_000006_BC_PKG.AcctLineType_72');
45021 END AcctLineType_72;
45022 --
45023
45024 ---------------------------------------
45025 --
45026 -- PRIVATE FUNCTION
45027 -- AcctLineType_73
45028 --
45029 ---------------------------------------
45030 PROCEDURE AcctLineType_73 (
45031 p_application_id IN NUMBER
45032 ,p_event_id IN NUMBER
45033 ,p_calculate_acctd_flag IN VARCHAR2
45034 ,p_calculate_g_l_flag IN VARCHAR2
45035 ,p_actual_flag IN OUT VARCHAR2
45036 ,p_balance_type_code OUT VARCHAR2
45037 ,p_gain_or_loss_ref OUT VARCHAR2
45038
45039 --Invoice Distribution Description
45040 , p_source_1 IN VARCHAR2
45041 --Invoice Distribution Account
45042 , p_source_11 IN NUMBER
45043 --Invoice Distribution Type
45044 , p_source_15 IN VARCHAR2
45045 , p_source_15_meaning IN VARCHAR2
45046 --Purchasing Encumbrance Option
45047 , p_source_17 IN VARCHAR2
45048 , p_source_17_meaning IN VARCHAR2
45049 --Accounting Reversal Indicator
45050 , p_source_19 IN VARCHAR2
45051 --Distribution Link Type
45052 , p_source_21 IN VARCHAR2
45053 --Allocation to Main Distribution Identifier
45054 , p_source_23 IN NUMBER
45055 --Invoice Identifier
45056 , p_source_24 IN NUMBER
45057 --Business Flow Accounts Payable Application Identifier
45058 , p_source_25 IN NUMBER
45059 --Business Flow Invoice Distribution Type
45060 , p_source_26 IN VARCHAR2
45061 --Business Flow Invoice Entity Code
45062 , p_source_27 IN VARCHAR2
45063 --Business Flow Invoice Distribution Identifier
45064 , p_source_28 IN NUMBER
45068 , p_source_30 IN NUMBER
45065 --Business Flow Invoice Identifier
45066 , p_source_29 IN NUMBER
45067 --Invoice Distribution Identifier
45069 --Payables Encumbrance Upgrade Credit Account
45070 , p_source_31 IN NUMBER
45071 --Payables Encumbrance Upgrade Credit Amount
45072 , p_source_32 IN NUMBER
45073 --Invoice Currency Code
45074 , p_source_33 IN VARCHAR2
45075 --Payables Encumbrance Upgrade Credit Base Amount
45076 , p_source_34 IN NUMBER
45077 --Payables Encumbrance Upgrade Debit Account
45078 , p_source_35 IN NUMBER
45079 --Payables Encumbrance Upgrade Debit Amount
45080 , p_source_36 IN NUMBER
45081 --Payables Encumbrance Upgrade Debit Base Amount
45082 , p_source_37 IN NUMBER
45083 --Payables Encumbrance Upgrade Option
45084 , p_source_38 IN VARCHAR2
45085 --Invoice Exchange Date
45086 , p_source_39 IN DATE
45087 --Invoice Exchange Rate
45088 , p_source_40 IN NUMBER
45089 --Invoice Exchange Rate Type
45090 , p_source_41 IN VARCHAR2
45091 --Deferred Accounting End Date
45092 , p_source_43 IN DATE
45093 --Deferred Accounting Option
45094 , p_source_44 IN VARCHAR2
45095 --Deferred Accounting Start Date
45096 , p_source_45 IN DATE
45097 --Override Accounted Amount Indicator
45098 , p_source_46 IN VARCHAR2
45099 , p_source_46_meaning IN VARCHAR2
45100 --Invoice Supplier Identifier
45101 , p_source_47 IN NUMBER
45102 --Invoice Supplier Site Identifier
45103 , p_source_48 IN NUMBER
45104 --Third Party Type
45105 , p_source_49 IN VARCHAR2
45106 --Parent Reversal Identifier
45107 , p_source_50 IN NUMBER
45108 --Invoice Distribution Statistical Amount
45109 , p_source_51 IN NUMBER
45110 --Invoice Distribution Tax Line Identifier
45111 , p_source_52 IN NUMBER
45112 --Invoice Distribution Tax Distribution Identifier from Tax
45113 , p_source_53 IN NUMBER
45114 --Invoice Distribution Summary Tax Line Identifier
45115 , p_source_54 IN NUMBER
45116 --Payables Upgrade Credit Encumbrance Type Identifier
45117 , p_source_55 IN NUMBER
45118 --Payables Upgrade Debit Encumbrance Type Identifier
45119 , p_source_56 IN NUMBER
45120 --Invoice Distribution Encumbrance Amount
45121 , p_source_65 IN NUMBER
45122 --Invoice Distribution Encumbrance Ledger Amount
45123 , p_source_66 IN NUMBER
45124 )
45125 IS
45126
45127 l_component_type VARCHAR2(80);
45128 l_component_code VARCHAR2(30);
45129 l_component_type_code VARCHAR2(1);
45130 l_component_appl_id INTEGER;
45131 l_amb_context_code VARCHAR2(30);
45132 l_entity_code VARCHAR2(30);
45133 l_event_class_code VARCHAR2(30);
45134 l_ae_header_id NUMBER;
45135 l_event_type_code VARCHAR2(30);
45136 l_line_definition_code VARCHAR2(30);
45137 l_line_definition_owner_code VARCHAR2(1);
45138 --
45139 -- adr variables
45140 l_segment VARCHAR2(30);
45141 l_ccid NUMBER;
45142 l_adr_transaction_coa_id NUMBER;
45143 l_adr_accounting_coa_id NUMBER;
45144 l_adr_flexfield_segment_code VARCHAR2(30);
45145 l_adr_flex_value_set_id NUMBER;
45146 l_adr_value_type_code VARCHAR2(30);
45147 l_adr_value_combination_id NUMBER;
45148 l_adr_value_segment_code VARCHAR2(30);
45149
45150 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
45151 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
45152 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
45153 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
45154
45155 -- 4262811 Variables ------------------------------------------------------------------------------------------
45156 l_entered_amt_idx NUMBER;
45157 l_accted_amt_idx NUMBER;
45158 l_acc_rev_flag VARCHAR2(1);
45159 l_accrual_line_num NUMBER;
45160 l_tmp_amt NUMBER;
45161 l_acc_rev_natural_side_code VARCHAR2(1);
45162
45163 l_num_entries NUMBER;
45164 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
45165 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
45166 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
45167 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
45168 l_recog_line_1 NUMBER;
45169 l_recog_line_2 NUMBER;
45170
45171 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
45172 l_bflow_applied_to_amt NUMBER; -- 5132302
45173 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
45174
45175 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
45176
45177 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
45178 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
45179
45180 ---------------------------------------------------------------------------------------------------------------
45181
45182
45183 --
45184 -- bulk performance
45185 --
45189
45186 l_balance_type_code VARCHAR2(1);
45187 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
45188 l_log_module VARCHAR2(240);
45190 --
45191 -- Upgrade strategy
45192 --
45193 l_actual_upg_option VARCHAR2(1);
45194 l_enc_upg_option VARCHAR2(1);
45195
45196 --
45197 BEGIN
45198 --
45199 IF g_log_enabled THEN
45200 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_73';
45201 END IF;
45202 --
45203 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
45204
45205 trace
45206 (p_msg => 'BEGIN of AcctLineType_73'
45207 ,p_level => C_LEVEL_PROCEDURE
45208 ,p_module => l_log_module);
45209
45210 END IF;
45211 --
45212 l_component_type := 'AMB_JLT';
45213 l_component_code := 'AP_TAX_INV_PRICE_VAR_CM_ENC_DR';
45214 l_component_type_code := 'S';
45215 l_component_appl_id := 200;
45216 l_amb_context_code := 'DEFAULT';
45217 l_entity_code := 'AP_INVOICES';
45218 l_event_class_code := 'CREDIT MEMOS';
45219 l_event_type_code := 'CREDIT MEMOS_ALL';
45220 l_line_definition_owner_code := 'S';
45221 l_line_definition_code := 'ENC_CM_ALL';
45222 --
45223 l_balance_type_code := 'E';
45224 l_segment := NULL;
45225 l_ccid := NULL;
45226 l_adr_transaction_coa_id := NULL;
45227 l_adr_accounting_coa_id := NULL;
45228 l_adr_flexfield_segment_code := NULL;
45229 l_adr_flex_value_set_id := NULL;
45230 l_adr_value_type_code := NULL;
45231 l_adr_value_combination_id := NULL;
45232 l_adr_value_segment_code := NULL;
45233
45234 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
45235 l_bflow_class_code := 'AP_INV_ENCUM'; -- 4219869 Business Flow
45236 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
45237 l_budgetary_control_flag := 'Y';
45238
45239 l_bflow_applied_to_amt_idx := NULL; -- 5132302
45240 l_bflow_applied_to_amt := NULL; -- 5132302
45241 l_entered_amt_idx := NULL; -- 4262811
45242 l_accted_amt_idx := NULL; -- 4262811
45243 l_acc_rev_flag := NULL; -- 4262811
45244 l_accrual_line_num := NULL; -- 4262811
45245 l_tmp_amt := NULL; -- 4262811
45246 --
45247
45248 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
45249 l_balance_type_code <> 'B' THEN
45250 IF NVL(p_source_15,'
45251 ') = 'TIPV' AND
45252 NVL(p_source_17,'
45253 ') = 'Y'
45254 THEN
45255
45256 --
45257 XLA_AE_LINES_PKG.SetNewLine;
45258
45259 p_balance_type_code := l_balance_type_code;
45260 -- set the flag so later we will know whether the gain loss line needs to be created
45261
45262 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
45263 p_actual_flag :='A';
45264 END IF;
45265
45266 --
45267 -- bulk performance
45268 --
45269 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
45270 p_header_num => 0); -- 4262811
45271 --
45272 -- set accounting line options
45273 --
45274 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
45275 p_natural_side_code => 'D'
45276 , p_gain_or_loss_flag => 'N'
45277 , p_gl_transfer_mode_code => 'S'
45278 , p_acct_entry_type_code => 'E'
45279 , p_switch_side_flag => 'Y'
45280 , p_merge_duplicate_code => 'N'
45281 );
45282 --
45283 l_acc_rev_natural_side_code := 'C'; -- 4262811
45284 --
45285 --
45286 -- set accounting line type info
45287 --
45288 xla_ae_lines_pkg.SetAcctLineType
45289 (p_component_type => l_component_type
45290 ,p_event_type_code => l_event_type_code
45291 ,p_line_definition_owner_code => l_line_definition_owner_code
45292 ,p_line_definition_code => l_line_definition_code
45293 ,p_accounting_line_code => l_component_code
45294 ,p_accounting_line_type_code => l_component_type_code
45295 ,p_accounting_line_appl_id => l_component_appl_id
45296 ,p_amb_context_code => l_amb_context_code
45297 ,p_entity_code => l_entity_code
45298 ,p_event_class_code => l_event_class_code);
45299 --
45300 -- set accounting class
45301 --
45302 xla_ae_lines_pkg.SetAcctClass(
45303 p_accounting_class_code => 'TIPV'
45304 , p_ae_header_id => l_ae_header_id
45305 );
45306
45307 --
45308 -- set rounding class
45309 --
45310 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
45311 'TIPV';
45312
45313 --
45314 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
45315 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
45316 --
45317 -- bulk performance
45318 --
45319 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
45320
45321 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
45325 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
45322 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
45323
45324 -- 4955764
45326 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
45327
45328 -- 4458381 Public Sector Enh
45329 XLA_AE_LINES_PKG.g_rec_lines.array_encumbrance_type_id(XLA_AE_LINES_PKG.g_LineNumber) := 1060;
45330 --
45331 -- set accounting attributes for the line type
45332 --
45333 l_entered_amt_idx := 23;
45334 l_accted_amt_idx := 28;
45335 l_bflow_applied_to_amt_idx := NULL; -- 5132302
45336 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
45337 l_rec_acct_attrs.array_char_value(1) := p_source_19;
45338 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
45339 l_rec_acct_attrs.array_num_value(2) :=
45340 xla_ae_sources_pkg.GetSystemSourceNum(
45341 p_source_code => 'XLA_EVENT_APPL_ID'
45342 , p_source_type_code => 'Y'
45343 , p_source_application_id => 602
45344 );
45345 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
45346 l_rec_acct_attrs.array_char_value(3) := p_source_21;
45347 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
45348 l_rec_acct_attrs.array_char_value(4) :=
45349 xla_ae_sources_pkg.GetSystemSourceChar(
45350 p_source_code => 'XLA_ENTITY_CODE'
45351 , p_source_type_code => 'Y'
45352 , p_source_application_id => 602
45353 );
45354 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
45355 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_23);
45356 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
45357 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_24);
45358 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
45359 l_rec_acct_attrs.array_num_value(7) := p_source_25;
45360 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
45361 l_rec_acct_attrs.array_char_value(8) := p_source_26;
45362 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
45363 l_rec_acct_attrs.array_char_value(9) := p_source_27;
45364 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
45365 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_28);
45366 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
45367 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_29);
45368 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
45369 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_30);
45370 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
45371 l_rec_acct_attrs.array_char_value(13) := p_source_21;
45372 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
45373 l_rec_acct_attrs.array_num_value(14) := p_source_31;
45374 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
45375 l_rec_acct_attrs.array_num_value(15) := p_source_32;
45376 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
45377 l_rec_acct_attrs.array_char_value(16) := p_source_33;
45378 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
45379 l_rec_acct_attrs.array_num_value(17) := p_source_34;
45380 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
45381 l_rec_acct_attrs.array_num_value(18) := p_source_35;
45382 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
45383 l_rec_acct_attrs.array_num_value(19) := p_source_36;
45384 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
45385 l_rec_acct_attrs.array_char_value(20) := p_source_33;
45386 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
45387 l_rec_acct_attrs.array_num_value(21) := p_source_37;
45388 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
45389 l_rec_acct_attrs.array_char_value(22) := p_source_38;
45390 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
45391 l_rec_acct_attrs.array_num_value(23) := p_source_65;
45392 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
45393 l_rec_acct_attrs.array_char_value(24) := p_source_33;
45394 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
45395 l_rec_acct_attrs.array_date_value(25) := p_source_39;
45396 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
45397 l_rec_acct_attrs.array_num_value(26) := p_source_40;
45398 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
45399 l_rec_acct_attrs.array_char_value(27) := p_source_41;
45400 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
45401 l_rec_acct_attrs.array_num_value(28) := p_source_66;
45402 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
45403 l_rec_acct_attrs.array_date_value(29) := p_source_43;
45404 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
45405 l_rec_acct_attrs.array_char_value(30) := p_source_44;
45406 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
45407 l_rec_acct_attrs.array_date_value(31) := p_source_45;
45408 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
45409 l_rec_acct_attrs.array_char_value(32) := p_source_46;
45410 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
45411 l_rec_acct_attrs.array_num_value(33) := p_source_47;
45412 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
45416 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
45413 l_rec_acct_attrs.array_num_value(34) := p_source_48;
45414 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
45415 l_rec_acct_attrs.array_char_value(35) := p_source_49;
45417 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_50);
45418 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
45419 l_rec_acct_attrs.array_char_value(37) := p_source_21;
45420 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
45421 l_rec_acct_attrs.array_num_value(38) := p_source_51;
45422 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
45423 l_rec_acct_attrs.array_num_value(39) := p_source_52;
45424 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
45425 l_rec_acct_attrs.array_num_value(40) := p_source_53;
45426 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
45427 l_rec_acct_attrs.array_num_value(41) := p_source_54;
45428 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
45429 l_rec_acct_attrs.array_num_value(42) := p_source_55;
45430 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
45431 l_rec_acct_attrs.array_num_value(43) := p_source_56;
45432
45433 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
45434 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
45435
45436 ---------------------------------------------------------------------------------------------------------------
45437 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
45438 ---------------------------------------------------------------------------------------------------------------
45439 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
45440
45441 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
45442 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
45443
45444 IF xla_accounting_cache_pkg.GetValueChar
45445 (p_source_code => 'LEDGER_CATEGORY_CODE'
45446 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
45447 AND l_bflow_method_code = 'PRIOR_ENTRY'
45448 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
45449 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
45450 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
45451 )
45452 THEN
45453 xla_ae_lines_pkg.BflowUpgEntry
45454 (p_business_method_code => l_bflow_method_code
45455 ,p_business_class_code => l_bflow_class_code
45456 ,p_balance_type => l_balance_type_code);
45457 ELSE
45458 NULL;
45459 -- No business flow processing for business flow method of NONE.
45460 END IF;
45461
45462 --
45463 -- call analytical criteria
45464 --
45465
45466 --
45467 -- call description
45468 --
45469
45470 xla_ae_lines_pkg.SetLineDescription(
45471 p_ae_header_id => l_ae_header_id
45472 ,p_description => Description_2 (
45473 p_application_id => p_application_id
45474 , p_ae_header_id => l_ae_header_id
45475 , p_source_1 => p_source_1
45476 )
45477 );
45478
45479
45480 --
45481 -- call ADRs
45482 -- Bug 4922099
45483 --
45484 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
45485 (NVL(l_actual_upg_option, 'N') = 'O') OR
45486 (NVL(l_enc_upg_option, 'N') = 'O')
45487 )
45488 THEN
45489 NULL;
45490 --
45491 --
45492
45493 l_ccid := AcctDerRule_7(
45494 p_application_id => p_application_id
45495 , p_ae_header_id => l_ae_header_id
45496 , p_source_11 => p_source_11
45497 , x_transaction_coa_id => l_adr_transaction_coa_id
45498 , x_accounting_coa_id => l_adr_accounting_coa_id
45499 , x_value_type_code => l_adr_value_type_code
45500 , p_side => 'NA'
45501 );
45502
45503 xla_ae_lines_pkg.set_ccid(
45504 p_code_combination_id => l_ccid
45505 , p_value_type_code => l_adr_value_type_code
45506 , p_transaction_coa_id => l_adr_transaction_coa_id
45507 , p_accounting_coa_id => l_adr_accounting_coa_id
45508 , p_adr_code => 'AP_INVOICE_DIST'
45509 , p_adr_type_code => 'S'
45510 , p_component_type => l_component_type
45511 , p_component_code => l_component_code
45512 , p_component_type_code => l_component_type_code
45513 , p_component_appl_id => l_component_appl_id
45514 , p_amb_context_code => l_amb_context_code
45515 , p_side => 'NA'
45516 );
45517
45518
45519 --
45520 --
45521 END IF;
45522 --
45523 -- Bug 4922099
45524 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
45525 (NVL(l_enc_upg_option, 'N') = 'O')
45526 ) AND
45527 (l_bflow_method_code = 'PRIOR_ENTRY')
45528 )
45529 THEN
45530 IF
45531 --
45532 1 = 2
45533 --
45534 THEN
45535 xla_accounting_err_pkg.build_message
45536 (p_appli_s_name => 'XLA'
45540 ,p_token_2 => 'LINE_TYPE_NAME'
45537 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
45538 ,p_token_1 => 'LINE_NUMBER'
45539 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
45541 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
45542 l_component_type
45543 ,l_component_code
45544 ,l_component_type_code
45545 ,l_component_appl_id
45546 ,l_amb_context_code
45547 ,l_entity_code
45548 ,l_event_class_code
45549 )
45550 ,p_token_3 => 'OWNER'
45551 ,p_value_3 => xla_lookups_pkg.get_meaning(
45552 p_lookup_type => 'XLA_OWNER_TYPE'
45553 ,p_lookup_code => l_component_type_code
45554 )
45555 ,p_token_4 => 'PRODUCT_NAME'
45556 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
45557 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
45558 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
45559 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
45560 ,p_ae_header_id => NULL
45561 );
45562
45563 IF (C_LEVEL_ERROR>= g_log_level) THEN
45564 trace
45565 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
45566 ,p_level => C_LEVEL_ERROR
45567 ,p_module => l_log_module);
45568 END IF;
45569 END IF;
45570 END IF;
45571 --
45572 --
45573 ------------------------------------------------------------------------------------------------
45574 -- 4219869 Business Flow
45575 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
45576 -- Prior Entry. Currently, the following code is always generated.
45577 ------------------------------------------------------------------------------------------------
45578 XLA_AE_LINES_PKG.ValidateCurrentLine;
45579
45580 ------------------------------------------------------------------------------------
45581 -- 4219869 Business Flow
45582 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
45583 ------------------------------------------------------------------------------------
45584 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
45585
45586 ----------------------------------------------------------------------------------
45587 -- 4219869 Business Flow
45588 -- Update journal entry status -- Need to generate this within IF <condition>
45589 ----------------------------------------------------------------------------------
45590 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
45591 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
45592 ,p_balance_type_code => l_balance_type_code
45593 );
45594
45595 -------------------------------------------------------------------------------------------
45596 -- 4262811 - Generate the Accrual Reversal lines
45597 -------------------------------------------------------------------------------------------
45598 BEGIN
45599 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
45600 (g_array_event(p_event_id).array_value_num('header_index'));
45601 IF l_acc_rev_flag IS NULL THEN
45602 l_acc_rev_flag := 'N';
45603 END IF;
45604 EXCEPTION
45605 WHEN OTHERS THEN
45606 l_acc_rev_flag := 'N';
45607 END;
45608 --
45609 IF (l_acc_rev_flag = 'Y') THEN
45610
45611 -- 4645092 ------------------------------------------------------------------------------
45612 -- To allow MPA report to determine if it should generate report process
45613 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
45614 ------------------------------------------------------------------------------------------
45615
45616 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
45617 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
45618 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
45619 -- call ADRs
45620 -- Bug 4922099
45621 --
45622 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
45623 (NVL(l_actual_upg_option, 'N') = 'O') OR
45624 (NVL(l_enc_upg_option, 'N') = 'O')
45625 )
45626 THEN
45630
45627 NULL;
45628 --
45629 --
45631 l_ccid := AcctDerRule_7(
45632 p_application_id => p_application_id
45633 , p_ae_header_id => l_ae_header_id
45634 , p_source_11 => p_source_11
45635 , x_transaction_coa_id => l_adr_transaction_coa_id
45636 , x_accounting_coa_id => l_adr_accounting_coa_id
45637 , x_value_type_code => l_adr_value_type_code
45638 , p_side => 'NA'
45639 );
45640
45641 xla_ae_lines_pkg.set_ccid(
45642 p_code_combination_id => l_ccid
45643 , p_value_type_code => l_adr_value_type_code
45644 , p_transaction_coa_id => l_adr_transaction_coa_id
45645 , p_accounting_coa_id => l_adr_accounting_coa_id
45646 , p_adr_code => 'AP_INVOICE_DIST'
45647 , p_adr_type_code => 'S'
45648 , p_component_type => l_component_type
45649 , p_component_code => l_component_code
45650 , p_component_type_code => l_component_type_code
45651 , p_component_appl_id => l_component_appl_id
45652 , p_amb_context_code => l_amb_context_code
45653 , p_side => 'NA'
45654 );
45655
45656
45657 --
45658 --
45659 END IF;
45660
45661 --
45662 -- Update the line information that should be overwritten
45663 --
45664 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
45665 p_header_num => 1);
45666 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
45667
45668 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
45669
45670 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
45671 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
45672 END IF;
45673
45674 --
45675 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
45676 --
45677 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
45678 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
45679 ELSE
45680 ---------------------------------------------------------------------------------------------------
45681 -- 4262811a Switch Sign
45682 ---------------------------------------------------------------------------------------------------
45683 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
45684 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
45685 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
45686 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
45687 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
45688 -- 5132302
45689 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
45690 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
45691
45692 END IF;
45693
45694 -- 4955764
45695 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
45696 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
45697
45698
45699 XLA_AE_LINES_PKG.ValidateCurrentLine;
45700 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
45701
45702 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
45703 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
45704 ,p_balance_type_code => l_balance_type_code);
45705
45706 END IF;
45707
45708 -----------------------------------------------------------------------------------------
45709 -- 4262811 Multiperiod Accounting
45710 -----------------------------------------------------------------------------------------
45711 -- No MPA option is assigned.
45712
45713
45714 END IF;
45715 END IF;
45716 --
45717
45718 --
45719 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
45720 trace
45721 (p_msg => 'END of AcctLineType_73'
45722 ,p_level => C_LEVEL_PROCEDURE
45723 ,p_module => l_log_module);
45724 END IF;
45725 --
45726 EXCEPTION
45727 WHEN xla_exceptions_pkg.application_exception THEN
45728 RAISE;
45729 WHEN OTHERS THEN
45730 xla_exceptions_pkg.raise_message
45731 (p_location => 'XLA_00200_AAD_S_000006_BC_PKG.AcctLineType_73');
45732 END AcctLineType_73;
45733 --
45734
45735 ---------------------------------------
45736 --
45737 -- PRIVATE FUNCTION
45738 -- AcctLineType_74
45739 --
45740 ---------------------------------------
45741 PROCEDURE AcctLineType_74 (
45742 p_application_id IN NUMBER
45743 ,p_event_id IN NUMBER
45744 ,p_calculate_acctd_flag IN VARCHAR2
45745 ,p_calculate_g_l_flag IN VARCHAR2
45746 ,p_actual_flag IN OUT VARCHAR2
45747 ,p_balance_type_code OUT VARCHAR2
45751 , p_source_1 IN VARCHAR2
45748 ,p_gain_or_loss_ref OUT VARCHAR2
45749
45750 --Invoice Distribution Description
45752 --Invoice Distribution Account
45753 , p_source_11 IN NUMBER
45754 --Invoice Distribution Type
45755 , p_source_15 IN VARCHAR2
45756 , p_source_15_meaning IN VARCHAR2
45757 --Purchasing Encumbrance Option
45758 , p_source_17 IN VARCHAR2
45759 , p_source_17_meaning IN VARCHAR2
45760 --Accounting Reversal Indicator
45761 , p_source_19 IN VARCHAR2
45762 --Distribution Link Type
45763 , p_source_21 IN VARCHAR2
45764 --Allocation to Main Distribution Identifier
45765 , p_source_23 IN NUMBER
45766 --Invoice Identifier
45767 , p_source_24 IN NUMBER
45768 --Business Flow Accounts Payable Application Identifier
45769 , p_source_25 IN NUMBER
45770 --Business Flow Invoice Distribution Type
45771 , p_source_26 IN VARCHAR2
45772 --Business Flow Invoice Entity Code
45773 , p_source_27 IN VARCHAR2
45774 --Business Flow Invoice Distribution Identifier
45775 , p_source_28 IN NUMBER
45776 --Business Flow Invoice Identifier
45777 , p_source_29 IN NUMBER
45778 --Invoice Distribution Identifier
45779 , p_source_30 IN NUMBER
45780 --Payables Encumbrance Upgrade Credit Account
45781 , p_source_31 IN NUMBER
45782 --Payables Encumbrance Upgrade Credit Amount
45783 , p_source_32 IN NUMBER
45784 --Invoice Currency Code
45785 , p_source_33 IN VARCHAR2
45786 --Payables Encumbrance Upgrade Credit Base Amount
45787 , p_source_34 IN NUMBER
45788 --Payables Encumbrance Upgrade Debit Account
45789 , p_source_35 IN NUMBER
45790 --Payables Encumbrance Upgrade Debit Amount
45791 , p_source_36 IN NUMBER
45792 --Payables Encumbrance Upgrade Debit Base Amount
45793 , p_source_37 IN NUMBER
45794 --Payables Encumbrance Upgrade Option
45795 , p_source_38 IN VARCHAR2
45796 --Invoice Exchange Date
45797 , p_source_39 IN DATE
45798 --Invoice Exchange Rate
45799 , p_source_40 IN NUMBER
45800 --Invoice Exchange Rate Type
45801 , p_source_41 IN VARCHAR2
45802 --Deferred Accounting End Date
45803 , p_source_43 IN DATE
45804 --Deferred Accounting Option
45805 , p_source_44 IN VARCHAR2
45806 --Deferred Accounting Start Date
45807 , p_source_45 IN DATE
45808 --Override Accounted Amount Indicator
45809 , p_source_46 IN VARCHAR2
45810 , p_source_46_meaning IN VARCHAR2
45811 --Invoice Supplier Identifier
45812 , p_source_47 IN NUMBER
45813 --Invoice Supplier Site Identifier
45814 , p_source_48 IN NUMBER
45815 --Third Party Type
45816 , p_source_49 IN VARCHAR2
45817 --Parent Reversal Identifier
45818 , p_source_50 IN NUMBER
45819 --Invoice Distribution Tax Line Identifier
45820 , p_source_52 IN NUMBER
45821 --Invoice Distribution Tax Distribution Identifier from Tax
45822 , p_source_53 IN NUMBER
45823 --Invoice Distribution Summary Tax Line Identifier
45824 , p_source_54 IN NUMBER
45825 --Payables Upgrade Credit Encumbrance Type Identifier
45826 , p_source_55 IN NUMBER
45827 --Payables Upgrade Debit Encumbrance Type Identifier
45828 , p_source_56 IN NUMBER
45829 --Invoice Distribution Encumbrance Amount
45830 , p_source_65 IN NUMBER
45831 --Invoice Distribution Encumbrance Ledger Amount
45832 , p_source_66 IN NUMBER
45833 )
45834 IS
45835
45836 l_component_type VARCHAR2(80);
45837 l_component_code VARCHAR2(30);
45838 l_component_type_code VARCHAR2(1);
45839 l_component_appl_id INTEGER;
45840 l_amb_context_code VARCHAR2(30);
45841 l_entity_code VARCHAR2(30);
45842 l_event_class_code VARCHAR2(30);
45843 l_ae_header_id NUMBER;
45844 l_event_type_code VARCHAR2(30);
45845 l_line_definition_code VARCHAR2(30);
45846 l_line_definition_owner_code VARCHAR2(1);
45847 --
45848 -- adr variables
45849 l_segment VARCHAR2(30);
45850 l_ccid NUMBER;
45851 l_adr_transaction_coa_id NUMBER;
45852 l_adr_accounting_coa_id NUMBER;
45853 l_adr_flexfield_segment_code VARCHAR2(30);
45854 l_adr_flex_value_set_id NUMBER;
45855 l_adr_value_type_code VARCHAR2(30);
45856 l_adr_value_combination_id NUMBER;
45857 l_adr_value_segment_code VARCHAR2(30);
45858
45859 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
45860 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
45861 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
45862 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
45863
45864 -- 4262811 Variables ------------------------------------------------------------------------------------------
45865 l_entered_amt_idx NUMBER;
45866 l_accted_amt_idx NUMBER;
45867 l_acc_rev_flag VARCHAR2(1);
45868 l_accrual_line_num NUMBER;
45869 l_tmp_amt NUMBER;
45870 l_acc_rev_natural_side_code VARCHAR2(1);
45871
45872 l_num_entries NUMBER;
45876 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
45873 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
45874 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
45875 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
45877 l_recog_line_1 NUMBER;
45878 l_recog_line_2 NUMBER;
45879
45880 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
45881 l_bflow_applied_to_amt NUMBER; -- 5132302
45882 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
45883
45884 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
45885
45886 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
45887 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
45888
45889 ---------------------------------------------------------------------------------------------------------------
45890
45891
45892 --
45893 -- bulk performance
45894 --
45895 l_balance_type_code VARCHAR2(1);
45896 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
45897 l_log_module VARCHAR2(240);
45898
45899 --
45900 -- Upgrade strategy
45901 --
45902 l_actual_upg_option VARCHAR2(1);
45903 l_enc_upg_option VARCHAR2(1);
45904
45905 --
45906 BEGIN
45907 --
45908 IF g_log_enabled THEN
45909 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_74';
45910 END IF;
45911 --
45912 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
45913
45914 trace
45915 (p_msg => 'BEGIN of AcctLineType_74'
45916 ,p_level => C_LEVEL_PROCEDURE
45917 ,p_module => l_log_module);
45918
45919 END IF;
45920 --
45921 l_component_type := 'AMB_JLT';
45922 l_component_code := 'AP_TAX_INV_PRICE_VAR_DM_ENC_DR';
45923 l_component_type_code := 'S';
45924 l_component_appl_id := 200;
45925 l_amb_context_code := 'DEFAULT';
45926 l_entity_code := 'AP_INVOICES';
45927 l_event_class_code := 'DEBIT MEMOS';
45928 l_event_type_code := 'DEBIT MEMOS_ALL';
45929 l_line_definition_owner_code := 'S';
45930 l_line_definition_code := 'ENC_DM_ALL';
45931 --
45932 l_balance_type_code := 'E';
45933 l_segment := NULL;
45934 l_ccid := NULL;
45935 l_adr_transaction_coa_id := NULL;
45936 l_adr_accounting_coa_id := NULL;
45937 l_adr_flexfield_segment_code := NULL;
45938 l_adr_flex_value_set_id := NULL;
45939 l_adr_value_type_code := NULL;
45940 l_adr_value_combination_id := NULL;
45941 l_adr_value_segment_code := NULL;
45942
45943 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
45944 l_bflow_class_code := 'AP_INV_ENCUM'; -- 4219869 Business Flow
45945 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
45946 l_budgetary_control_flag := 'Y';
45947
45948 l_bflow_applied_to_amt_idx := NULL; -- 5132302
45949 l_bflow_applied_to_amt := NULL; -- 5132302
45950 l_entered_amt_idx := NULL; -- 4262811
45951 l_accted_amt_idx := NULL; -- 4262811
45952 l_acc_rev_flag := NULL; -- 4262811
45953 l_accrual_line_num := NULL; -- 4262811
45954 l_tmp_amt := NULL; -- 4262811
45955 --
45956
45957 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
45958 l_balance_type_code <> 'B' THEN
45959 IF NVL(p_source_15,'
45960 ') = 'TIPV' AND
45961 NVL(p_source_17,'
45962 ') = 'Y'
45963 THEN
45964
45965 --
45966 XLA_AE_LINES_PKG.SetNewLine;
45967
45968 p_balance_type_code := l_balance_type_code;
45969 -- set the flag so later we will know whether the gain loss line needs to be created
45970
45971 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
45972 p_actual_flag :='A';
45973 END IF;
45974
45975 --
45976 -- bulk performance
45977 --
45978 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
45979 p_header_num => 0); -- 4262811
45980 --
45981 -- set accounting line options
45982 --
45983 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
45984 p_natural_side_code => 'D'
45985 , p_gain_or_loss_flag => 'N'
45986 , p_gl_transfer_mode_code => 'S'
45987 , p_acct_entry_type_code => 'E'
45988 , p_switch_side_flag => 'Y'
45989 , p_merge_duplicate_code => 'N'
45990 );
45991 --
45992 l_acc_rev_natural_side_code := 'C'; -- 4262811
45993 --
45994 --
45995 -- set accounting line type info
45996 --
45997 xla_ae_lines_pkg.SetAcctLineType
45998 (p_component_type => l_component_type
45999 ,p_event_type_code => l_event_type_code
46000 ,p_line_definition_owner_code => l_line_definition_owner_code
46001 ,p_line_definition_code => l_line_definition_code
46002 ,p_accounting_line_code => l_component_code
46003 ,p_accounting_line_type_code => l_component_type_code
46004 ,p_accounting_line_appl_id => l_component_appl_id
46008 --
46005 ,p_amb_context_code => l_amb_context_code
46006 ,p_entity_code => l_entity_code
46007 ,p_event_class_code => l_event_class_code);
46009 -- set accounting class
46010 --
46011 xla_ae_lines_pkg.SetAcctClass(
46012 p_accounting_class_code => 'TIPV'
46013 , p_ae_header_id => l_ae_header_id
46014 );
46015
46016 --
46017 -- set rounding class
46018 --
46019 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
46020 'TIPV';
46021
46022 --
46023 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
46024 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
46025 --
46026 -- bulk performance
46027 --
46028 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
46029
46030 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
46031 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
46032
46033 -- 4955764
46034 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
46035 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
46036
46037 -- 4458381 Public Sector Enh
46038 XLA_AE_LINES_PKG.g_rec_lines.array_encumbrance_type_id(XLA_AE_LINES_PKG.g_LineNumber) := 1060;
46039 --
46040 -- set accounting attributes for the line type
46041 --
46042 l_entered_amt_idx := 23;
46043 l_accted_amt_idx := 28;
46044 l_bflow_applied_to_amt_idx := NULL; -- 5132302
46045 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
46046 l_rec_acct_attrs.array_char_value(1) := p_source_19;
46047 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
46048 l_rec_acct_attrs.array_num_value(2) :=
46049 xla_ae_sources_pkg.GetSystemSourceNum(
46050 p_source_code => 'XLA_EVENT_APPL_ID'
46051 , p_source_type_code => 'Y'
46052 , p_source_application_id => 602
46053 );
46054 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
46055 l_rec_acct_attrs.array_char_value(3) := p_source_21;
46056 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
46057 l_rec_acct_attrs.array_char_value(4) :=
46058 xla_ae_sources_pkg.GetSystemSourceChar(
46059 p_source_code => 'XLA_ENTITY_CODE'
46060 , p_source_type_code => 'Y'
46061 , p_source_application_id => 602
46062 );
46063 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
46064 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_23);
46065 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
46066 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_24);
46067 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
46068 l_rec_acct_attrs.array_num_value(7) := p_source_25;
46069 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
46070 l_rec_acct_attrs.array_char_value(8) := p_source_26;
46071 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
46072 l_rec_acct_attrs.array_char_value(9) := p_source_27;
46073 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
46074 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_28);
46075 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
46076 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_29);
46077 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
46078 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_30);
46079 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
46080 l_rec_acct_attrs.array_char_value(13) := p_source_21;
46081 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
46082 l_rec_acct_attrs.array_num_value(14) := p_source_31;
46083 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
46084 l_rec_acct_attrs.array_num_value(15) := p_source_32;
46085 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
46086 l_rec_acct_attrs.array_char_value(16) := p_source_33;
46087 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
46088 l_rec_acct_attrs.array_num_value(17) := p_source_34;
46089 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
46090 l_rec_acct_attrs.array_num_value(18) := p_source_35;
46091 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
46092 l_rec_acct_attrs.array_num_value(19) := p_source_36;
46093 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
46094 l_rec_acct_attrs.array_char_value(20) := p_source_33;
46095 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
46096 l_rec_acct_attrs.array_num_value(21) := p_source_37;
46097 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
46098 l_rec_acct_attrs.array_char_value(22) := p_source_38;
46099 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
46100 l_rec_acct_attrs.array_num_value(23) := p_source_65;
46101 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
46102 l_rec_acct_attrs.array_char_value(24) := p_source_33;
46103 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
46104 l_rec_acct_attrs.array_date_value(25) := p_source_39;
46108 l_rec_acct_attrs.array_char_value(27) := p_source_41;
46105 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
46106 l_rec_acct_attrs.array_num_value(26) := p_source_40;
46107 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
46109 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
46110 l_rec_acct_attrs.array_num_value(28) := p_source_66;
46111 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
46112 l_rec_acct_attrs.array_date_value(29) := p_source_43;
46113 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
46114 l_rec_acct_attrs.array_char_value(30) := p_source_44;
46115 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
46116 l_rec_acct_attrs.array_date_value(31) := p_source_45;
46117 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
46118 l_rec_acct_attrs.array_char_value(32) := p_source_46;
46119 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
46120 l_rec_acct_attrs.array_num_value(33) := p_source_47;
46121 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
46122 l_rec_acct_attrs.array_num_value(34) := p_source_48;
46123 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
46124 l_rec_acct_attrs.array_char_value(35) := p_source_49;
46125 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
46126 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_50);
46127 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
46128 l_rec_acct_attrs.array_char_value(37) := p_source_21;
46129 l_rec_acct_attrs.array_acct_attr_code(38) := 'TAX_LINE_REF_ID';
46130 l_rec_acct_attrs.array_num_value(38) := p_source_52;
46131 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_REC_NREC_DIST_REF_ID';
46132 l_rec_acct_attrs.array_num_value(39) := p_source_53;
46133 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_SUMMARY_LINE_REF_ID';
46134 l_rec_acct_attrs.array_num_value(40) := p_source_54;
46135 l_rec_acct_attrs.array_acct_attr_code(41) := 'UPG_CR_ENC_TYPE_ID';
46136 l_rec_acct_attrs.array_num_value(41) := p_source_55;
46137 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_DR_ENC_TYPE_ID';
46138 l_rec_acct_attrs.array_num_value(42) := p_source_56;
46139
46140 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
46141 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
46142
46143 ---------------------------------------------------------------------------------------------------------------
46144 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
46145 ---------------------------------------------------------------------------------------------------------------
46146 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
46147
46148 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
46149 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
46150
46151 IF xla_accounting_cache_pkg.GetValueChar
46152 (p_source_code => 'LEDGER_CATEGORY_CODE'
46153 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
46154 AND l_bflow_method_code = 'PRIOR_ENTRY'
46155 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
46156 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
46157 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
46158 )
46159 THEN
46160 xla_ae_lines_pkg.BflowUpgEntry
46161 (p_business_method_code => l_bflow_method_code
46162 ,p_business_class_code => l_bflow_class_code
46163 ,p_balance_type => l_balance_type_code);
46164 ELSE
46165 NULL;
46166 -- No business flow processing for business flow method of NONE.
46167 END IF;
46168
46169 --
46170 -- call analytical criteria
46171 --
46172
46173 --
46174 -- call description
46175 --
46176
46177 xla_ae_lines_pkg.SetLineDescription(
46178 p_ae_header_id => l_ae_header_id
46179 ,p_description => Description_2 (
46180 p_application_id => p_application_id
46181 , p_ae_header_id => l_ae_header_id
46182 , p_source_1 => p_source_1
46183 )
46184 );
46185
46186
46187 --
46188 -- call ADRs
46189 -- Bug 4922099
46190 --
46191 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
46192 (NVL(l_actual_upg_option, 'N') = 'O') OR
46193 (NVL(l_enc_upg_option, 'N') = 'O')
46194 )
46195 THEN
46196 NULL;
46197 --
46198 --
46199
46200 l_ccid := AcctDerRule_7(
46201 p_application_id => p_application_id
46202 , p_ae_header_id => l_ae_header_id
46203 , p_source_11 => p_source_11
46204 , x_transaction_coa_id => l_adr_transaction_coa_id
46205 , x_accounting_coa_id => l_adr_accounting_coa_id
46206 , x_value_type_code => l_adr_value_type_code
46207 , p_side => 'NA'
46208 );
46209
46210 xla_ae_lines_pkg.set_ccid(
46211 p_code_combination_id => l_ccid
46212 , p_value_type_code => l_adr_value_type_code
46213 , p_transaction_coa_id => l_adr_transaction_coa_id
46214 , p_accounting_coa_id => l_adr_accounting_coa_id
46215 , p_adr_code => 'AP_INVOICE_DIST'
46219 , p_component_type_code => l_component_type_code
46216 , p_adr_type_code => 'S'
46217 , p_component_type => l_component_type
46218 , p_component_code => l_component_code
46220 , p_component_appl_id => l_component_appl_id
46221 , p_amb_context_code => l_amb_context_code
46222 , p_side => 'NA'
46223 );
46224
46225
46226 --
46227 --
46228 END IF;
46229 --
46230 -- Bug 4922099
46231 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
46232 (NVL(l_enc_upg_option, 'N') = 'O')
46233 ) AND
46234 (l_bflow_method_code = 'PRIOR_ENTRY')
46235 )
46236 THEN
46237 IF
46238 --
46239 1 = 2
46240 --
46241 THEN
46242 xla_accounting_err_pkg.build_message
46243 (p_appli_s_name => 'XLA'
46244 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
46245 ,p_token_1 => 'LINE_NUMBER'
46246 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
46247 ,p_token_2 => 'LINE_TYPE_NAME'
46248 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
46249 l_component_type
46250 ,l_component_code
46251 ,l_component_type_code
46252 ,l_component_appl_id
46253 ,l_amb_context_code
46254 ,l_entity_code
46255 ,l_event_class_code
46256 )
46257 ,p_token_3 => 'OWNER'
46258 ,p_value_3 => xla_lookups_pkg.get_meaning(
46259 p_lookup_type => 'XLA_OWNER_TYPE'
46260 ,p_lookup_code => l_component_type_code
46261 )
46262 ,p_token_4 => 'PRODUCT_NAME'
46263 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
46264 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
46265 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
46266 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
46267 ,p_ae_header_id => NULL
46268 );
46269
46270 IF (C_LEVEL_ERROR>= g_log_level) THEN
46271 trace
46272 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
46273 ,p_level => C_LEVEL_ERROR
46274 ,p_module => l_log_module);
46275 END IF;
46276 END IF;
46277 END IF;
46278 --
46279 --
46280 ------------------------------------------------------------------------------------------------
46281 -- 4219869 Business Flow
46282 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
46283 -- Prior Entry. Currently, the following code is always generated.
46284 ------------------------------------------------------------------------------------------------
46285 XLA_AE_LINES_PKG.ValidateCurrentLine;
46286
46287 ------------------------------------------------------------------------------------
46288 -- 4219869 Business Flow
46289 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
46290 ------------------------------------------------------------------------------------
46291 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
46292
46293 ----------------------------------------------------------------------------------
46294 -- 4219869 Business Flow
46295 -- Update journal entry status -- Need to generate this within IF <condition>
46296 ----------------------------------------------------------------------------------
46297 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
46298 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
46299 ,p_balance_type_code => l_balance_type_code
46300 );
46301
46302 -------------------------------------------------------------------------------------------
46303 -- 4262811 - Generate the Accrual Reversal lines
46304 -------------------------------------------------------------------------------------------
46305 BEGIN
46306 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
46307 (g_array_event(p_event_id).array_value_num('header_index'));
46308 IF l_acc_rev_flag IS NULL THEN
46309 l_acc_rev_flag := 'N';
46310 END IF;
46314 END;
46311 EXCEPTION
46312 WHEN OTHERS THEN
46313 l_acc_rev_flag := 'N';
46315 --
46316 IF (l_acc_rev_flag = 'Y') THEN
46317
46318 -- 4645092 ------------------------------------------------------------------------------
46319 -- To allow MPA report to determine if it should generate report process
46320 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
46321 ------------------------------------------------------------------------------------------
46322
46323 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
46324 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
46325 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
46326 -- call ADRs
46327 -- Bug 4922099
46328 --
46329 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
46330 (NVL(l_actual_upg_option, 'N') = 'O') OR
46331 (NVL(l_enc_upg_option, 'N') = 'O')
46332 )
46333 THEN
46334 NULL;
46335 --
46336 --
46337
46338 l_ccid := AcctDerRule_7(
46339 p_application_id => p_application_id
46340 , p_ae_header_id => l_ae_header_id
46341 , p_source_11 => p_source_11
46342 , x_transaction_coa_id => l_adr_transaction_coa_id
46343 , x_accounting_coa_id => l_adr_accounting_coa_id
46344 , x_value_type_code => l_adr_value_type_code
46345 , p_side => 'NA'
46346 );
46347
46348 xla_ae_lines_pkg.set_ccid(
46349 p_code_combination_id => l_ccid
46350 , p_value_type_code => l_adr_value_type_code
46351 , p_transaction_coa_id => l_adr_transaction_coa_id
46352 , p_accounting_coa_id => l_adr_accounting_coa_id
46353 , p_adr_code => 'AP_INVOICE_DIST'
46354 , p_adr_type_code => 'S'
46355 , p_component_type => l_component_type
46356 , p_component_code => l_component_code
46357 , p_component_type_code => l_component_type_code
46358 , p_component_appl_id => l_component_appl_id
46359 , p_amb_context_code => l_amb_context_code
46360 , p_side => 'NA'
46361 );
46362
46363
46364 --
46365 --
46366 END IF;
46367
46368 --
46369 -- Update the line information that should be overwritten
46370 --
46371 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
46372 p_header_num => 1);
46373 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
46374
46375 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
46376
46377 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
46378 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
46379 END IF;
46380
46381 --
46382 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
46383 --
46384 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
46385 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
46386 ELSE
46387 ---------------------------------------------------------------------------------------------------
46388 -- 4262811a Switch Sign
46389 ---------------------------------------------------------------------------------------------------
46390 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
46391 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
46392 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
46393 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
46394 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
46395 -- 5132302
46396 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
46397 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
46398
46399 END IF;
46400
46401 -- 4955764
46402 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
46403 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
46404
46405
46406 XLA_AE_LINES_PKG.ValidateCurrentLine;
46407 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
46408
46409 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
46410 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
46411 ,p_balance_type_code => l_balance_type_code);
46412
46413 END IF;
46414
46415 -----------------------------------------------------------------------------------------
46416 -- 4262811 Multiperiod Accounting
46417 -----------------------------------------------------------------------------------------
46418 -- No MPA option is assigned.
46419
46420
46421 END IF;
46422 END IF;
46423 --
46424
46425 --
46426 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
46430 ,p_module => l_log_module);
46427 trace
46428 (p_msg => 'END of AcctLineType_74'
46429 ,p_level => C_LEVEL_PROCEDURE
46431 END IF;
46432 --
46433 EXCEPTION
46434 WHEN xla_exceptions_pkg.application_exception THEN
46435 RAISE;
46436 WHEN OTHERS THEN
46437 xla_exceptions_pkg.raise_message
46438 (p_location => 'XLA_00200_AAD_S_000006_BC_PKG.AcctLineType_74');
46439 END AcctLineType_74;
46440 --
46441
46442 ---------------------------------------
46443 --
46444 -- PRIVATE FUNCTION
46445 -- AcctLineType_75
46446 --
46447 ---------------------------------------
46448 PROCEDURE AcctLineType_75 (
46449 p_application_id IN NUMBER
46450 ,p_event_id IN NUMBER
46451 ,p_calculate_acctd_flag IN VARCHAR2
46452 ,p_calculate_g_l_flag IN VARCHAR2
46453 ,p_actual_flag IN OUT VARCHAR2
46454 ,p_balance_type_code OUT VARCHAR2
46455 ,p_gain_or_loss_ref OUT VARCHAR2
46456
46457 --Invoice Distribution Description
46458 , p_source_1 IN VARCHAR2
46459 --Invoice Distribution Account
46460 , p_source_11 IN NUMBER
46461 --Invoice Distribution Type
46462 , p_source_15 IN VARCHAR2
46463 , p_source_15_meaning IN VARCHAR2
46464 --Purchasing Encumbrance Option
46465 , p_source_17 IN VARCHAR2
46466 , p_source_17_meaning IN VARCHAR2
46467 --Accounting Reversal Indicator
46468 , p_source_19 IN VARCHAR2
46469 --Distribution Link Type
46470 , p_source_21 IN VARCHAR2
46471 --Allocation to Main Distribution Identifier
46472 , p_source_23 IN NUMBER
46473 --Invoice Identifier
46474 , p_source_24 IN NUMBER
46475 --Business Flow Accounts Payable Application Identifier
46476 , p_source_25 IN NUMBER
46477 --Business Flow Invoice Distribution Type
46478 , p_source_26 IN VARCHAR2
46479 --Business Flow Invoice Entity Code
46480 , p_source_27 IN VARCHAR2
46481 --Business Flow Invoice Distribution Identifier
46482 , p_source_28 IN NUMBER
46483 --Business Flow Invoice Identifier
46484 , p_source_29 IN NUMBER
46485 --Invoice Distribution Identifier
46486 , p_source_30 IN NUMBER
46487 --Payables Encumbrance Upgrade Credit Account
46488 , p_source_31 IN NUMBER
46489 --Payables Encumbrance Upgrade Credit Amount
46490 , p_source_32 IN NUMBER
46491 --Invoice Currency Code
46492 , p_source_33 IN VARCHAR2
46493 --Payables Encumbrance Upgrade Credit Base Amount
46494 , p_source_34 IN NUMBER
46495 --Payables Encumbrance Upgrade Debit Account
46496 , p_source_35 IN NUMBER
46497 --Payables Encumbrance Upgrade Debit Amount
46498 , p_source_36 IN NUMBER
46499 --Payables Encumbrance Upgrade Debit Base Amount
46500 , p_source_37 IN NUMBER
46501 --Payables Encumbrance Upgrade Option
46502 , p_source_38 IN VARCHAR2
46503 --Invoice Exchange Date
46504 , p_source_39 IN DATE
46505 --Invoice Exchange Rate
46506 , p_source_40 IN NUMBER
46507 --Invoice Exchange Rate Type
46508 , p_source_41 IN VARCHAR2
46509 --Deferred Accounting End Date
46510 , p_source_43 IN DATE
46511 --Deferred Accounting Option
46512 , p_source_44 IN VARCHAR2
46513 --Deferred Accounting Start Date
46514 , p_source_45 IN DATE
46515 --Override Accounted Amount Indicator
46516 , p_source_46 IN VARCHAR2
46517 , p_source_46_meaning IN VARCHAR2
46518 --Invoice Supplier Identifier
46519 , p_source_47 IN NUMBER
46520 --Invoice Supplier Site Identifier
46521 , p_source_48 IN NUMBER
46522 --Third Party Type
46523 , p_source_49 IN VARCHAR2
46524 --Parent Reversal Identifier
46525 , p_source_50 IN NUMBER
46526 --Invoice Distribution Statistical Amount
46527 , p_source_51 IN NUMBER
46528 --Invoice Distribution Tax Line Identifier
46529 , p_source_52 IN NUMBER
46530 --Invoice Distribution Tax Distribution Identifier from Tax
46531 , p_source_53 IN NUMBER
46532 --Invoice Distribution Summary Tax Line Identifier
46533 , p_source_54 IN NUMBER
46534 --Payables Upgrade Credit Encumbrance Type Identifier
46535 , p_source_55 IN NUMBER
46536 --Payables Upgrade Debit Encumbrance Type Identifier
46537 , p_source_56 IN NUMBER
46538 --Invoice Distribution Encumbrance Amount
46539 , p_source_65 IN NUMBER
46540 --Invoice Distribution Encumbrance Ledger Amount
46541 , p_source_66 IN NUMBER
46542 )
46543 IS
46544
46545 l_component_type VARCHAR2(80);
46546 l_component_code VARCHAR2(30);
46547 l_component_type_code VARCHAR2(1);
46548 l_component_appl_id INTEGER;
46549 l_amb_context_code VARCHAR2(30);
46550 l_entity_code VARCHAR2(30);
46551 l_event_class_code VARCHAR2(30);
46552 l_ae_header_id NUMBER;
46553 l_event_type_code VARCHAR2(30);
46554 l_line_definition_code VARCHAR2(30);
46555 l_line_definition_owner_code VARCHAR2(1);
46556 --
46557 -- adr variables
46558 l_segment VARCHAR2(30);
46559 l_ccid NUMBER;
46560 l_adr_transaction_coa_id NUMBER;
46564 l_adr_value_type_code VARCHAR2(30);
46561 l_adr_accounting_coa_id NUMBER;
46562 l_adr_flexfield_segment_code VARCHAR2(30);
46563 l_adr_flex_value_set_id NUMBER;
46565 l_adr_value_combination_id NUMBER;
46566 l_adr_value_segment_code VARCHAR2(30);
46567
46568 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
46569 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
46570 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
46571 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
46572
46573 -- 4262811 Variables ------------------------------------------------------------------------------------------
46574 l_entered_amt_idx NUMBER;
46575 l_accted_amt_idx NUMBER;
46576 l_acc_rev_flag VARCHAR2(1);
46577 l_accrual_line_num NUMBER;
46578 l_tmp_amt NUMBER;
46579 l_acc_rev_natural_side_code VARCHAR2(1);
46580
46581 l_num_entries NUMBER;
46582 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
46583 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
46584 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
46585 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
46586 l_recog_line_1 NUMBER;
46587 l_recog_line_2 NUMBER;
46588
46589 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
46590 l_bflow_applied_to_amt NUMBER; -- 5132302
46591 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
46592
46593 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
46594
46595 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
46596 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
46597
46598 ---------------------------------------------------------------------------------------------------------------
46599
46600
46601 --
46602 -- bulk performance
46603 --
46604 l_balance_type_code VARCHAR2(1);
46605 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
46606 l_log_module VARCHAR2(240);
46607
46608 --
46609 -- Upgrade strategy
46610 --
46611 l_actual_upg_option VARCHAR2(1);
46612 l_enc_upg_option VARCHAR2(1);
46613
46614 --
46615 BEGIN
46616 --
46617 IF g_log_enabled THEN
46618 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_75';
46619 END IF;
46620 --
46621 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
46622
46623 trace
46624 (p_msg => 'BEGIN of AcctLineType_75'
46625 ,p_level => C_LEVEL_PROCEDURE
46626 ,p_module => l_log_module);
46627
46628 END IF;
46629 --
46630 l_component_type := 'AMB_JLT';
46631 l_component_code := 'AP_TAX_INV_PRICE_VAR_PP_ENC_DR';
46632 l_component_type_code := 'S';
46633 l_component_appl_id := 200;
46634 l_amb_context_code := 'DEFAULT';
46635 l_entity_code := 'AP_INVOICES';
46636 l_event_class_code := 'PREPAYMENTS';
46637 l_event_type_code := 'PREPAYMENTS_ALL';
46638 l_line_definition_owner_code := 'S';
46639 l_line_definition_code := 'ENC_PREPAY_ALL';
46640 --
46641 l_balance_type_code := 'E';
46642 l_segment := NULL;
46643 l_ccid := NULL;
46644 l_adr_transaction_coa_id := NULL;
46645 l_adr_accounting_coa_id := NULL;
46646 l_adr_flexfield_segment_code := NULL;
46647 l_adr_flex_value_set_id := NULL;
46648 l_adr_value_type_code := NULL;
46649 l_adr_value_combination_id := NULL;
46650 l_adr_value_segment_code := NULL;
46651
46652 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
46653 l_bflow_class_code := 'AP_INV_ENCUM'; -- 4219869 Business Flow
46654 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
46655 l_budgetary_control_flag := 'Y';
46656
46657 l_bflow_applied_to_amt_idx := NULL; -- 5132302
46658 l_bflow_applied_to_amt := NULL; -- 5132302
46659 l_entered_amt_idx := NULL; -- 4262811
46660 l_accted_amt_idx := NULL; -- 4262811
46661 l_acc_rev_flag := NULL; -- 4262811
46662 l_accrual_line_num := NULL; -- 4262811
46663 l_tmp_amt := NULL; -- 4262811
46664 --
46665
46666 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
46667 l_balance_type_code <> 'B' THEN
46668 IF NVL(p_source_15,'
46669 ') = 'TIPV' AND
46670 NVL(p_source_17,'
46671 ') = 'Y'
46672 THEN
46673
46674 --
46675 XLA_AE_LINES_PKG.SetNewLine;
46676
46677 p_balance_type_code := l_balance_type_code;
46678 -- set the flag so later we will know whether the gain loss line needs to be created
46679
46680 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
46681 p_actual_flag :='A';
46682 END IF;
46683
46684 --
46685 -- bulk performance
46686 --
46687 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
46688 p_header_num => 0); -- 4262811
46689 --
46690 -- set accounting line options
46691 --
46692 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
46696 , p_acct_entry_type_code => 'E'
46693 p_natural_side_code => 'D'
46694 , p_gain_or_loss_flag => 'N'
46695 , p_gl_transfer_mode_code => 'S'
46697 , p_switch_side_flag => 'Y'
46698 , p_merge_duplicate_code => 'N'
46699 );
46700 --
46701 l_acc_rev_natural_side_code := 'C'; -- 4262811
46702 --
46703 --
46704 -- set accounting line type info
46705 --
46706 xla_ae_lines_pkg.SetAcctLineType
46707 (p_component_type => l_component_type
46708 ,p_event_type_code => l_event_type_code
46709 ,p_line_definition_owner_code => l_line_definition_owner_code
46710 ,p_line_definition_code => l_line_definition_code
46711 ,p_accounting_line_code => l_component_code
46712 ,p_accounting_line_type_code => l_component_type_code
46713 ,p_accounting_line_appl_id => l_component_appl_id
46714 ,p_amb_context_code => l_amb_context_code
46715 ,p_entity_code => l_entity_code
46716 ,p_event_class_code => l_event_class_code);
46717 --
46718 -- set accounting class
46719 --
46720 xla_ae_lines_pkg.SetAcctClass(
46721 p_accounting_class_code => 'TIPV'
46722 , p_ae_header_id => l_ae_header_id
46723 );
46724
46725 --
46726 -- set rounding class
46727 --
46728 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
46729 'TIPV';
46730
46731 --
46732 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
46733 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
46734 --
46735 -- bulk performance
46736 --
46737 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
46738
46739 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
46740 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
46741
46742 -- 4955764
46743 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
46744 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
46745
46746 -- 4458381 Public Sector Enh
46747 XLA_AE_LINES_PKG.g_rec_lines.array_encumbrance_type_id(XLA_AE_LINES_PKG.g_LineNumber) := 1060;
46748 --
46749 -- set accounting attributes for the line type
46750 --
46751 l_entered_amt_idx := 23;
46752 l_accted_amt_idx := 28;
46753 l_bflow_applied_to_amt_idx := NULL; -- 5132302
46754 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
46755 l_rec_acct_attrs.array_char_value(1) := p_source_19;
46756 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
46757 l_rec_acct_attrs.array_num_value(2) :=
46758 xla_ae_sources_pkg.GetSystemSourceNum(
46759 p_source_code => 'XLA_EVENT_APPL_ID'
46760 , p_source_type_code => 'Y'
46761 , p_source_application_id => 602
46762 );
46763 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
46764 l_rec_acct_attrs.array_char_value(3) := p_source_21;
46765 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
46766 l_rec_acct_attrs.array_char_value(4) :=
46767 xla_ae_sources_pkg.GetSystemSourceChar(
46768 p_source_code => 'XLA_ENTITY_CODE'
46769 , p_source_type_code => 'Y'
46770 , p_source_application_id => 602
46771 );
46772 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
46773 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_23);
46774 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
46775 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_24);
46776 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
46777 l_rec_acct_attrs.array_num_value(7) := p_source_25;
46778 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
46779 l_rec_acct_attrs.array_char_value(8) := p_source_26;
46780 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
46781 l_rec_acct_attrs.array_char_value(9) := p_source_27;
46782 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
46783 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_28);
46784 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
46785 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_29);
46786 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
46787 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_30);
46788 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
46789 l_rec_acct_attrs.array_char_value(13) := p_source_21;
46790 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
46791 l_rec_acct_attrs.array_num_value(14) := p_source_31;
46792 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
46793 l_rec_acct_attrs.array_num_value(15) := p_source_32;
46794 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
46795 l_rec_acct_attrs.array_char_value(16) := p_source_33;
46796 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
46797 l_rec_acct_attrs.array_num_value(17) := p_source_34;
46798 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
46802 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
46799 l_rec_acct_attrs.array_num_value(18) := p_source_35;
46800 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
46801 l_rec_acct_attrs.array_num_value(19) := p_source_36;
46803 l_rec_acct_attrs.array_char_value(20) := p_source_33;
46804 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
46805 l_rec_acct_attrs.array_num_value(21) := p_source_37;
46806 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
46807 l_rec_acct_attrs.array_char_value(22) := p_source_38;
46808 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
46809 l_rec_acct_attrs.array_num_value(23) := p_source_65;
46810 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
46811 l_rec_acct_attrs.array_char_value(24) := p_source_33;
46812 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
46813 l_rec_acct_attrs.array_date_value(25) := p_source_39;
46814 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
46815 l_rec_acct_attrs.array_num_value(26) := p_source_40;
46816 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
46817 l_rec_acct_attrs.array_char_value(27) := p_source_41;
46818 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
46819 l_rec_acct_attrs.array_num_value(28) := p_source_66;
46820 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
46821 l_rec_acct_attrs.array_date_value(29) := p_source_43;
46822 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
46823 l_rec_acct_attrs.array_char_value(30) := p_source_44;
46824 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
46825 l_rec_acct_attrs.array_date_value(31) := p_source_45;
46826 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
46827 l_rec_acct_attrs.array_char_value(32) := p_source_46;
46828 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
46829 l_rec_acct_attrs.array_num_value(33) := p_source_47;
46830 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
46831 l_rec_acct_attrs.array_num_value(34) := p_source_48;
46832 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
46833 l_rec_acct_attrs.array_char_value(35) := p_source_49;
46834 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
46835 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_50);
46836 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
46837 l_rec_acct_attrs.array_char_value(37) := p_source_21;
46838 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
46839 l_rec_acct_attrs.array_num_value(38) := p_source_51;
46840 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
46841 l_rec_acct_attrs.array_num_value(39) := p_source_52;
46842 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
46843 l_rec_acct_attrs.array_num_value(40) := p_source_53;
46844 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
46845 l_rec_acct_attrs.array_num_value(41) := p_source_54;
46846 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
46847 l_rec_acct_attrs.array_num_value(42) := p_source_55;
46848 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
46849 l_rec_acct_attrs.array_num_value(43) := p_source_56;
46850
46851 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
46852 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
46853
46854 ---------------------------------------------------------------------------------------------------------------
46855 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
46856 ---------------------------------------------------------------------------------------------------------------
46857 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
46858
46859 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
46860 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
46861
46862 IF xla_accounting_cache_pkg.GetValueChar
46863 (p_source_code => 'LEDGER_CATEGORY_CODE'
46864 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
46865 AND l_bflow_method_code = 'PRIOR_ENTRY'
46866 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
46867 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
46868 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
46869 )
46870 THEN
46871 xla_ae_lines_pkg.BflowUpgEntry
46872 (p_business_method_code => l_bflow_method_code
46873 ,p_business_class_code => l_bflow_class_code
46874 ,p_balance_type => l_balance_type_code);
46875 ELSE
46876 NULL;
46877 -- No business flow processing for business flow method of NONE.
46878 END IF;
46879
46880 --
46881 -- call analytical criteria
46882 --
46883
46884 --
46885 -- call description
46886 --
46887
46888 xla_ae_lines_pkg.SetLineDescription(
46889 p_ae_header_id => l_ae_header_id
46890 ,p_description => Description_2 (
46891 p_application_id => p_application_id
46892 , p_ae_header_id => l_ae_header_id
46893 , p_source_1 => p_source_1
46894 )
46895 );
46896
46897
46898 --
46899 -- call ADRs
46903 (NVL(l_actual_upg_option, 'N') = 'O') OR
46900 -- Bug 4922099
46901 --
46902 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
46904 (NVL(l_enc_upg_option, 'N') = 'O')
46905 )
46906 THEN
46907 NULL;
46908 --
46909 --
46910
46911 l_ccid := AcctDerRule_7(
46912 p_application_id => p_application_id
46913 , p_ae_header_id => l_ae_header_id
46914 , p_source_11 => p_source_11
46915 , x_transaction_coa_id => l_adr_transaction_coa_id
46916 , x_accounting_coa_id => l_adr_accounting_coa_id
46917 , x_value_type_code => l_adr_value_type_code
46918 , p_side => 'NA'
46919 );
46920
46921 xla_ae_lines_pkg.set_ccid(
46922 p_code_combination_id => l_ccid
46923 , p_value_type_code => l_adr_value_type_code
46924 , p_transaction_coa_id => l_adr_transaction_coa_id
46925 , p_accounting_coa_id => l_adr_accounting_coa_id
46926 , p_adr_code => 'AP_INVOICE_DIST'
46927 , p_adr_type_code => 'S'
46928 , p_component_type => l_component_type
46929 , p_component_code => l_component_code
46930 , p_component_type_code => l_component_type_code
46931 , p_component_appl_id => l_component_appl_id
46932 , p_amb_context_code => l_amb_context_code
46933 , p_side => 'NA'
46934 );
46935
46936
46937 --
46938 --
46939 END IF;
46940 --
46941 -- Bug 4922099
46942 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
46943 (NVL(l_enc_upg_option, 'N') = 'O')
46944 ) AND
46945 (l_bflow_method_code = 'PRIOR_ENTRY')
46946 )
46947 THEN
46948 IF
46949 --
46950 1 = 2
46951 --
46952 THEN
46953 xla_accounting_err_pkg.build_message
46954 (p_appli_s_name => 'XLA'
46955 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
46956 ,p_token_1 => 'LINE_NUMBER'
46957 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
46958 ,p_token_2 => 'LINE_TYPE_NAME'
46959 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
46960 l_component_type
46961 ,l_component_code
46962 ,l_component_type_code
46963 ,l_component_appl_id
46964 ,l_amb_context_code
46965 ,l_entity_code
46966 ,l_event_class_code
46967 )
46968 ,p_token_3 => 'OWNER'
46969 ,p_value_3 => xla_lookups_pkg.get_meaning(
46970 p_lookup_type => 'XLA_OWNER_TYPE'
46971 ,p_lookup_code => l_component_type_code
46972 )
46973 ,p_token_4 => 'PRODUCT_NAME'
46974 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
46975 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
46976 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
46977 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
46978 ,p_ae_header_id => NULL
46979 );
46980
46981 IF (C_LEVEL_ERROR>= g_log_level) THEN
46982 trace
46983 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
46984 ,p_level => C_LEVEL_ERROR
46985 ,p_module => l_log_module);
46986 END IF;
46987 END IF;
46988 END IF;
46989 --
46990 --
46991 ------------------------------------------------------------------------------------------------
46992 -- 4219869 Business Flow
46993 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
46994 -- Prior Entry. Currently, the following code is always generated.
46995 ------------------------------------------------------------------------------------------------
46996 XLA_AE_LINES_PKG.ValidateCurrentLine;
46997
46998 ------------------------------------------------------------------------------------
46999 -- 4219869 Business Flow
47000 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
47001 ------------------------------------------------------------------------------------
47005 -- 4219869 Business Flow
47002 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
47003
47004 ----------------------------------------------------------------------------------
47006 -- Update journal entry status -- Need to generate this within IF <condition>
47007 ----------------------------------------------------------------------------------
47008 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
47009 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
47010 ,p_balance_type_code => l_balance_type_code
47011 );
47012
47013 -------------------------------------------------------------------------------------------
47014 -- 4262811 - Generate the Accrual Reversal lines
47015 -------------------------------------------------------------------------------------------
47016 BEGIN
47017 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
47018 (g_array_event(p_event_id).array_value_num('header_index'));
47019 IF l_acc_rev_flag IS NULL THEN
47020 l_acc_rev_flag := 'N';
47021 END IF;
47022 EXCEPTION
47023 WHEN OTHERS THEN
47024 l_acc_rev_flag := 'N';
47025 END;
47026 --
47027 IF (l_acc_rev_flag = 'Y') THEN
47028
47029 -- 4645092 ------------------------------------------------------------------------------
47030 -- To allow MPA report to determine if it should generate report process
47031 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
47032 ------------------------------------------------------------------------------------------
47033
47034 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
47035 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
47036 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
47037 -- call ADRs
47038 -- Bug 4922099
47039 --
47040 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
47041 (NVL(l_actual_upg_option, 'N') = 'O') OR
47042 (NVL(l_enc_upg_option, 'N') = 'O')
47043 )
47044 THEN
47045 NULL;
47046 --
47047 --
47048
47049 l_ccid := AcctDerRule_7(
47050 p_application_id => p_application_id
47051 , p_ae_header_id => l_ae_header_id
47052 , p_source_11 => p_source_11
47053 , x_transaction_coa_id => l_adr_transaction_coa_id
47054 , x_accounting_coa_id => l_adr_accounting_coa_id
47055 , x_value_type_code => l_adr_value_type_code
47056 , p_side => 'NA'
47057 );
47058
47059 xla_ae_lines_pkg.set_ccid(
47060 p_code_combination_id => l_ccid
47061 , p_value_type_code => l_adr_value_type_code
47062 , p_transaction_coa_id => l_adr_transaction_coa_id
47063 , p_accounting_coa_id => l_adr_accounting_coa_id
47064 , p_adr_code => 'AP_INVOICE_DIST'
47065 , p_adr_type_code => 'S'
47066 , p_component_type => l_component_type
47067 , p_component_code => l_component_code
47068 , p_component_type_code => l_component_type_code
47069 , p_component_appl_id => l_component_appl_id
47070 , p_amb_context_code => l_amb_context_code
47071 , p_side => 'NA'
47072 );
47073
47074
47075 --
47076 --
47077 END IF;
47078
47079 --
47080 -- Update the line information that should be overwritten
47081 --
47082 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
47083 p_header_num => 1);
47084 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
47085
47086 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
47087
47088 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
47089 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
47090 END IF;
47091
47092 --
47093 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
47094 --
47095 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
47096 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
47097 ELSE
47098 ---------------------------------------------------------------------------------------------------
47099 -- 4262811a Switch Sign
47100 ---------------------------------------------------------------------------------------------------
47101 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
47102 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
47103 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
47104 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
47105 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
47106 -- 5132302
47107 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
47108 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
47112 -- 4955764
47109
47110 END IF;
47111
47113 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
47114 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
47115
47116
47117 XLA_AE_LINES_PKG.ValidateCurrentLine;
47118 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
47119
47120 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
47121 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
47122 ,p_balance_type_code => l_balance_type_code);
47123
47124 END IF;
47125
47126 -----------------------------------------------------------------------------------------
47127 -- 4262811 Multiperiod Accounting
47128 -----------------------------------------------------------------------------------------
47129 -- No MPA option is assigned.
47130
47131
47132 END IF;
47133 END IF;
47134 --
47135
47136 --
47137 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
47138 trace
47139 (p_msg => 'END of AcctLineType_75'
47140 ,p_level => C_LEVEL_PROCEDURE
47141 ,p_module => l_log_module);
47142 END IF;
47143 --
47144 EXCEPTION
47145 WHEN xla_exceptions_pkg.application_exception THEN
47146 RAISE;
47147 WHEN OTHERS THEN
47148 xla_exceptions_pkg.raise_message
47149 (p_location => 'XLA_00200_AAD_S_000006_BC_PKG.AcctLineType_75');
47150 END AcctLineType_75;
47151 --
47152
47153 ---------------------------------------
47154 --
47155 -- PRIVATE FUNCTION
47156 -- AcctLineType_76
47157 --
47158 ---------------------------------------
47159 PROCEDURE AcctLineType_76 (
47160 p_application_id IN NUMBER
47161 ,p_event_id IN NUMBER
47162 ,p_calculate_acctd_flag IN VARCHAR2
47163 ,p_calculate_g_l_flag IN VARCHAR2
47164 ,p_actual_flag IN OUT VARCHAR2
47165 ,p_balance_type_code OUT VARCHAR2
47166 ,p_gain_or_loss_ref OUT VARCHAR2
47167
47168 --Invoice Distribution Description
47169 , p_source_1 IN VARCHAR2
47170 --Invoice Distribution Account
47171 , p_source_11 IN NUMBER
47172 --Invoice Distribution Type
47173 , p_source_15 IN VARCHAR2
47174 , p_source_15_meaning IN VARCHAR2
47175 --Purchasing Encumbrance Option
47176 , p_source_17 IN VARCHAR2
47177 , p_source_17_meaning IN VARCHAR2
47178 --Accounting Reversal Indicator
47179 , p_source_19 IN VARCHAR2
47180 --Distribution Link Type
47181 , p_source_21 IN VARCHAR2
47182 --Allocation to Main Distribution Identifier
47183 , p_source_23 IN NUMBER
47184 --Invoice Identifier
47185 , p_source_24 IN NUMBER
47186 --Business Flow Accounts Payable Application Identifier
47187 , p_source_25 IN NUMBER
47188 --Business Flow Invoice Distribution Type
47189 , p_source_26 IN VARCHAR2
47190 --Business Flow Invoice Entity Code
47191 , p_source_27 IN VARCHAR2
47192 --Business Flow Invoice Distribution Identifier
47193 , p_source_28 IN NUMBER
47194 --Business Flow Invoice Identifier
47195 , p_source_29 IN NUMBER
47196 --Invoice Distribution Identifier
47197 , p_source_30 IN NUMBER
47198 --Payables Encumbrance Upgrade Credit Account
47199 , p_source_31 IN NUMBER
47200 --Payables Encumbrance Upgrade Credit Amount
47201 , p_source_32 IN NUMBER
47202 --Invoice Currency Code
47203 , p_source_33 IN VARCHAR2
47204 --Payables Encumbrance Upgrade Credit Base Amount
47205 , p_source_34 IN NUMBER
47206 --Payables Encumbrance Upgrade Debit Account
47207 , p_source_35 IN NUMBER
47208 --Payables Encumbrance Upgrade Debit Amount
47209 , p_source_36 IN NUMBER
47210 --Payables Encumbrance Upgrade Debit Base Amount
47211 , p_source_37 IN NUMBER
47212 --Payables Encumbrance Upgrade Option
47213 , p_source_38 IN VARCHAR2
47214 --Invoice Exchange Date
47215 , p_source_39 IN DATE
47216 --Invoice Exchange Rate
47217 , p_source_40 IN NUMBER
47218 --Invoice Exchange Rate Type
47219 , p_source_41 IN VARCHAR2
47220 --Deferred Accounting End Date
47221 , p_source_43 IN DATE
47222 --Deferred Accounting Option
47223 , p_source_44 IN VARCHAR2
47224 --Deferred Accounting Start Date
47225 , p_source_45 IN DATE
47226 --Override Accounted Amount Indicator
47227 , p_source_46 IN VARCHAR2
47228 , p_source_46_meaning IN VARCHAR2
47229 --Invoice Supplier Identifier
47230 , p_source_47 IN NUMBER
47231 --Invoice Supplier Site Identifier
47232 , p_source_48 IN NUMBER
47233 --Third Party Type
47234 , p_source_49 IN VARCHAR2
47235 --Parent Reversal Identifier
47236 , p_source_50 IN NUMBER
47237 --Invoice Distribution Statistical Amount
47238 , p_source_51 IN NUMBER
47239 --Invoice Distribution Tax Line Identifier
47240 , p_source_52 IN NUMBER
47241 --Invoice Distribution Tax Distribution Identifier from Tax
47242 , p_source_53 IN NUMBER
47243 --Invoice Distribution Summary Tax Line Identifier
47244 , p_source_54 IN NUMBER
47245 --Payables Upgrade Credit Encumbrance Type Identifier
47249 --Invoice Distribution Amount
47246 , p_source_55 IN NUMBER
47247 --Payables Upgrade Debit Encumbrance Type Identifier
47248 , p_source_56 IN NUMBER
47250 , p_source_57 IN NUMBER
47251 --Invoice Distribution Encumbrance Amount
47252 , p_source_65 IN NUMBER
47253 --Invoice Distribution Encumbrance Ledger Amount
47254 , p_source_66 IN NUMBER
47255 )
47256 IS
47257
47258 l_component_type VARCHAR2(80);
47259 l_component_code VARCHAR2(30);
47260 l_component_type_code VARCHAR2(1);
47261 l_component_appl_id INTEGER;
47262 l_amb_context_code VARCHAR2(30);
47263 l_entity_code VARCHAR2(30);
47264 l_event_class_code VARCHAR2(30);
47265 l_ae_header_id NUMBER;
47266 l_event_type_code VARCHAR2(30);
47267 l_line_definition_code VARCHAR2(30);
47268 l_line_definition_owner_code VARCHAR2(1);
47269 --
47270 -- adr variables
47271 l_segment VARCHAR2(30);
47272 l_ccid NUMBER;
47273 l_adr_transaction_coa_id NUMBER;
47274 l_adr_accounting_coa_id NUMBER;
47275 l_adr_flexfield_segment_code VARCHAR2(30);
47276 l_adr_flex_value_set_id NUMBER;
47277 l_adr_value_type_code VARCHAR2(30);
47278 l_adr_value_combination_id NUMBER;
47279 l_adr_value_segment_code VARCHAR2(30);
47280
47281 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
47282 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
47283 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
47284 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
47285
47286 -- 4262811 Variables ------------------------------------------------------------------------------------------
47287 l_entered_amt_idx NUMBER;
47288 l_accted_amt_idx NUMBER;
47289 l_acc_rev_flag VARCHAR2(1);
47290 l_accrual_line_num NUMBER;
47291 l_tmp_amt NUMBER;
47292 l_acc_rev_natural_side_code VARCHAR2(1);
47293
47294 l_num_entries NUMBER;
47295 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
47296 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
47297 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
47298 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
47299 l_recog_line_1 NUMBER;
47300 l_recog_line_2 NUMBER;
47301
47302 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
47303 l_bflow_applied_to_amt NUMBER; -- 5132302
47304 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
47305
47306 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
47307
47308 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
47309 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
47310
47311 ---------------------------------------------------------------------------------------------------------------
47312
47313
47314 --
47315 -- bulk performance
47316 --
47317 l_balance_type_code VARCHAR2(1);
47318 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
47319 l_log_module VARCHAR2(240);
47320
47321 --
47322 -- Upgrade strategy
47323 --
47324 l_actual_upg_option VARCHAR2(1);
47325 l_enc_upg_option VARCHAR2(1);
47326
47327 --
47328 BEGIN
47329 --
47330 IF g_log_enabled THEN
47331 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_76';
47332 END IF;
47333 --
47334 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
47335
47336 trace
47337 (p_msg => 'BEGIN of AcctLineType_76'
47338 ,p_level => C_LEVEL_PROCEDURE
47339 ,p_module => l_log_module);
47340
47341 END IF;
47342 --
47343 l_component_type := 'AMB_JLT';
47344 l_component_code := 'AP_TAX_INV_PR_VAR_INV_ENC_DR';
47345 l_component_type_code := 'S';
47346 l_component_appl_id := 200;
47347 l_amb_context_code := 'DEFAULT';
47348 l_entity_code := 'AP_INVOICES';
47349 l_event_class_code := 'INVOICES';
47350 l_event_type_code := 'INVOICES_ALL';
47351 l_line_definition_owner_code := 'S';
47352 l_line_definition_code := 'ENC_INVOICES_ALL';
47353 --
47354 l_balance_type_code := 'E';
47355 l_segment := NULL;
47356 l_ccid := NULL;
47357 l_adr_transaction_coa_id := NULL;
47358 l_adr_accounting_coa_id := NULL;
47359 l_adr_flexfield_segment_code := NULL;
47360 l_adr_flex_value_set_id := NULL;
47361 l_adr_value_type_code := NULL;
47362 l_adr_value_combination_id := NULL;
47363 l_adr_value_segment_code := NULL;
47364
47365 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
47366 l_bflow_class_code := 'AP_INV_ENCUM'; -- 4219869 Business Flow
47367 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
47368 l_budgetary_control_flag := 'Y';
47369
47370 l_bflow_applied_to_amt_idx := NULL; -- 5132302
47371 l_bflow_applied_to_amt := NULL; -- 5132302
47372 l_entered_amt_idx := NULL; -- 4262811
47373 l_accted_amt_idx := NULL; -- 4262811
47374 l_acc_rev_flag := NULL; -- 4262811
47378
47375 l_accrual_line_num := NULL; -- 4262811
47376 l_tmp_amt := NULL; -- 4262811
47377 --
47379 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
47380 l_balance_type_code <> 'B' THEN
47381 IF NVL(p_source_15,'
47382 ') = 'TIPV' AND
47383 NVL(p_source_17,'
47384 ') = 'Y'
47385 THEN
47386
47387 --
47388 XLA_AE_LINES_PKG.SetNewLine;
47389
47390 p_balance_type_code := l_balance_type_code;
47391 -- set the flag so later we will know whether the gain loss line needs to be created
47392
47393 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
47394 p_actual_flag :='A';
47395 END IF;
47396
47397 --
47398 -- bulk performance
47399 --
47400 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
47401 p_header_num => 0); -- 4262811
47402 --
47403 -- set accounting line options
47404 --
47405 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
47406 p_natural_side_code => 'D'
47407 , p_gain_or_loss_flag => 'N'
47408 , p_gl_transfer_mode_code => 'S'
47409 , p_acct_entry_type_code => 'E'
47410 , p_switch_side_flag => 'Y'
47411 , p_merge_duplicate_code => 'N'
47412 );
47413 --
47414 l_acc_rev_natural_side_code := 'C'; -- 4262811
47415 --
47416 --
47417 -- set accounting line type info
47418 --
47419 xla_ae_lines_pkg.SetAcctLineType
47420 (p_component_type => l_component_type
47421 ,p_event_type_code => l_event_type_code
47422 ,p_line_definition_owner_code => l_line_definition_owner_code
47423 ,p_line_definition_code => l_line_definition_code
47424 ,p_accounting_line_code => l_component_code
47425 ,p_accounting_line_type_code => l_component_type_code
47426 ,p_accounting_line_appl_id => l_component_appl_id
47427 ,p_amb_context_code => l_amb_context_code
47428 ,p_entity_code => l_entity_code
47429 ,p_event_class_code => l_event_class_code);
47430 --
47431 -- set accounting class
47432 --
47433 xla_ae_lines_pkg.SetAcctClass(
47434 p_accounting_class_code => 'TIPV'
47435 , p_ae_header_id => l_ae_header_id
47436 );
47437
47438 --
47439 -- set rounding class
47440 --
47441 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
47442 'TIPV';
47443
47444 --
47445 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
47446 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
47447 --
47448 -- bulk performance
47449 --
47450 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
47451
47452 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
47453 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
47454
47455 -- 4955764
47456 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
47457 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
47458
47459 -- 4458381 Public Sector Enh
47460 XLA_AE_LINES_PKG.g_rec_lines.array_encumbrance_type_id(XLA_AE_LINES_PKG.g_LineNumber) := 1060;
47461 --
47462 -- set accounting attributes for the line type
47463 --
47464 l_entered_amt_idx := 24;
47465 l_accted_amt_idx := 29;
47466 l_bflow_applied_to_amt_idx := 7; -- 5132302
47467 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
47468 l_rec_acct_attrs.array_char_value(1) := p_source_19;
47469 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
47470 l_rec_acct_attrs.array_num_value(2) :=
47471 xla_ae_sources_pkg.GetSystemSourceNum(
47472 p_source_code => 'XLA_EVENT_APPL_ID'
47473 , p_source_type_code => 'Y'
47474 , p_source_application_id => 602
47475 );
47476 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
47477 l_rec_acct_attrs.array_char_value(3) := p_source_21;
47478 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
47479 l_rec_acct_attrs.array_char_value(4) :=
47480 xla_ae_sources_pkg.GetSystemSourceChar(
47481 p_source_code => 'XLA_ENTITY_CODE'
47482 , p_source_type_code => 'Y'
47483 , p_source_application_id => 602
47484 );
47485 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
47486 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_23);
47487 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
47488 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_24);
47489 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_AMOUNT';
47490 l_rec_acct_attrs.array_num_value(7) := p_source_57;
47491 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_APPLICATION_ID';
47492 l_rec_acct_attrs.array_num_value(8) := p_source_25;
47493 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_DISTRIBUTION_TYPE';
47494 l_rec_acct_attrs.array_char_value(9) := p_source_26;
47498 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_28);
47495 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_ENTITY_CODE';
47496 l_rec_acct_attrs.array_char_value(10) := p_source_27;
47497 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_DIST_ID';
47499 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
47500 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_29);
47501 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
47502 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_30);
47503 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_TYPE';
47504 l_rec_acct_attrs.array_char_value(14) := p_source_21;
47505 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
47506 l_rec_acct_attrs.array_num_value(15) := p_source_31;
47507 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
47508 l_rec_acct_attrs.array_num_value(16) := p_source_32;
47509 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
47510 l_rec_acct_attrs.array_char_value(17) := p_source_33;
47511 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
47512 l_rec_acct_attrs.array_num_value(18) := p_source_34;
47513 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_CCID';
47514 l_rec_acct_attrs.array_num_value(19) := p_source_35;
47515 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_AMT';
47516 l_rec_acct_attrs.array_num_value(20) := p_source_36;
47517 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_CURR';
47518 l_rec_acct_attrs.array_char_value(21) := p_source_33;
47519 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_LEDGER_AMT';
47520 l_rec_acct_attrs.array_num_value(22) := p_source_37;
47521 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_OPTION';
47522 l_rec_acct_attrs.array_char_value(23) := p_source_38;
47523 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_AMOUNT';
47524 l_rec_acct_attrs.array_num_value(24) := p_source_65;
47525 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_CODE';
47526 l_rec_acct_attrs.array_char_value(25) := p_source_33;
47527 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_DATE';
47528 l_rec_acct_attrs.array_date_value(26) := p_source_39;
47529 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE';
47530 l_rec_acct_attrs.array_num_value(27) := p_source_40;
47531 l_rec_acct_attrs.array_acct_attr_code(28) := 'EXCHANGE_RATE_TYPE';
47532 l_rec_acct_attrs.array_char_value(28) := p_source_41;
47533 l_rec_acct_attrs.array_acct_attr_code(29) := 'LEDGER_AMOUNT';
47534 l_rec_acct_attrs.array_num_value(29) := p_source_66;
47535 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_END_DATE';
47536 l_rec_acct_attrs.array_date_value(30) := p_source_43;
47537 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_OPTION';
47538 l_rec_acct_attrs.array_char_value(31) := p_source_44;
47539 l_rec_acct_attrs.array_acct_attr_code(32) := 'MULTIPERIOD_START_DATE';
47540 l_rec_acct_attrs.array_date_value(32) := p_source_45;
47541 l_rec_acct_attrs.array_acct_attr_code(33) := 'OVERRIDE_ACCTD_AMT_FLAG';
47542 l_rec_acct_attrs.array_char_value(33) := p_source_46;
47543 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_ID';
47544 l_rec_acct_attrs.array_num_value(34) := p_source_47;
47545 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_SITE_ID';
47546 l_rec_acct_attrs.array_num_value(35) := p_source_48;
47547 l_rec_acct_attrs.array_acct_attr_code(36) := 'PARTY_TYPE';
47548 l_rec_acct_attrs.array_char_value(36) := p_source_49;
47549 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_ID1';
47550 l_rec_acct_attrs.array_num_value(37) := to_char(p_source_50);
47551 l_rec_acct_attrs.array_acct_attr_code(38) := 'REVERSED_DISTRIBUTION_TYPE';
47552 l_rec_acct_attrs.array_char_value(38) := p_source_21;
47553 l_rec_acct_attrs.array_acct_attr_code(39) := 'STATISTICAL_AMOUNT';
47554 l_rec_acct_attrs.array_num_value(39) := p_source_51;
47555 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_LINE_REF_ID';
47556 l_rec_acct_attrs.array_num_value(40) := p_source_52;
47557 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_REC_NREC_DIST_REF_ID';
47558 l_rec_acct_attrs.array_num_value(41) := p_source_53;
47559 l_rec_acct_attrs.array_acct_attr_code(42) := 'TAX_SUMMARY_LINE_REF_ID';
47560 l_rec_acct_attrs.array_num_value(42) := p_source_54;
47561 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_CR_ENC_TYPE_ID';
47562 l_rec_acct_attrs.array_num_value(43) := p_source_55;
47563 l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
47564 l_rec_acct_attrs.array_num_value(44) := p_source_56;
47565
47566 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
47567 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
47568
47569 ---------------------------------------------------------------------------------------------------------------
47570 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
47571 ---------------------------------------------------------------------------------------------------------------
47572 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
47573
47574 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
47575 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
47576
47577 IF xla_accounting_cache_pkg.GetValueChar
47578 (p_source_code => 'LEDGER_CATEGORY_CODE'
47582 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
47579 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
47580 AND l_bflow_method_code = 'PRIOR_ENTRY'
47581 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
47583 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
47584 )
47585 THEN
47586 xla_ae_lines_pkg.BflowUpgEntry
47587 (p_business_method_code => l_bflow_method_code
47588 ,p_business_class_code => l_bflow_class_code
47589 ,p_balance_type => l_balance_type_code);
47590 ELSE
47591 NULL;
47592 -- No business flow processing for business flow method of NONE.
47593 END IF;
47594
47595 --
47596 -- call analytical criteria
47597 --
47598
47599 --
47600 -- call description
47601 --
47602
47603 xla_ae_lines_pkg.SetLineDescription(
47604 p_ae_header_id => l_ae_header_id
47605 ,p_description => Description_2 (
47606 p_application_id => p_application_id
47607 , p_ae_header_id => l_ae_header_id
47608 , p_source_1 => p_source_1
47609 )
47610 );
47611
47612
47613 --
47614 -- call ADRs
47615 -- Bug 4922099
47616 --
47617 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
47618 (NVL(l_actual_upg_option, 'N') = 'O') OR
47619 (NVL(l_enc_upg_option, 'N') = 'O')
47620 )
47621 THEN
47622 NULL;
47623 --
47624 --
47625
47626 l_ccid := AcctDerRule_7(
47627 p_application_id => p_application_id
47628 , p_ae_header_id => l_ae_header_id
47629 , p_source_11 => p_source_11
47630 , x_transaction_coa_id => l_adr_transaction_coa_id
47631 , x_accounting_coa_id => l_adr_accounting_coa_id
47632 , x_value_type_code => l_adr_value_type_code
47633 , p_side => 'NA'
47634 );
47635
47636 xla_ae_lines_pkg.set_ccid(
47637 p_code_combination_id => l_ccid
47638 , p_value_type_code => l_adr_value_type_code
47639 , p_transaction_coa_id => l_adr_transaction_coa_id
47640 , p_accounting_coa_id => l_adr_accounting_coa_id
47641 , p_adr_code => 'AP_INVOICE_DIST'
47642 , p_adr_type_code => 'S'
47643 , p_component_type => l_component_type
47644 , p_component_code => l_component_code
47645 , p_component_type_code => l_component_type_code
47646 , p_component_appl_id => l_component_appl_id
47647 , p_amb_context_code => l_amb_context_code
47648 , p_side => 'NA'
47649 );
47650
47651
47652 --
47653 --
47654 END IF;
47655 --
47656 -- Bug 4922099
47657 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
47658 (NVL(l_enc_upg_option, 'N') = 'O')
47659 ) AND
47660 (l_bflow_method_code = 'PRIOR_ENTRY')
47661 )
47662 THEN
47663 IF
47664 --
47665 1 = 2
47666 --
47667 THEN
47668 xla_accounting_err_pkg.build_message
47669 (p_appli_s_name => 'XLA'
47670 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
47671 ,p_token_1 => 'LINE_NUMBER'
47672 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
47673 ,p_token_2 => 'LINE_TYPE_NAME'
47674 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
47675 l_component_type
47676 ,l_component_code
47677 ,l_component_type_code
47678 ,l_component_appl_id
47679 ,l_amb_context_code
47680 ,l_entity_code
47681 ,l_event_class_code
47682 )
47683 ,p_token_3 => 'OWNER'
47684 ,p_value_3 => xla_lookups_pkg.get_meaning(
47685 p_lookup_type => 'XLA_OWNER_TYPE'
47686 ,p_lookup_code => l_component_type_code
47687 )
47688 ,p_token_4 => 'PRODUCT_NAME'
47689 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
47690 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
47691 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
47695
47692 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
47693 ,p_ae_header_id => NULL
47694 );
47696 IF (C_LEVEL_ERROR>= g_log_level) THEN
47697 trace
47698 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
47699 ,p_level => C_LEVEL_ERROR
47700 ,p_module => l_log_module);
47701 END IF;
47702 END IF;
47703 END IF;
47704 --
47705 --
47706 ------------------------------------------------------------------------------------------------
47707 -- 4219869 Business Flow
47708 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
47709 -- Prior Entry. Currently, the following code is always generated.
47710 ------------------------------------------------------------------------------------------------
47711 XLA_AE_LINES_PKG.ValidateCurrentLine;
47712
47713 ------------------------------------------------------------------------------------
47714 -- 4219869 Business Flow
47715 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
47716 ------------------------------------------------------------------------------------
47717 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
47718
47719 ----------------------------------------------------------------------------------
47720 -- 4219869 Business Flow
47721 -- Update journal entry status -- Need to generate this within IF <condition>
47722 ----------------------------------------------------------------------------------
47723 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
47724 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
47725 ,p_balance_type_code => l_balance_type_code
47726 );
47727
47728 -------------------------------------------------------------------------------------------
47729 -- 4262811 - Generate the Accrual Reversal lines
47730 -------------------------------------------------------------------------------------------
47731 BEGIN
47732 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
47733 (g_array_event(p_event_id).array_value_num('header_index'));
47734 IF l_acc_rev_flag IS NULL THEN
47735 l_acc_rev_flag := 'N';
47736 END IF;
47737 EXCEPTION
47738 WHEN OTHERS THEN
47739 l_acc_rev_flag := 'N';
47740 END;
47741 --
47742 IF (l_acc_rev_flag = 'Y') THEN
47743
47744 -- 4645092 ------------------------------------------------------------------------------
47745 -- To allow MPA report to determine if it should generate report process
47746 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
47747 ------------------------------------------------------------------------------------------
47748
47749 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
47750 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
47751 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
47752 -- call ADRs
47753 -- Bug 4922099
47754 --
47755 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
47756 (NVL(l_actual_upg_option, 'N') = 'O') OR
47757 (NVL(l_enc_upg_option, 'N') = 'O')
47758 )
47759 THEN
47760 NULL;
47761 --
47762 --
47763
47764 l_ccid := AcctDerRule_7(
47765 p_application_id => p_application_id
47766 , p_ae_header_id => l_ae_header_id
47767 , p_source_11 => p_source_11
47768 , x_transaction_coa_id => l_adr_transaction_coa_id
47769 , x_accounting_coa_id => l_adr_accounting_coa_id
47770 , x_value_type_code => l_adr_value_type_code
47771 , p_side => 'NA'
47772 );
47773
47774 xla_ae_lines_pkg.set_ccid(
47775 p_code_combination_id => l_ccid
47776 , p_value_type_code => l_adr_value_type_code
47777 , p_transaction_coa_id => l_adr_transaction_coa_id
47778 , p_accounting_coa_id => l_adr_accounting_coa_id
47779 , p_adr_code => 'AP_INVOICE_DIST'
47780 , p_adr_type_code => 'S'
47781 , p_component_type => l_component_type
47782 , p_component_code => l_component_code
47783 , p_component_type_code => l_component_type_code
47784 , p_component_appl_id => l_component_appl_id
47785 , p_amb_context_code => l_amb_context_code
47786 , p_side => 'NA'
47787 );
47788
47789
47790 --
47791 --
47792 END IF;
47793
47794 --
47795 -- Update the line information that should be overwritten
47796 --
47797 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
47798 p_header_num => 1);
47799 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
47800
47801 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
47802
47803 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
47804 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
47808 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
47805 END IF;
47806
47807 --
47809 --
47810 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
47811 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
47812 ELSE
47813 ---------------------------------------------------------------------------------------------------
47814 -- 4262811a Switch Sign
47815 ---------------------------------------------------------------------------------------------------
47816 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
47817 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
47818 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
47819 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
47820 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
47821 -- 5132302
47822 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
47823 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
47824
47825 END IF;
47826
47827 -- 4955764
47828 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
47829 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
47830
47831
47832 XLA_AE_LINES_PKG.ValidateCurrentLine;
47833 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
47834
47835 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
47836 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
47837 ,p_balance_type_code => l_balance_type_code);
47838
47839 END IF;
47840
47841 -----------------------------------------------------------------------------------------
47842 -- 4262811 Multiperiod Accounting
47843 -----------------------------------------------------------------------------------------
47844 -- No MPA option is assigned.
47845
47846
47847 END IF;
47848 END IF;
47849 --
47850
47851 --
47852 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
47853 trace
47854 (p_msg => 'END of AcctLineType_76'
47855 ,p_level => C_LEVEL_PROCEDURE
47856 ,p_module => l_log_module);
47857 END IF;
47858 --
47859 EXCEPTION
47860 WHEN xla_exceptions_pkg.application_exception THEN
47861 RAISE;
47862 WHEN OTHERS THEN
47863 xla_exceptions_pkg.raise_message
47864 (p_location => 'XLA_00200_AAD_S_000006_BC_PKG.AcctLineType_76');
47865 END AcctLineType_76;
47866 --
47867
47868 ---------------------------------------
47869 --
47870 -- PRIVATE FUNCTION
47871 -- AcctLineType_77
47872 --
47873 ---------------------------------------
47874 PROCEDURE AcctLineType_77 (
47875 p_application_id IN NUMBER
47876 ,p_event_id IN NUMBER
47877 ,p_calculate_acctd_flag IN VARCHAR2
47878 ,p_calculate_g_l_flag IN VARCHAR2
47879 ,p_actual_flag IN OUT VARCHAR2
47880 ,p_balance_type_code OUT VARCHAR2
47881 ,p_gain_or_loss_ref OUT VARCHAR2
47882
47883 --Invoice Distribution Description
47884 , p_source_1 IN VARCHAR2
47885 --Invoice Distribution Account
47886 , p_source_11 IN NUMBER
47887 --Invoice Distribution Type
47888 , p_source_15 IN VARCHAR2
47889 , p_source_15_meaning IN VARCHAR2
47890 --Amount for Variance Amount
47891 , p_source_16 IN NUMBER
47892 --Purchasing Encumbrance Option
47893 , p_source_17 IN VARCHAR2
47894 , p_source_17_meaning IN VARCHAR2
47895 --Accrue on Receipt Option
47896 , p_source_18 IN VARCHAR2
47897 , p_source_18_meaning IN VARCHAR2
47898 --Accounting Reversal Indicator
47899 , p_source_19 IN VARCHAR2
47900 --Distribution Link Type
47901 , p_source_21 IN VARCHAR2
47902 --Allocation to Main Distribution Identifier
47903 , p_source_23 IN NUMBER
47904 --Invoice Identifier
47905 , p_source_24 IN NUMBER
47906 --Business Flow Accounts Payable Application Identifier
47907 , p_source_25 IN NUMBER
47908 --Business Flow Invoice Distribution Type
47909 , p_source_26 IN VARCHAR2
47910 --Business Flow Invoice Entity Code
47911 , p_source_27 IN VARCHAR2
47912 --Business Flow Invoice Distribution Identifier
47913 , p_source_28 IN NUMBER
47914 --Business Flow Invoice Identifier
47915 , p_source_29 IN NUMBER
47916 --Invoice Distribution Identifier
47917 , p_source_30 IN NUMBER
47918 --Payables Encumbrance Upgrade Credit Account
47919 , p_source_31 IN NUMBER
47920 --Payables Encumbrance Upgrade Credit Amount
47921 , p_source_32 IN NUMBER
47922 --Invoice Currency Code
47923 , p_source_33 IN VARCHAR2
47924 --Payables Encumbrance Upgrade Credit Base Amount
47925 , p_source_34 IN NUMBER
47926 --Payables Encumbrance Upgrade Debit Account
47927 , p_source_35 IN NUMBER
47928 --Payables Encumbrance Upgrade Debit Amount
47929 , p_source_36 IN NUMBER
47933 , p_source_38 IN VARCHAR2
47930 --Payables Encumbrance Upgrade Debit Base Amount
47931 , p_source_37 IN NUMBER
47932 --Payables Encumbrance Upgrade Option
47934 --Invoice Exchange Date
47935 , p_source_39 IN DATE
47936 --Invoice Exchange Rate
47937 , p_source_40 IN NUMBER
47938 --Invoice Exchange Rate Type
47939 , p_source_41 IN VARCHAR2
47940 --Deferred Accounting End Date
47941 , p_source_43 IN DATE
47942 --Deferred Accounting Option
47943 , p_source_44 IN VARCHAR2
47944 --Deferred Accounting Start Date
47945 , p_source_45 IN DATE
47946 --Override Accounted Amount Indicator
47947 , p_source_46 IN VARCHAR2
47948 , p_source_46_meaning IN VARCHAR2
47949 --Invoice Supplier Identifier
47950 , p_source_47 IN NUMBER
47951 --Invoice Supplier Site Identifier
47952 , p_source_48 IN NUMBER
47953 --Third Party Type
47954 , p_source_49 IN VARCHAR2
47955 --Parent Reversal Identifier
47956 , p_source_50 IN NUMBER
47957 --Invoice Distribution Statistical Amount
47958 , p_source_51 IN NUMBER
47959 --Invoice Distribution Tax Line Identifier
47960 , p_source_52 IN NUMBER
47961 --Invoice Distribution Tax Distribution Identifier from Tax
47962 , p_source_53 IN NUMBER
47963 --Invoice Distribution Summary Tax Line Identifier
47964 , p_source_54 IN NUMBER
47965 --Payables Upgrade Credit Encumbrance Type Identifier
47966 , p_source_55 IN NUMBER
47967 --Payables Upgrade Debit Encumbrance Type Identifier
47968 , p_source_56 IN NUMBER
47969 --Quantity Variance Amount
47970 , p_source_81 IN NUMBER
47971 --Quantity Variance Amount in Ledger Currency
47972 , p_source_82 IN NUMBER
47973 )
47974 IS
47975
47976 l_component_type VARCHAR2(80);
47977 l_component_code VARCHAR2(30);
47978 l_component_type_code VARCHAR2(1);
47979 l_component_appl_id INTEGER;
47980 l_amb_context_code VARCHAR2(30);
47981 l_entity_code VARCHAR2(30);
47982 l_event_class_code VARCHAR2(30);
47983 l_ae_header_id NUMBER;
47984 l_event_type_code VARCHAR2(30);
47985 l_line_definition_code VARCHAR2(30);
47986 l_line_definition_owner_code VARCHAR2(1);
47987 --
47988 -- adr variables
47989 l_segment VARCHAR2(30);
47990 l_ccid NUMBER;
47991 l_adr_transaction_coa_id NUMBER;
47992 l_adr_accounting_coa_id NUMBER;
47993 l_adr_flexfield_segment_code VARCHAR2(30);
47994 l_adr_flex_value_set_id NUMBER;
47995 l_adr_value_type_code VARCHAR2(30);
47996 l_adr_value_combination_id NUMBER;
47997 l_adr_value_segment_code VARCHAR2(30);
47998
47999 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
48000 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
48001 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
48002 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
48003
48004 -- 4262811 Variables ------------------------------------------------------------------------------------------
48005 l_entered_amt_idx NUMBER;
48006 l_accted_amt_idx NUMBER;
48007 l_acc_rev_flag VARCHAR2(1);
48008 l_accrual_line_num NUMBER;
48009 l_tmp_amt NUMBER;
48010 l_acc_rev_natural_side_code VARCHAR2(1);
48011
48012 l_num_entries NUMBER;
48013 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
48014 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
48015 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
48016 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
48017 l_recog_line_1 NUMBER;
48018 l_recog_line_2 NUMBER;
48019
48020 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
48021 l_bflow_applied_to_amt NUMBER; -- 5132302
48022 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
48023
48024 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
48025
48026 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
48027 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
48028
48029 ---------------------------------------------------------------------------------------------------------------
48030
48031
48032 --
48033 -- bulk performance
48034 --
48035 l_balance_type_code VARCHAR2(1);
48036 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
48037 l_log_module VARCHAR2(240);
48038
48039 --
48040 -- Upgrade strategy
48041 --
48042 l_actual_upg_option VARCHAR2(1);
48043 l_enc_upg_option VARCHAR2(1);
48044
48045 --
48046 BEGIN
48047 --
48048 IF g_log_enabled THEN
48049 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_77';
48050 END IF;
48051 --
48052 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
48053
48054 trace
48055 (p_msg => 'BEGIN of AcctLineType_77'
48056 ,p_level => C_LEVEL_PROCEDURE
48057 ,p_module => l_log_module);
48058
48059 END IF;
48060 --
48061 l_component_type := 'AMB_JLT';
48065 l_amb_context_code := 'DEFAULT';
48062 l_component_code := 'AP_TAX_QTY_VARIANCE_CM_ENC_DR';
48063 l_component_type_code := 'S';
48064 l_component_appl_id := 200;
48066 l_entity_code := 'AP_INVOICES';
48067 l_event_class_code := 'CREDIT MEMOS';
48068 l_event_type_code := 'CREDIT MEMOS_ALL';
48069 l_line_definition_owner_code := 'S';
48070 l_line_definition_code := 'ENC_CM_ALL';
48071 --
48072 l_balance_type_code := 'E';
48073 l_segment := NULL;
48074 l_ccid := NULL;
48075 l_adr_transaction_coa_id := NULL;
48076 l_adr_accounting_coa_id := NULL;
48077 l_adr_flexfield_segment_code := NULL;
48078 l_adr_flex_value_set_id := NULL;
48079 l_adr_value_type_code := NULL;
48080 l_adr_value_combination_id := NULL;
48081 l_adr_value_segment_code := NULL;
48082
48083 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
48084 l_bflow_class_code := 'AP_INV_ENCUM'; -- 4219869 Business Flow
48085 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
48086 l_budgetary_control_flag := 'Y';
48087
48088 l_bflow_applied_to_amt_idx := NULL; -- 5132302
48089 l_bflow_applied_to_amt := NULL; -- 5132302
48090 l_entered_amt_idx := NULL; -- 4262811
48091 l_accted_amt_idx := NULL; -- 4262811
48092 l_acc_rev_flag := NULL; -- 4262811
48093 l_accrual_line_num := NULL; -- 4262811
48094 l_tmp_amt := NULL; -- 4262811
48095 --
48096
48097 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
48098 l_balance_type_code <> 'B' THEN
48099 IF NVL(p_source_15,'
48100 ') = 'NONREC_TAX' AND
48101 p_source_16 IS NOT NULL AND
48102 NVL(p_source_17,'
48103 ') = 'Y' AND
48104 NVL(p_source_18,'
48105 ') <> 'Y'
48106 THEN
48107
48108 --
48109 XLA_AE_LINES_PKG.SetNewLine;
48110
48111 p_balance_type_code := l_balance_type_code;
48112 -- set the flag so later we will know whether the gain loss line needs to be created
48113
48114 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
48115 p_actual_flag :='A';
48116 END IF;
48117
48118 --
48119 -- bulk performance
48120 --
48121 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
48122 p_header_num => 0); -- 4262811
48123 --
48124 -- set accounting line options
48125 --
48126 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
48127 p_natural_side_code => 'D'
48128 , p_gain_or_loss_flag => 'N'
48129 , p_gl_transfer_mode_code => 'S'
48130 , p_acct_entry_type_code => 'E'
48131 , p_switch_side_flag => 'Y'
48132 , p_merge_duplicate_code => 'N'
48133 );
48134 --
48135 l_acc_rev_natural_side_code := 'C'; -- 4262811
48136 --
48137 --
48138 -- set accounting line type info
48139 --
48140 xla_ae_lines_pkg.SetAcctLineType
48141 (p_component_type => l_component_type
48142 ,p_event_type_code => l_event_type_code
48143 ,p_line_definition_owner_code => l_line_definition_owner_code
48144 ,p_line_definition_code => l_line_definition_code
48145 ,p_accounting_line_code => l_component_code
48146 ,p_accounting_line_type_code => l_component_type_code
48147 ,p_accounting_line_appl_id => l_component_appl_id
48148 ,p_amb_context_code => l_amb_context_code
48149 ,p_entity_code => l_entity_code
48150 ,p_event_class_code => l_event_class_code);
48151 --
48152 -- set accounting class
48153 --
48154 xla_ae_lines_pkg.SetAcctClass(
48155 p_accounting_class_code => 'TQV'
48156 , p_ae_header_id => l_ae_header_id
48157 );
48158
48159 --
48160 -- set rounding class
48161 --
48162 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
48163 'TQV';
48164
48165 --
48166 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
48167 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
48168 --
48169 -- bulk performance
48170 --
48171 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
48172
48173 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
48174 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
48175
48176 -- 4955764
48177 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
48178 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
48179
48180 -- 4458381 Public Sector Enh
48181 XLA_AE_LINES_PKG.g_rec_lines.array_encumbrance_type_id(XLA_AE_LINES_PKG.g_LineNumber) := 1060;
48182 --
48183 -- set accounting attributes for the line type
48184 --
48185 l_entered_amt_idx := 23;
48186 l_accted_amt_idx := 28;
48187 l_bflow_applied_to_amt_idx := NULL; -- 5132302
48191 l_rec_acct_attrs.array_num_value(2) :=
48188 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
48189 l_rec_acct_attrs.array_char_value(1) := p_source_19;
48190 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
48192 xla_ae_sources_pkg.GetSystemSourceNum(
48193 p_source_code => 'XLA_EVENT_APPL_ID'
48194 , p_source_type_code => 'Y'
48195 , p_source_application_id => 602
48196 );
48197 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
48198 l_rec_acct_attrs.array_char_value(3) := p_source_21;
48199 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
48200 l_rec_acct_attrs.array_char_value(4) :=
48201 xla_ae_sources_pkg.GetSystemSourceChar(
48202 p_source_code => 'XLA_ENTITY_CODE'
48203 , p_source_type_code => 'Y'
48204 , p_source_application_id => 602
48205 );
48206 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
48207 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_23);
48208 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
48209 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_24);
48210 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
48211 l_rec_acct_attrs.array_num_value(7) := p_source_25;
48212 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
48213 l_rec_acct_attrs.array_char_value(8) := p_source_26;
48214 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
48215 l_rec_acct_attrs.array_char_value(9) := p_source_27;
48216 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
48217 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_28);
48218 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
48219 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_29);
48220 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
48221 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_30);
48222 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
48223 l_rec_acct_attrs.array_char_value(13) := p_source_21;
48224 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
48225 l_rec_acct_attrs.array_num_value(14) := p_source_31;
48226 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
48227 l_rec_acct_attrs.array_num_value(15) := p_source_32;
48228 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
48229 l_rec_acct_attrs.array_char_value(16) := p_source_33;
48230 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
48231 l_rec_acct_attrs.array_num_value(17) := p_source_34;
48232 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
48233 l_rec_acct_attrs.array_num_value(18) := p_source_35;
48234 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
48235 l_rec_acct_attrs.array_num_value(19) := p_source_36;
48236 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
48237 l_rec_acct_attrs.array_char_value(20) := p_source_33;
48238 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
48239 l_rec_acct_attrs.array_num_value(21) := p_source_37;
48240 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
48241 l_rec_acct_attrs.array_char_value(22) := p_source_38;
48242 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
48243 l_rec_acct_attrs.array_num_value(23) := p_source_81;
48244 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
48245 l_rec_acct_attrs.array_char_value(24) := p_source_33;
48246 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
48247 l_rec_acct_attrs.array_date_value(25) := p_source_39;
48248 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
48249 l_rec_acct_attrs.array_num_value(26) := p_source_40;
48250 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
48251 l_rec_acct_attrs.array_char_value(27) := p_source_41;
48252 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
48253 l_rec_acct_attrs.array_num_value(28) := p_source_82;
48254 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
48255 l_rec_acct_attrs.array_date_value(29) := p_source_43;
48256 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
48257 l_rec_acct_attrs.array_char_value(30) := p_source_44;
48258 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
48259 l_rec_acct_attrs.array_date_value(31) := p_source_45;
48260 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
48261 l_rec_acct_attrs.array_char_value(32) := p_source_46;
48262 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
48263 l_rec_acct_attrs.array_num_value(33) := p_source_47;
48264 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
48265 l_rec_acct_attrs.array_num_value(34) := p_source_48;
48266 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
48267 l_rec_acct_attrs.array_char_value(35) := p_source_49;
48268 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
48269 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_50);
48270 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
48271 l_rec_acct_attrs.array_char_value(37) := p_source_21;
48272 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
48273 l_rec_acct_attrs.array_num_value(38) := p_source_51;
48274 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
48275 l_rec_acct_attrs.array_num_value(39) := p_source_52;
48276 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
48280 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
48277 l_rec_acct_attrs.array_num_value(40) := p_source_53;
48278 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
48279 l_rec_acct_attrs.array_num_value(41) := p_source_54;
48281 l_rec_acct_attrs.array_num_value(42) := p_source_55;
48282 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
48283 l_rec_acct_attrs.array_num_value(43) := p_source_56;
48284
48285 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
48286 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
48287
48288 ---------------------------------------------------------------------------------------------------------------
48289 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
48290 ---------------------------------------------------------------------------------------------------------------
48291 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
48292
48293 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
48294 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
48295
48296 IF xla_accounting_cache_pkg.GetValueChar
48297 (p_source_code => 'LEDGER_CATEGORY_CODE'
48298 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
48299 AND l_bflow_method_code = 'PRIOR_ENTRY'
48300 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
48301 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
48302 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
48303 )
48304 THEN
48305 xla_ae_lines_pkg.BflowUpgEntry
48306 (p_business_method_code => l_bflow_method_code
48307 ,p_business_class_code => l_bflow_class_code
48308 ,p_balance_type => l_balance_type_code);
48309 ELSE
48310 NULL;
48311 -- No business flow processing for business flow method of NONE.
48312 END IF;
48313
48314 --
48315 -- call analytical criteria
48316 --
48317
48318 --
48319 -- call description
48320 --
48321
48322 xla_ae_lines_pkg.SetLineDescription(
48323 p_ae_header_id => l_ae_header_id
48324 ,p_description => Description_2 (
48325 p_application_id => p_application_id
48326 , p_ae_header_id => l_ae_header_id
48327 , p_source_1 => p_source_1
48328 )
48329 );
48330
48331
48332 --
48333 -- call ADRs
48334 -- Bug 4922099
48335 --
48336 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
48337 (NVL(l_actual_upg_option, 'N') = 'O') OR
48338 (NVL(l_enc_upg_option, 'N') = 'O')
48339 )
48340 THEN
48341 NULL;
48342 --
48343 --
48344
48345 l_ccid := AcctDerRule_7(
48346 p_application_id => p_application_id
48347 , p_ae_header_id => l_ae_header_id
48348 , p_source_11 => p_source_11
48349 , x_transaction_coa_id => l_adr_transaction_coa_id
48350 , x_accounting_coa_id => l_adr_accounting_coa_id
48351 , x_value_type_code => l_adr_value_type_code
48352 , p_side => 'NA'
48353 );
48354
48355 xla_ae_lines_pkg.set_ccid(
48356 p_code_combination_id => l_ccid
48357 , p_value_type_code => l_adr_value_type_code
48358 , p_transaction_coa_id => l_adr_transaction_coa_id
48359 , p_accounting_coa_id => l_adr_accounting_coa_id
48360 , p_adr_code => 'AP_INVOICE_DIST'
48361 , p_adr_type_code => 'S'
48362 , p_component_type => l_component_type
48363 , p_component_code => l_component_code
48364 , p_component_type_code => l_component_type_code
48365 , p_component_appl_id => l_component_appl_id
48366 , p_amb_context_code => l_amb_context_code
48367 , p_side => 'NA'
48368 );
48369
48370
48371 --
48372 --
48373 END IF;
48374 --
48375 -- Bug 4922099
48376 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
48377 (NVL(l_enc_upg_option, 'N') = 'O')
48378 ) AND
48379 (l_bflow_method_code = 'PRIOR_ENTRY')
48380 )
48381 THEN
48382 IF
48383 --
48384 1 = 2
48385 --
48386 THEN
48387 xla_accounting_err_pkg.build_message
48388 (p_appli_s_name => 'XLA'
48389 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
48390 ,p_token_1 => 'LINE_NUMBER'
48391 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
48392 ,p_token_2 => 'LINE_TYPE_NAME'
48393 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
48394 l_component_type
48395 ,l_component_code
48399 ,l_entity_code
48396 ,l_component_type_code
48397 ,l_component_appl_id
48398 ,l_amb_context_code
48400 ,l_event_class_code
48401 )
48402 ,p_token_3 => 'OWNER'
48403 ,p_value_3 => xla_lookups_pkg.get_meaning(
48404 p_lookup_type => 'XLA_OWNER_TYPE'
48405 ,p_lookup_code => l_component_type_code
48406 )
48407 ,p_token_4 => 'PRODUCT_NAME'
48408 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
48409 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
48410 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
48411 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
48412 ,p_ae_header_id => NULL
48413 );
48414
48415 IF (C_LEVEL_ERROR>= g_log_level) THEN
48416 trace
48417 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
48418 ,p_level => C_LEVEL_ERROR
48419 ,p_module => l_log_module);
48420 END IF;
48421 END IF;
48422 END IF;
48423 --
48424 --
48425 ------------------------------------------------------------------------------------------------
48426 -- 4219869 Business Flow
48427 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
48428 -- Prior Entry. Currently, the following code is always generated.
48429 ------------------------------------------------------------------------------------------------
48430 XLA_AE_LINES_PKG.ValidateCurrentLine;
48431
48432 ------------------------------------------------------------------------------------
48433 -- 4219869 Business Flow
48434 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
48435 ------------------------------------------------------------------------------------
48436 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
48437
48438 ----------------------------------------------------------------------------------
48439 -- 4219869 Business Flow
48440 -- Update journal entry status -- Need to generate this within IF <condition>
48441 ----------------------------------------------------------------------------------
48442 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
48443 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
48444 ,p_balance_type_code => l_balance_type_code
48445 );
48446
48447 -------------------------------------------------------------------------------------------
48448 -- 4262811 - Generate the Accrual Reversal lines
48449 -------------------------------------------------------------------------------------------
48450 BEGIN
48451 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
48452 (g_array_event(p_event_id).array_value_num('header_index'));
48453 IF l_acc_rev_flag IS NULL THEN
48454 l_acc_rev_flag := 'N';
48455 END IF;
48456 EXCEPTION
48457 WHEN OTHERS THEN
48458 l_acc_rev_flag := 'N';
48459 END;
48460 --
48461 IF (l_acc_rev_flag = 'Y') THEN
48462
48463 -- 4645092 ------------------------------------------------------------------------------
48464 -- To allow MPA report to determine if it should generate report process
48465 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
48466 ------------------------------------------------------------------------------------------
48467
48468 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
48469 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
48470 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
48471 -- call ADRs
48472 -- Bug 4922099
48473 --
48474 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
48475 (NVL(l_actual_upg_option, 'N') = 'O') OR
48476 (NVL(l_enc_upg_option, 'N') = 'O')
48477 )
48478 THEN
48479 NULL;
48480 --
48481 --
48482
48483 l_ccid := AcctDerRule_7(
48484 p_application_id => p_application_id
48485 , p_ae_header_id => l_ae_header_id
48486 , p_source_11 => p_source_11
48487 , x_transaction_coa_id => l_adr_transaction_coa_id
48488 , x_accounting_coa_id => l_adr_accounting_coa_id
48489 , x_value_type_code => l_adr_value_type_code
48490 , p_side => 'NA'
48491 );
48492
48493 xla_ae_lines_pkg.set_ccid(
48494 p_code_combination_id => l_ccid
48498 , p_adr_code => 'AP_INVOICE_DIST'
48495 , p_value_type_code => l_adr_value_type_code
48496 , p_transaction_coa_id => l_adr_transaction_coa_id
48497 , p_accounting_coa_id => l_adr_accounting_coa_id
48499 , p_adr_type_code => 'S'
48500 , p_component_type => l_component_type
48501 , p_component_code => l_component_code
48502 , p_component_type_code => l_component_type_code
48503 , p_component_appl_id => l_component_appl_id
48504 , p_amb_context_code => l_amb_context_code
48505 , p_side => 'NA'
48506 );
48507
48508
48509 --
48510 --
48511 END IF;
48512
48513 --
48514 -- Update the line information that should be overwritten
48515 --
48516 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
48517 p_header_num => 1);
48518 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
48519
48520 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
48521
48522 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
48523 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
48524 END IF;
48525
48526 --
48527 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
48528 --
48529 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
48530 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
48531 ELSE
48532 ---------------------------------------------------------------------------------------------------
48533 -- 4262811a Switch Sign
48534 ---------------------------------------------------------------------------------------------------
48535 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
48536 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
48537 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
48538 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
48539 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
48540 -- 5132302
48541 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
48542 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
48543
48544 END IF;
48545
48546 -- 4955764
48547 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
48548 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
48549
48550
48551 XLA_AE_LINES_PKG.ValidateCurrentLine;
48552 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
48553
48554 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
48555 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
48556 ,p_balance_type_code => l_balance_type_code);
48557
48558 END IF;
48559
48560 -----------------------------------------------------------------------------------------
48561 -- 4262811 Multiperiod Accounting
48562 -----------------------------------------------------------------------------------------
48563 -- No MPA option is assigned.
48564
48565
48566 END IF;
48567 END IF;
48568 --
48569
48570 --
48571 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
48572 trace
48573 (p_msg => 'END of AcctLineType_77'
48574 ,p_level => C_LEVEL_PROCEDURE
48575 ,p_module => l_log_module);
48576 END IF;
48577 --
48578 EXCEPTION
48579 WHEN xla_exceptions_pkg.application_exception THEN
48580 RAISE;
48581 WHEN OTHERS THEN
48582 xla_exceptions_pkg.raise_message
48583 (p_location => 'XLA_00200_AAD_S_000006_BC_PKG.AcctLineType_77');
48584 END AcctLineType_77;
48585 --
48586
48587 ---------------------------------------
48588 --
48589 -- PRIVATE FUNCTION
48590 -- AcctLineType_78
48591 --
48592 ---------------------------------------
48593 PROCEDURE AcctLineType_78 (
48594 p_application_id IN NUMBER
48595 ,p_event_id IN NUMBER
48596 ,p_calculate_acctd_flag IN VARCHAR2
48597 ,p_calculate_g_l_flag IN VARCHAR2
48598 ,p_actual_flag IN OUT VARCHAR2
48599 ,p_balance_type_code OUT VARCHAR2
48600 ,p_gain_or_loss_ref OUT VARCHAR2
48601
48602 --Invoice Distribution Description
48603 , p_source_1 IN VARCHAR2
48604 --Invoice Distribution Account
48605 , p_source_11 IN NUMBER
48606 --Invoice Distribution Type
48607 , p_source_15 IN VARCHAR2
48608 , p_source_15_meaning IN VARCHAR2
48609 --Purchasing Encumbrance Option
48610 , p_source_17 IN VARCHAR2
48611 , p_source_17_meaning IN VARCHAR2
48612 --Accrue on Receipt Option
48613 , p_source_18 IN VARCHAR2
48614 , p_source_18_meaning IN VARCHAR2
48615 --Accounting Reversal Indicator
48619 --Allocation to Main Distribution Identifier
48616 , p_source_19 IN VARCHAR2
48617 --Distribution Link Type
48618 , p_source_21 IN VARCHAR2
48620 , p_source_23 IN NUMBER
48621 --Invoice Identifier
48622 , p_source_24 IN NUMBER
48623 --Business Flow Accounts Payable Application Identifier
48624 , p_source_25 IN NUMBER
48625 --Business Flow Invoice Distribution Type
48626 , p_source_26 IN VARCHAR2
48627 --Business Flow Invoice Entity Code
48628 , p_source_27 IN VARCHAR2
48629 --Business Flow Invoice Distribution Identifier
48630 , p_source_28 IN NUMBER
48631 --Business Flow Invoice Identifier
48632 , p_source_29 IN NUMBER
48633 --Invoice Distribution Identifier
48634 , p_source_30 IN NUMBER
48635 --Payables Encumbrance Upgrade Credit Account
48636 , p_source_31 IN NUMBER
48637 --Payables Encumbrance Upgrade Credit Amount
48638 , p_source_32 IN NUMBER
48639 --Invoice Currency Code
48640 , p_source_33 IN VARCHAR2
48641 --Payables Encumbrance Upgrade Credit Base Amount
48642 , p_source_34 IN NUMBER
48643 --Payables Encumbrance Upgrade Debit Account
48644 , p_source_35 IN NUMBER
48645 --Payables Encumbrance Upgrade Debit Amount
48646 , p_source_36 IN NUMBER
48647 --Payables Encumbrance Upgrade Debit Base Amount
48648 , p_source_37 IN NUMBER
48649 --Payables Encumbrance Upgrade Option
48650 , p_source_38 IN VARCHAR2
48651 --Invoice Exchange Date
48652 , p_source_39 IN DATE
48653 --Invoice Exchange Rate
48654 , p_source_40 IN NUMBER
48655 --Invoice Exchange Rate Type
48656 , p_source_41 IN VARCHAR2
48657 --Deferred Accounting End Date
48658 , p_source_43 IN DATE
48659 --Deferred Accounting Option
48660 , p_source_44 IN VARCHAR2
48661 --Deferred Accounting Start Date
48662 , p_source_45 IN DATE
48663 --Override Accounted Amount Indicator
48664 , p_source_46 IN VARCHAR2
48665 , p_source_46_meaning IN VARCHAR2
48666 --Invoice Supplier Identifier
48667 , p_source_47 IN NUMBER
48668 --Invoice Supplier Site Identifier
48669 , p_source_48 IN NUMBER
48670 --Third Party Type
48671 , p_source_49 IN VARCHAR2
48672 --Parent Reversal Identifier
48673 , p_source_50 IN NUMBER
48674 --Invoice Distribution Tax Line Identifier
48675 , p_source_52 IN NUMBER
48676 --Invoice Distribution Tax Distribution Identifier from Tax
48677 , p_source_53 IN NUMBER
48678 --Invoice Distribution Summary Tax Line Identifier
48679 , p_source_54 IN NUMBER
48680 --Payables Upgrade Credit Encumbrance Type Identifier
48681 , p_source_55 IN NUMBER
48682 --Payables Upgrade Debit Encumbrance Type Identifier
48683 , p_source_56 IN NUMBER
48684 --Quantity Variance Amount
48685 , p_source_81 IN NUMBER
48686 --Quantity Variance Amount in Ledger Currency
48687 , p_source_82 IN NUMBER
48688 )
48689 IS
48690
48691 l_component_type VARCHAR2(80);
48692 l_component_code VARCHAR2(30);
48693 l_component_type_code VARCHAR2(1);
48694 l_component_appl_id INTEGER;
48695 l_amb_context_code VARCHAR2(30);
48696 l_entity_code VARCHAR2(30);
48697 l_event_class_code VARCHAR2(30);
48698 l_ae_header_id NUMBER;
48699 l_event_type_code VARCHAR2(30);
48700 l_line_definition_code VARCHAR2(30);
48701 l_line_definition_owner_code VARCHAR2(1);
48702 --
48703 -- adr variables
48704 l_segment VARCHAR2(30);
48705 l_ccid NUMBER;
48706 l_adr_transaction_coa_id NUMBER;
48707 l_adr_accounting_coa_id NUMBER;
48708 l_adr_flexfield_segment_code VARCHAR2(30);
48709 l_adr_flex_value_set_id NUMBER;
48710 l_adr_value_type_code VARCHAR2(30);
48711 l_adr_value_combination_id NUMBER;
48712 l_adr_value_segment_code VARCHAR2(30);
48713
48714 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
48715 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
48716 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
48717 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
48718
48719 -- 4262811 Variables ------------------------------------------------------------------------------------------
48720 l_entered_amt_idx NUMBER;
48721 l_accted_amt_idx NUMBER;
48722 l_acc_rev_flag VARCHAR2(1);
48723 l_accrual_line_num NUMBER;
48724 l_tmp_amt NUMBER;
48725 l_acc_rev_natural_side_code VARCHAR2(1);
48726
48727 l_num_entries NUMBER;
48728 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
48729 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
48730 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
48731 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
48732 l_recog_line_1 NUMBER;
48733 l_recog_line_2 NUMBER;
48734
48735 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
48736 l_bflow_applied_to_amt NUMBER; -- 5132302
48737 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
48738
48742 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
48739 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
48740
48741 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
48743
48744 ---------------------------------------------------------------------------------------------------------------
48745
48746
48747 --
48748 -- bulk performance
48749 --
48750 l_balance_type_code VARCHAR2(1);
48751 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
48752 l_log_module VARCHAR2(240);
48753
48754 --
48755 -- Upgrade strategy
48756 --
48757 l_actual_upg_option VARCHAR2(1);
48758 l_enc_upg_option VARCHAR2(1);
48759
48760 --
48761 BEGIN
48762 --
48763 IF g_log_enabled THEN
48764 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_78';
48765 END IF;
48766 --
48767 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
48768
48769 trace
48770 (p_msg => 'BEGIN of AcctLineType_78'
48771 ,p_level => C_LEVEL_PROCEDURE
48772 ,p_module => l_log_module);
48773
48774 END IF;
48775 --
48776 l_component_type := 'AMB_JLT';
48777 l_component_code := 'AP_TAX_QTY_VARIANCE_DM_ENC_DR';
48778 l_component_type_code := 'S';
48779 l_component_appl_id := 200;
48780 l_amb_context_code := 'DEFAULT';
48781 l_entity_code := 'AP_INVOICES';
48782 l_event_class_code := 'DEBIT MEMOS';
48783 l_event_type_code := 'DEBIT MEMOS_ALL';
48784 l_line_definition_owner_code := 'S';
48785 l_line_definition_code := 'ENC_DM_ALL';
48786 --
48787 l_balance_type_code := 'E';
48788 l_segment := NULL;
48789 l_ccid := NULL;
48790 l_adr_transaction_coa_id := NULL;
48791 l_adr_accounting_coa_id := NULL;
48792 l_adr_flexfield_segment_code := NULL;
48793 l_adr_flex_value_set_id := NULL;
48794 l_adr_value_type_code := NULL;
48795 l_adr_value_combination_id := NULL;
48796 l_adr_value_segment_code := NULL;
48797
48798 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
48799 l_bflow_class_code := 'AP_INV_ENCUM'; -- 4219869 Business Flow
48800 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
48801 l_budgetary_control_flag := 'Y';
48802
48803 l_bflow_applied_to_amt_idx := NULL; -- 5132302
48804 l_bflow_applied_to_amt := NULL; -- 5132302
48805 l_entered_amt_idx := NULL; -- 4262811
48806 l_accted_amt_idx := NULL; -- 4262811
48807 l_acc_rev_flag := NULL; -- 4262811
48808 l_accrual_line_num := NULL; -- 4262811
48809 l_tmp_amt := NULL; -- 4262811
48810 --
48811
48812 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
48813 l_balance_type_code <> 'B' THEN
48814 IF NVL(p_source_15,'
48815 ') = 'NONREC_TAX' AND
48816 p_source_81 IS NOT NULL AND
48817 NVL(p_source_17,'
48818 ') = 'Y' AND
48819 NVL(p_source_18,'
48820 ') <> 'Y'
48821 THEN
48822
48823 --
48824 XLA_AE_LINES_PKG.SetNewLine;
48825
48826 p_balance_type_code := l_balance_type_code;
48827 -- set the flag so later we will know whether the gain loss line needs to be created
48828
48829 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
48830 p_actual_flag :='A';
48831 END IF;
48832
48833 --
48834 -- bulk performance
48835 --
48836 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
48837 p_header_num => 0); -- 4262811
48838 --
48839 -- set accounting line options
48840 --
48841 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
48842 p_natural_side_code => 'D'
48843 , p_gain_or_loss_flag => 'N'
48844 , p_gl_transfer_mode_code => 'S'
48845 , p_acct_entry_type_code => 'E'
48846 , p_switch_side_flag => 'Y'
48847 , p_merge_duplicate_code => 'N'
48848 );
48849 --
48850 l_acc_rev_natural_side_code := 'C'; -- 4262811
48851 --
48852 --
48853 -- set accounting line type info
48854 --
48855 xla_ae_lines_pkg.SetAcctLineType
48856 (p_component_type => l_component_type
48857 ,p_event_type_code => l_event_type_code
48858 ,p_line_definition_owner_code => l_line_definition_owner_code
48859 ,p_line_definition_code => l_line_definition_code
48860 ,p_accounting_line_code => l_component_code
48861 ,p_accounting_line_type_code => l_component_type_code
48862 ,p_accounting_line_appl_id => l_component_appl_id
48863 ,p_amb_context_code => l_amb_context_code
48864 ,p_entity_code => l_entity_code
48865 ,p_event_class_code => l_event_class_code);
48866 --
48867 -- set accounting class
48868 --
48869 xla_ae_lines_pkg.SetAcctClass(
48870 p_accounting_class_code => 'TQV'
48871 , p_ae_header_id => l_ae_header_id
48872 );
48873
48874 --
48875 -- set rounding class
48876 --
48880 --
48877 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
48878 'TQV';
48879
48881 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
48882 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
48883 --
48884 -- bulk performance
48885 --
48886 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
48887
48888 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
48889 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
48890
48891 -- 4955764
48892 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
48893 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
48894
48895 -- 4458381 Public Sector Enh
48896 XLA_AE_LINES_PKG.g_rec_lines.array_encumbrance_type_id(XLA_AE_LINES_PKG.g_LineNumber) := 1060;
48897 --
48898 -- set accounting attributes for the line type
48899 --
48900 l_entered_amt_idx := 23;
48901 l_accted_amt_idx := 28;
48902 l_bflow_applied_to_amt_idx := NULL; -- 5132302
48903 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
48904 l_rec_acct_attrs.array_char_value(1) := p_source_19;
48905 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
48906 l_rec_acct_attrs.array_num_value(2) :=
48907 xla_ae_sources_pkg.GetSystemSourceNum(
48908 p_source_code => 'XLA_EVENT_APPL_ID'
48909 , p_source_type_code => 'Y'
48910 , p_source_application_id => 602
48911 );
48912 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
48913 l_rec_acct_attrs.array_char_value(3) := p_source_21;
48914 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
48915 l_rec_acct_attrs.array_char_value(4) :=
48916 xla_ae_sources_pkg.GetSystemSourceChar(
48917 p_source_code => 'XLA_ENTITY_CODE'
48918 , p_source_type_code => 'Y'
48919 , p_source_application_id => 602
48920 );
48921 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
48922 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_23);
48923 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
48924 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_24);
48925 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
48926 l_rec_acct_attrs.array_num_value(7) := p_source_25;
48927 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
48928 l_rec_acct_attrs.array_char_value(8) := p_source_26;
48929 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
48930 l_rec_acct_attrs.array_char_value(9) := p_source_27;
48931 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
48932 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_28);
48933 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
48934 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_29);
48935 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
48936 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_30);
48937 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
48938 l_rec_acct_attrs.array_char_value(13) := p_source_21;
48939 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
48940 l_rec_acct_attrs.array_num_value(14) := p_source_31;
48941 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
48942 l_rec_acct_attrs.array_num_value(15) := p_source_32;
48943 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
48944 l_rec_acct_attrs.array_char_value(16) := p_source_33;
48945 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
48946 l_rec_acct_attrs.array_num_value(17) := p_source_34;
48947 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
48948 l_rec_acct_attrs.array_num_value(18) := p_source_35;
48949 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
48950 l_rec_acct_attrs.array_num_value(19) := p_source_36;
48951 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
48952 l_rec_acct_attrs.array_char_value(20) := p_source_33;
48953 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
48954 l_rec_acct_attrs.array_num_value(21) := p_source_37;
48955 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
48956 l_rec_acct_attrs.array_char_value(22) := p_source_38;
48957 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
48958 l_rec_acct_attrs.array_num_value(23) := p_source_81;
48959 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
48960 l_rec_acct_attrs.array_char_value(24) := p_source_33;
48961 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
48962 l_rec_acct_attrs.array_date_value(25) := p_source_39;
48963 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
48964 l_rec_acct_attrs.array_num_value(26) := p_source_40;
48965 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
48966 l_rec_acct_attrs.array_char_value(27) := p_source_41;
48967 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
48968 l_rec_acct_attrs.array_num_value(28) := p_source_82;
48969 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
48970 l_rec_acct_attrs.array_date_value(29) := p_source_43;
48971 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
48975 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
48972 l_rec_acct_attrs.array_char_value(30) := p_source_44;
48973 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
48974 l_rec_acct_attrs.array_date_value(31) := p_source_45;
48976 l_rec_acct_attrs.array_char_value(32) := p_source_46;
48977 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
48978 l_rec_acct_attrs.array_num_value(33) := p_source_47;
48979 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
48980 l_rec_acct_attrs.array_num_value(34) := p_source_48;
48981 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
48982 l_rec_acct_attrs.array_char_value(35) := p_source_49;
48983 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
48984 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_50);
48985 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
48986 l_rec_acct_attrs.array_char_value(37) := p_source_21;
48987 l_rec_acct_attrs.array_acct_attr_code(38) := 'TAX_LINE_REF_ID';
48988 l_rec_acct_attrs.array_num_value(38) := p_source_52;
48989 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_REC_NREC_DIST_REF_ID';
48990 l_rec_acct_attrs.array_num_value(39) := p_source_53;
48991 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_SUMMARY_LINE_REF_ID';
48992 l_rec_acct_attrs.array_num_value(40) := p_source_54;
48993 l_rec_acct_attrs.array_acct_attr_code(41) := 'UPG_CR_ENC_TYPE_ID';
48994 l_rec_acct_attrs.array_num_value(41) := p_source_55;
48995 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_DR_ENC_TYPE_ID';
48996 l_rec_acct_attrs.array_num_value(42) := p_source_56;
48997
48998 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
48999 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
49000
49001 ---------------------------------------------------------------------------------------------------------------
49002 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
49003 ---------------------------------------------------------------------------------------------------------------
49004 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
49005
49006 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
49007 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
49008
49009 IF xla_accounting_cache_pkg.GetValueChar
49010 (p_source_code => 'LEDGER_CATEGORY_CODE'
49011 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
49012 AND l_bflow_method_code = 'PRIOR_ENTRY'
49013 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
49014 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
49015 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
49016 )
49017 THEN
49018 xla_ae_lines_pkg.BflowUpgEntry
49019 (p_business_method_code => l_bflow_method_code
49020 ,p_business_class_code => l_bflow_class_code
49021 ,p_balance_type => l_balance_type_code);
49022 ELSE
49023 NULL;
49024 -- No business flow processing for business flow method of NONE.
49025 END IF;
49026
49027 --
49028 -- call analytical criteria
49029 --
49030
49031 --
49032 -- call description
49033 --
49034
49035 xla_ae_lines_pkg.SetLineDescription(
49036 p_ae_header_id => l_ae_header_id
49037 ,p_description => Description_2 (
49038 p_application_id => p_application_id
49039 , p_ae_header_id => l_ae_header_id
49040 , p_source_1 => p_source_1
49041 )
49042 );
49043
49044
49045 --
49046 -- call ADRs
49047 -- Bug 4922099
49048 --
49049 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
49050 (NVL(l_actual_upg_option, 'N') = 'O') OR
49051 (NVL(l_enc_upg_option, 'N') = 'O')
49052 )
49053 THEN
49054 NULL;
49055 --
49056 --
49057
49058 l_ccid := AcctDerRule_7(
49059 p_application_id => p_application_id
49060 , p_ae_header_id => l_ae_header_id
49061 , p_source_11 => p_source_11
49062 , x_transaction_coa_id => l_adr_transaction_coa_id
49063 , x_accounting_coa_id => l_adr_accounting_coa_id
49064 , x_value_type_code => l_adr_value_type_code
49065 , p_side => 'NA'
49066 );
49067
49068 xla_ae_lines_pkg.set_ccid(
49069 p_code_combination_id => l_ccid
49070 , p_value_type_code => l_adr_value_type_code
49071 , p_transaction_coa_id => l_adr_transaction_coa_id
49072 , p_accounting_coa_id => l_adr_accounting_coa_id
49073 , p_adr_code => 'AP_INVOICE_DIST'
49074 , p_adr_type_code => 'S'
49075 , p_component_type => l_component_type
49076 , p_component_code => l_component_code
49077 , p_component_type_code => l_component_type_code
49078 , p_component_appl_id => l_component_appl_id
49079 , p_amb_context_code => l_amb_context_code
49080 , p_side => 'NA'
49081 );
49082
49083
49084 --
49085 --
49089 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
49086 END IF;
49087 --
49088 -- Bug 4922099
49090 (NVL(l_enc_upg_option, 'N') = 'O')
49091 ) AND
49092 (l_bflow_method_code = 'PRIOR_ENTRY')
49093 )
49094 THEN
49095 IF
49096 --
49097 1 = 2
49098 --
49099 THEN
49100 xla_accounting_err_pkg.build_message
49101 (p_appli_s_name => 'XLA'
49102 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
49103 ,p_token_1 => 'LINE_NUMBER'
49104 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
49105 ,p_token_2 => 'LINE_TYPE_NAME'
49106 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
49107 l_component_type
49108 ,l_component_code
49109 ,l_component_type_code
49110 ,l_component_appl_id
49111 ,l_amb_context_code
49112 ,l_entity_code
49113 ,l_event_class_code
49114 )
49115 ,p_token_3 => 'OWNER'
49116 ,p_value_3 => xla_lookups_pkg.get_meaning(
49117 p_lookup_type => 'XLA_OWNER_TYPE'
49118 ,p_lookup_code => l_component_type_code
49119 )
49120 ,p_token_4 => 'PRODUCT_NAME'
49121 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
49122 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
49123 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
49124 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
49125 ,p_ae_header_id => NULL
49126 );
49127
49128 IF (C_LEVEL_ERROR>= g_log_level) THEN
49129 trace
49130 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
49131 ,p_level => C_LEVEL_ERROR
49132 ,p_module => l_log_module);
49133 END IF;
49134 END IF;
49135 END IF;
49136 --
49137 --
49138 ------------------------------------------------------------------------------------------------
49139 -- 4219869 Business Flow
49140 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
49141 -- Prior Entry. Currently, the following code is always generated.
49142 ------------------------------------------------------------------------------------------------
49143 XLA_AE_LINES_PKG.ValidateCurrentLine;
49144
49145 ------------------------------------------------------------------------------------
49146 -- 4219869 Business Flow
49147 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
49148 ------------------------------------------------------------------------------------
49149 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
49150
49151 ----------------------------------------------------------------------------------
49152 -- 4219869 Business Flow
49153 -- Update journal entry status -- Need to generate this within IF <condition>
49154 ----------------------------------------------------------------------------------
49155 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
49156 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
49157 ,p_balance_type_code => l_balance_type_code
49158 );
49159
49160 -------------------------------------------------------------------------------------------
49161 -- 4262811 - Generate the Accrual Reversal lines
49162 -------------------------------------------------------------------------------------------
49163 BEGIN
49164 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
49165 (g_array_event(p_event_id).array_value_num('header_index'));
49166 IF l_acc_rev_flag IS NULL THEN
49167 l_acc_rev_flag := 'N';
49168 END IF;
49169 EXCEPTION
49170 WHEN OTHERS THEN
49171 l_acc_rev_flag := 'N';
49172 END;
49173 --
49174 IF (l_acc_rev_flag = 'Y') THEN
49175
49176 -- 4645092 ------------------------------------------------------------------------------
49177 -- To allow MPA report to determine if it should generate report process
49178 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
49182 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
49179 ------------------------------------------------------------------------------------------
49180
49181 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
49183 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
49184 -- call ADRs
49185 -- Bug 4922099
49186 --
49187 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
49188 (NVL(l_actual_upg_option, 'N') = 'O') OR
49189 (NVL(l_enc_upg_option, 'N') = 'O')
49190 )
49191 THEN
49192 NULL;
49193 --
49194 --
49195
49196 l_ccid := AcctDerRule_7(
49197 p_application_id => p_application_id
49198 , p_ae_header_id => l_ae_header_id
49199 , p_source_11 => p_source_11
49200 , x_transaction_coa_id => l_adr_transaction_coa_id
49201 , x_accounting_coa_id => l_adr_accounting_coa_id
49202 , x_value_type_code => l_adr_value_type_code
49203 , p_side => 'NA'
49204 );
49205
49206 xla_ae_lines_pkg.set_ccid(
49207 p_code_combination_id => l_ccid
49208 , p_value_type_code => l_adr_value_type_code
49209 , p_transaction_coa_id => l_adr_transaction_coa_id
49210 , p_accounting_coa_id => l_adr_accounting_coa_id
49211 , p_adr_code => 'AP_INVOICE_DIST'
49212 , p_adr_type_code => 'S'
49213 , p_component_type => l_component_type
49214 , p_component_code => l_component_code
49215 , p_component_type_code => l_component_type_code
49216 , p_component_appl_id => l_component_appl_id
49217 , p_amb_context_code => l_amb_context_code
49218 , p_side => 'NA'
49219 );
49220
49221
49222 --
49223 --
49224 END IF;
49225
49226 --
49227 -- Update the line information that should be overwritten
49228 --
49229 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
49230 p_header_num => 1);
49231 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
49232
49233 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
49234
49235 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
49236 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
49237 END IF;
49238
49239 --
49240 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
49241 --
49242 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
49243 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
49244 ELSE
49245 ---------------------------------------------------------------------------------------------------
49246 -- 4262811a Switch Sign
49247 ---------------------------------------------------------------------------------------------------
49248 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
49249 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
49250 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
49251 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
49252 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
49253 -- 5132302
49254 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
49255 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
49256
49257 END IF;
49258
49259 -- 4955764
49260 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
49261 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
49262
49263
49264 XLA_AE_LINES_PKG.ValidateCurrentLine;
49265 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
49266
49267 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
49268 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
49269 ,p_balance_type_code => l_balance_type_code);
49270
49271 END IF;
49272
49273 -----------------------------------------------------------------------------------------
49274 -- 4262811 Multiperiod Accounting
49275 -----------------------------------------------------------------------------------------
49276 -- No MPA option is assigned.
49277
49278
49279 END IF;
49280 END IF;
49281 --
49282
49283 --
49284 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
49285 trace
49286 (p_msg => 'END of AcctLineType_78'
49287 ,p_level => C_LEVEL_PROCEDURE
49288 ,p_module => l_log_module);
49289 END IF;
49290 --
49291 EXCEPTION
49292 WHEN xla_exceptions_pkg.application_exception THEN
49293 RAISE;
49294 WHEN OTHERS THEN
49295 xla_exceptions_pkg.raise_message
49299
49296 (p_location => 'XLA_00200_AAD_S_000006_BC_PKG.AcctLineType_78');
49297 END AcctLineType_78;
49298 --
49300 ---------------------------------------
49301 --
49302 -- PRIVATE FUNCTION
49303 -- AcctLineType_79
49304 --
49305 ---------------------------------------
49306 PROCEDURE AcctLineType_79 (
49307 p_application_id IN NUMBER
49308 ,p_event_id IN NUMBER
49309 ,p_calculate_acctd_flag IN VARCHAR2
49310 ,p_calculate_g_l_flag IN VARCHAR2
49311 ,p_actual_flag IN OUT VARCHAR2
49312 ,p_balance_type_code OUT VARCHAR2
49313 ,p_gain_or_loss_ref OUT VARCHAR2
49314
49315 --Invoice Distribution Description
49316 , p_source_1 IN VARCHAR2
49317 --Invoice Distribution Account
49318 , p_source_11 IN NUMBER
49319 --Invoice Distribution Type
49320 , p_source_15 IN VARCHAR2
49321 , p_source_15_meaning IN VARCHAR2
49322 --Purchasing Encumbrance Option
49323 , p_source_17 IN VARCHAR2
49324 , p_source_17_meaning IN VARCHAR2
49325 --Accrue on Receipt Option
49326 , p_source_18 IN VARCHAR2
49327 , p_source_18_meaning IN VARCHAR2
49328 --Accounting Reversal Indicator
49329 , p_source_19 IN VARCHAR2
49330 --Distribution Link Type
49331 , p_source_21 IN VARCHAR2
49332 --Allocation to Main Distribution Identifier
49333 , p_source_23 IN NUMBER
49334 --Invoice Identifier
49335 , p_source_24 IN NUMBER
49336 --Business Flow Accounts Payable Application Identifier
49337 , p_source_25 IN NUMBER
49338 --Business Flow Invoice Distribution Type
49339 , p_source_26 IN VARCHAR2
49340 --Business Flow Invoice Entity Code
49341 , p_source_27 IN VARCHAR2
49342 --Business Flow Invoice Distribution Identifier
49343 , p_source_28 IN NUMBER
49344 --Business Flow Invoice Identifier
49345 , p_source_29 IN NUMBER
49346 --Invoice Distribution Identifier
49347 , p_source_30 IN NUMBER
49348 --Payables Encumbrance Upgrade Credit Account
49349 , p_source_31 IN NUMBER
49350 --Payables Encumbrance Upgrade Credit Amount
49351 , p_source_32 IN NUMBER
49352 --Invoice Currency Code
49353 , p_source_33 IN VARCHAR2
49354 --Payables Encumbrance Upgrade Credit Base Amount
49355 , p_source_34 IN NUMBER
49356 --Payables Encumbrance Upgrade Debit Account
49357 , p_source_35 IN NUMBER
49358 --Payables Encumbrance Upgrade Debit Amount
49359 , p_source_36 IN NUMBER
49360 --Payables Encumbrance Upgrade Debit Base Amount
49361 , p_source_37 IN NUMBER
49362 --Payables Encumbrance Upgrade Option
49363 , p_source_38 IN VARCHAR2
49364 --Invoice Exchange Date
49365 , p_source_39 IN DATE
49366 --Invoice Exchange Rate
49367 , p_source_40 IN NUMBER
49368 --Invoice Exchange Rate Type
49369 , p_source_41 IN VARCHAR2
49370 --Deferred Accounting End Date
49371 , p_source_43 IN DATE
49372 --Deferred Accounting Option
49373 , p_source_44 IN VARCHAR2
49374 --Deferred Accounting Start Date
49375 , p_source_45 IN DATE
49376 --Override Accounted Amount Indicator
49377 , p_source_46 IN VARCHAR2
49378 , p_source_46_meaning IN VARCHAR2
49379 --Invoice Supplier Identifier
49380 , p_source_47 IN NUMBER
49381 --Invoice Supplier Site Identifier
49382 , p_source_48 IN NUMBER
49383 --Third Party Type
49384 , p_source_49 IN VARCHAR2
49385 --Parent Reversal Identifier
49386 , p_source_50 IN NUMBER
49387 --Invoice Distribution Statistical Amount
49388 , p_source_51 IN NUMBER
49389 --Invoice Distribution Tax Line Identifier
49390 , p_source_52 IN NUMBER
49391 --Invoice Distribution Tax Distribution Identifier from Tax
49392 , p_source_53 IN NUMBER
49393 --Invoice Distribution Summary Tax Line Identifier
49394 , p_source_54 IN NUMBER
49395 --Payables Upgrade Credit Encumbrance Type Identifier
49396 , p_source_55 IN NUMBER
49397 --Payables Upgrade Debit Encumbrance Type Identifier
49398 , p_source_56 IN NUMBER
49399 --Invoice Distribution Amount
49400 , p_source_57 IN NUMBER
49401 --Quantity Variance Amount
49402 , p_source_81 IN NUMBER
49403 --Quantity Variance Amount in Ledger Currency
49404 , p_source_82 IN NUMBER
49405 )
49406 IS
49407
49408 l_component_type VARCHAR2(80);
49409 l_component_code VARCHAR2(30);
49410 l_component_type_code VARCHAR2(1);
49411 l_component_appl_id INTEGER;
49412 l_amb_context_code VARCHAR2(30);
49413 l_entity_code VARCHAR2(30);
49414 l_event_class_code VARCHAR2(30);
49415 l_ae_header_id NUMBER;
49416 l_event_type_code VARCHAR2(30);
49417 l_line_definition_code VARCHAR2(30);
49418 l_line_definition_owner_code VARCHAR2(1);
49419 --
49420 -- adr variables
49421 l_segment VARCHAR2(30);
49422 l_ccid NUMBER;
49423 l_adr_transaction_coa_id NUMBER;
49424 l_adr_accounting_coa_id NUMBER;
49425 l_adr_flexfield_segment_code VARCHAR2(30);
49426 l_adr_flex_value_set_id NUMBER;
49427 l_adr_value_type_code VARCHAR2(30);
49428 l_adr_value_combination_id NUMBER;
49429 l_adr_value_segment_code VARCHAR2(30);
49430
49434 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
49431 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
49432 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
49433 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
49435
49436 -- 4262811 Variables ------------------------------------------------------------------------------------------
49437 l_entered_amt_idx NUMBER;
49438 l_accted_amt_idx NUMBER;
49439 l_acc_rev_flag VARCHAR2(1);
49440 l_accrual_line_num NUMBER;
49441 l_tmp_amt NUMBER;
49442 l_acc_rev_natural_side_code VARCHAR2(1);
49443
49444 l_num_entries NUMBER;
49445 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
49446 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
49447 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
49448 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
49449 l_recog_line_1 NUMBER;
49450 l_recog_line_2 NUMBER;
49451
49452 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
49453 l_bflow_applied_to_amt NUMBER; -- 5132302
49454 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
49455
49456 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
49457
49458 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
49459 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
49460
49461 ---------------------------------------------------------------------------------------------------------------
49462
49463
49464 --
49465 -- bulk performance
49466 --
49467 l_balance_type_code VARCHAR2(1);
49468 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
49469 l_log_module VARCHAR2(240);
49470
49471 --
49472 -- Upgrade strategy
49473 --
49474 l_actual_upg_option VARCHAR2(1);
49475 l_enc_upg_option VARCHAR2(1);
49476
49477 --
49478 BEGIN
49479 --
49480 IF g_log_enabled THEN
49481 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_79';
49482 END IF;
49483 --
49484 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
49485
49486 trace
49487 (p_msg => 'BEGIN of AcctLineType_79'
49488 ,p_level => C_LEVEL_PROCEDURE
49489 ,p_module => l_log_module);
49490
49491 END IF;
49492 --
49493 l_component_type := 'AMB_JLT';
49494 l_component_code := 'AP_TAX_QTY_VARIANCE_INV_ENC_DR';
49495 l_component_type_code := 'S';
49496 l_component_appl_id := 200;
49497 l_amb_context_code := 'DEFAULT';
49498 l_entity_code := 'AP_INVOICES';
49499 l_event_class_code := 'INVOICES';
49500 l_event_type_code := 'INVOICES_ALL';
49501 l_line_definition_owner_code := 'S';
49502 l_line_definition_code := 'ENC_INVOICES_ALL';
49503 --
49504 l_balance_type_code := 'E';
49505 l_segment := NULL;
49506 l_ccid := NULL;
49507 l_adr_transaction_coa_id := NULL;
49508 l_adr_accounting_coa_id := NULL;
49509 l_adr_flexfield_segment_code := NULL;
49510 l_adr_flex_value_set_id := NULL;
49511 l_adr_value_type_code := NULL;
49512 l_adr_value_combination_id := NULL;
49513 l_adr_value_segment_code := NULL;
49514
49515 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
49516 l_bflow_class_code := 'AP_INV_ENCUM'; -- 4219869 Business Flow
49517 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
49518 l_budgetary_control_flag := 'Y';
49519
49520 l_bflow_applied_to_amt_idx := NULL; -- 5132302
49521 l_bflow_applied_to_amt := NULL; -- 5132302
49522 l_entered_amt_idx := NULL; -- 4262811
49523 l_accted_amt_idx := NULL; -- 4262811
49524 l_acc_rev_flag := NULL; -- 4262811
49525 l_accrual_line_num := NULL; -- 4262811
49526 l_tmp_amt := NULL; -- 4262811
49527 --
49528
49529 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
49530 l_balance_type_code <> 'B' THEN
49531 IF NVL(p_source_15,'
49532 ') = 'NONREC_TAX' AND
49533 p_source_81 IS NOT NULL AND
49534 NVL(p_source_17,'
49535 ') = 'Y' AND
49536 NVL(p_source_18,'
49537 ') <> 'Y'
49538 THEN
49539
49540 --
49541 XLA_AE_LINES_PKG.SetNewLine;
49542
49543 p_balance_type_code := l_balance_type_code;
49544 -- set the flag so later we will know whether the gain loss line needs to be created
49545
49546 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
49547 p_actual_flag :='A';
49548 END IF;
49549
49550 --
49551 -- bulk performance
49552 --
49553 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
49554 p_header_num => 0); -- 4262811
49555 --
49556 -- set accounting line options
49557 --
49558 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
49559 p_natural_side_code => 'D'
49560 , p_gain_or_loss_flag => 'N'
49561 , p_gl_transfer_mode_code => 'S'
49565 );
49562 , p_acct_entry_type_code => 'E'
49563 , p_switch_side_flag => 'Y'
49564 , p_merge_duplicate_code => 'N'
49566 --
49567 l_acc_rev_natural_side_code := 'C'; -- 4262811
49568 --
49569 --
49570 -- set accounting line type info
49571 --
49572 xla_ae_lines_pkg.SetAcctLineType
49573 (p_component_type => l_component_type
49574 ,p_event_type_code => l_event_type_code
49575 ,p_line_definition_owner_code => l_line_definition_owner_code
49576 ,p_line_definition_code => l_line_definition_code
49577 ,p_accounting_line_code => l_component_code
49578 ,p_accounting_line_type_code => l_component_type_code
49579 ,p_accounting_line_appl_id => l_component_appl_id
49580 ,p_amb_context_code => l_amb_context_code
49581 ,p_entity_code => l_entity_code
49582 ,p_event_class_code => l_event_class_code);
49583 --
49584 -- set accounting class
49585 --
49586 xla_ae_lines_pkg.SetAcctClass(
49587 p_accounting_class_code => 'TQV'
49588 , p_ae_header_id => l_ae_header_id
49589 );
49590
49591 --
49592 -- set rounding class
49593 --
49594 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
49595 'TQV';
49596
49597 --
49598 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
49599 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
49600 --
49601 -- bulk performance
49602 --
49603 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
49604
49605 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
49606 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
49607
49608 -- 4955764
49609 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
49610 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
49611
49612 -- 4458381 Public Sector Enh
49613 XLA_AE_LINES_PKG.g_rec_lines.array_encumbrance_type_id(XLA_AE_LINES_PKG.g_LineNumber) := 1060;
49614 --
49615 -- set accounting attributes for the line type
49616 --
49617 l_entered_amt_idx := 24;
49618 l_accted_amt_idx := 29;
49619 l_bflow_applied_to_amt_idx := 7; -- 5132302
49620 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
49621 l_rec_acct_attrs.array_char_value(1) := p_source_19;
49622 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
49623 l_rec_acct_attrs.array_num_value(2) :=
49624 xla_ae_sources_pkg.GetSystemSourceNum(
49625 p_source_code => 'XLA_EVENT_APPL_ID'
49626 , p_source_type_code => 'Y'
49627 , p_source_application_id => 602
49628 );
49629 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
49630 l_rec_acct_attrs.array_char_value(3) := p_source_21;
49631 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
49632 l_rec_acct_attrs.array_char_value(4) :=
49633 xla_ae_sources_pkg.GetSystemSourceChar(
49634 p_source_code => 'XLA_ENTITY_CODE'
49635 , p_source_type_code => 'Y'
49636 , p_source_application_id => 602
49637 );
49638 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
49639 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_23);
49640 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
49641 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_24);
49642 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_AMOUNT';
49643 l_rec_acct_attrs.array_num_value(7) := p_source_57;
49644 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_APPLICATION_ID';
49645 l_rec_acct_attrs.array_num_value(8) := p_source_25;
49646 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_DISTRIBUTION_TYPE';
49647 l_rec_acct_attrs.array_char_value(9) := p_source_26;
49648 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_ENTITY_CODE';
49649 l_rec_acct_attrs.array_char_value(10) := p_source_27;
49650 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_DIST_ID';
49651 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_28);
49652 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
49653 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_29);
49654 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
49655 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_30);
49656 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_TYPE';
49657 l_rec_acct_attrs.array_char_value(14) := p_source_21;
49658 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
49659 l_rec_acct_attrs.array_num_value(15) := p_source_31;
49660 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
49661 l_rec_acct_attrs.array_num_value(16) := p_source_32;
49662 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
49663 l_rec_acct_attrs.array_char_value(17) := p_source_33;
49664 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
49665 l_rec_acct_attrs.array_num_value(18) := p_source_34;
49666 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_CCID';
49667 l_rec_acct_attrs.array_num_value(19) := p_source_35;
49671 l_rec_acct_attrs.array_char_value(21) := p_source_33;
49668 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_AMT';
49669 l_rec_acct_attrs.array_num_value(20) := p_source_36;
49670 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_CURR';
49672 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_LEDGER_AMT';
49673 l_rec_acct_attrs.array_num_value(22) := p_source_37;
49674 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_OPTION';
49675 l_rec_acct_attrs.array_char_value(23) := p_source_38;
49676 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_AMOUNT';
49677 l_rec_acct_attrs.array_num_value(24) := p_source_81;
49678 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_CODE';
49679 l_rec_acct_attrs.array_char_value(25) := p_source_33;
49680 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_DATE';
49681 l_rec_acct_attrs.array_date_value(26) := p_source_39;
49682 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE';
49683 l_rec_acct_attrs.array_num_value(27) := p_source_40;
49684 l_rec_acct_attrs.array_acct_attr_code(28) := 'EXCHANGE_RATE_TYPE';
49685 l_rec_acct_attrs.array_char_value(28) := p_source_41;
49686 l_rec_acct_attrs.array_acct_attr_code(29) := 'LEDGER_AMOUNT';
49687 l_rec_acct_attrs.array_num_value(29) := p_source_82;
49688 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_END_DATE';
49689 l_rec_acct_attrs.array_date_value(30) := p_source_43;
49690 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_OPTION';
49691 l_rec_acct_attrs.array_char_value(31) := p_source_44;
49692 l_rec_acct_attrs.array_acct_attr_code(32) := 'MULTIPERIOD_START_DATE';
49693 l_rec_acct_attrs.array_date_value(32) := p_source_45;
49694 l_rec_acct_attrs.array_acct_attr_code(33) := 'OVERRIDE_ACCTD_AMT_FLAG';
49695 l_rec_acct_attrs.array_char_value(33) := p_source_46;
49696 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_ID';
49697 l_rec_acct_attrs.array_num_value(34) := p_source_47;
49698 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_SITE_ID';
49699 l_rec_acct_attrs.array_num_value(35) := p_source_48;
49700 l_rec_acct_attrs.array_acct_attr_code(36) := 'PARTY_TYPE';
49701 l_rec_acct_attrs.array_char_value(36) := p_source_49;
49702 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_ID1';
49703 l_rec_acct_attrs.array_num_value(37) := to_char(p_source_50);
49704 l_rec_acct_attrs.array_acct_attr_code(38) := 'REVERSED_DISTRIBUTION_TYPE';
49705 l_rec_acct_attrs.array_char_value(38) := p_source_21;
49706 l_rec_acct_attrs.array_acct_attr_code(39) := 'STATISTICAL_AMOUNT';
49707 l_rec_acct_attrs.array_num_value(39) := p_source_51;
49708 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_LINE_REF_ID';
49709 l_rec_acct_attrs.array_num_value(40) := p_source_52;
49710 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_REC_NREC_DIST_REF_ID';
49711 l_rec_acct_attrs.array_num_value(41) := p_source_53;
49712 l_rec_acct_attrs.array_acct_attr_code(42) := 'TAX_SUMMARY_LINE_REF_ID';
49713 l_rec_acct_attrs.array_num_value(42) := p_source_54;
49714 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_CR_ENC_TYPE_ID';
49715 l_rec_acct_attrs.array_num_value(43) := p_source_55;
49716 l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
49717 l_rec_acct_attrs.array_num_value(44) := p_source_56;
49718
49719 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
49720 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
49721
49722 ---------------------------------------------------------------------------------------------------------------
49723 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
49724 ---------------------------------------------------------------------------------------------------------------
49725 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
49726
49727 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
49728 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
49729
49730 IF xla_accounting_cache_pkg.GetValueChar
49731 (p_source_code => 'LEDGER_CATEGORY_CODE'
49732 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
49733 AND l_bflow_method_code = 'PRIOR_ENTRY'
49734 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
49735 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
49736 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
49737 )
49738 THEN
49739 xla_ae_lines_pkg.BflowUpgEntry
49740 (p_business_method_code => l_bflow_method_code
49741 ,p_business_class_code => l_bflow_class_code
49742 ,p_balance_type => l_balance_type_code);
49743 ELSE
49744 NULL;
49745 -- No business flow processing for business flow method of NONE.
49746 END IF;
49747
49748 --
49749 -- call analytical criteria
49750 --
49751
49752 --
49753 -- call description
49754 --
49755
49756 xla_ae_lines_pkg.SetLineDescription(
49757 p_ae_header_id => l_ae_header_id
49758 ,p_description => Description_2 (
49759 p_application_id => p_application_id
49760 , p_ae_header_id => l_ae_header_id
49761 , p_source_1 => p_source_1
49762 )
49763 );
49764
49768 -- Bug 4922099
49765
49766 --
49767 -- call ADRs
49769 --
49770 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
49771 (NVL(l_actual_upg_option, 'N') = 'O') OR
49772 (NVL(l_enc_upg_option, 'N') = 'O')
49773 )
49774 THEN
49775 NULL;
49776 --
49777 --
49778
49779 l_ccid := AcctDerRule_7(
49780 p_application_id => p_application_id
49781 , p_ae_header_id => l_ae_header_id
49782 , p_source_11 => p_source_11
49783 , x_transaction_coa_id => l_adr_transaction_coa_id
49784 , x_accounting_coa_id => l_adr_accounting_coa_id
49785 , x_value_type_code => l_adr_value_type_code
49786 , p_side => 'NA'
49787 );
49788
49789 xla_ae_lines_pkg.set_ccid(
49790 p_code_combination_id => l_ccid
49791 , p_value_type_code => l_adr_value_type_code
49792 , p_transaction_coa_id => l_adr_transaction_coa_id
49793 , p_accounting_coa_id => l_adr_accounting_coa_id
49794 , p_adr_code => 'AP_INVOICE_DIST'
49795 , p_adr_type_code => 'S'
49796 , p_component_type => l_component_type
49797 , p_component_code => l_component_code
49798 , p_component_type_code => l_component_type_code
49799 , p_component_appl_id => l_component_appl_id
49800 , p_amb_context_code => l_amb_context_code
49801 , p_side => 'NA'
49802 );
49803
49804
49805 --
49806 --
49807 END IF;
49808 --
49809 -- Bug 4922099
49810 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
49811 (NVL(l_enc_upg_option, 'N') = 'O')
49812 ) AND
49813 (l_bflow_method_code = 'PRIOR_ENTRY')
49814 )
49815 THEN
49816 IF
49817 --
49818 1 = 2
49819 --
49820 THEN
49821 xla_accounting_err_pkg.build_message
49822 (p_appli_s_name => 'XLA'
49823 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
49824 ,p_token_1 => 'LINE_NUMBER'
49825 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
49826 ,p_token_2 => 'LINE_TYPE_NAME'
49827 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
49828 l_component_type
49829 ,l_component_code
49830 ,l_component_type_code
49831 ,l_component_appl_id
49832 ,l_amb_context_code
49833 ,l_entity_code
49834 ,l_event_class_code
49835 )
49836 ,p_token_3 => 'OWNER'
49837 ,p_value_3 => xla_lookups_pkg.get_meaning(
49838 p_lookup_type => 'XLA_OWNER_TYPE'
49839 ,p_lookup_code => l_component_type_code
49840 )
49841 ,p_token_4 => 'PRODUCT_NAME'
49842 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
49843 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
49844 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
49845 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
49846 ,p_ae_header_id => NULL
49847 );
49848
49849 IF (C_LEVEL_ERROR>= g_log_level) THEN
49850 trace
49851 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
49852 ,p_level => C_LEVEL_ERROR
49853 ,p_module => l_log_module);
49854 END IF;
49855 END IF;
49856 END IF;
49857 --
49858 --
49859 ------------------------------------------------------------------------------------------------
49860 -- 4219869 Business Flow
49861 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
49862 -- Prior Entry. Currently, the following code is always generated.
49863 ------------------------------------------------------------------------------------------------
49864 XLA_AE_LINES_PKG.ValidateCurrentLine;
49865
49866 ------------------------------------------------------------------------------------
49867 -- 4219869 Business Flow
49868 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
49872 ----------------------------------------------------------------------------------
49869 ------------------------------------------------------------------------------------
49870 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
49871
49873 -- 4219869 Business Flow
49874 -- Update journal entry status -- Need to generate this within IF <condition>
49875 ----------------------------------------------------------------------------------
49876 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
49877 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
49878 ,p_balance_type_code => l_balance_type_code
49879 );
49880
49881 -------------------------------------------------------------------------------------------
49882 -- 4262811 - Generate the Accrual Reversal lines
49883 -------------------------------------------------------------------------------------------
49884 BEGIN
49885 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
49886 (g_array_event(p_event_id).array_value_num('header_index'));
49887 IF l_acc_rev_flag IS NULL THEN
49888 l_acc_rev_flag := 'N';
49889 END IF;
49890 EXCEPTION
49891 WHEN OTHERS THEN
49892 l_acc_rev_flag := 'N';
49893 END;
49894 --
49895 IF (l_acc_rev_flag = 'Y') THEN
49896
49897 -- 4645092 ------------------------------------------------------------------------------
49898 -- To allow MPA report to determine if it should generate report process
49899 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
49900 ------------------------------------------------------------------------------------------
49901
49902 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
49903 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
49904 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
49905 -- call ADRs
49906 -- Bug 4922099
49907 --
49908 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
49909 (NVL(l_actual_upg_option, 'N') = 'O') OR
49910 (NVL(l_enc_upg_option, 'N') = 'O')
49911 )
49912 THEN
49913 NULL;
49914 --
49915 --
49916
49917 l_ccid := AcctDerRule_7(
49918 p_application_id => p_application_id
49919 , p_ae_header_id => l_ae_header_id
49920 , p_source_11 => p_source_11
49921 , x_transaction_coa_id => l_adr_transaction_coa_id
49922 , x_accounting_coa_id => l_adr_accounting_coa_id
49923 , x_value_type_code => l_adr_value_type_code
49924 , p_side => 'NA'
49925 );
49926
49927 xla_ae_lines_pkg.set_ccid(
49928 p_code_combination_id => l_ccid
49929 , p_value_type_code => l_adr_value_type_code
49930 , p_transaction_coa_id => l_adr_transaction_coa_id
49931 , p_accounting_coa_id => l_adr_accounting_coa_id
49932 , p_adr_code => 'AP_INVOICE_DIST'
49933 , p_adr_type_code => 'S'
49934 , p_component_type => l_component_type
49935 , p_component_code => l_component_code
49936 , p_component_type_code => l_component_type_code
49937 , p_component_appl_id => l_component_appl_id
49938 , p_amb_context_code => l_amb_context_code
49939 , p_side => 'NA'
49940 );
49941
49942
49943 --
49944 --
49945 END IF;
49946
49947 --
49948 -- Update the line information that should be overwritten
49949 --
49950 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
49951 p_header_num => 1);
49952 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
49953
49954 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
49955
49956 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
49957 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
49958 END IF;
49959
49960 --
49961 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
49962 --
49963 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
49964 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
49965 ELSE
49966 ---------------------------------------------------------------------------------------------------
49967 -- 4262811a Switch Sign
49968 ---------------------------------------------------------------------------------------------------
49969 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
49970 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
49971 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
49972 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
49973 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
49974 -- 5132302
49975 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
49979
49976 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
49977
49978 END IF;
49980 -- 4955764
49981 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
49982 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
49983
49984
49985 XLA_AE_LINES_PKG.ValidateCurrentLine;
49986 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
49987
49988 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
49989 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
49990 ,p_balance_type_code => l_balance_type_code);
49991
49992 END IF;
49993
49994 -----------------------------------------------------------------------------------------
49995 -- 4262811 Multiperiod Accounting
49996 -----------------------------------------------------------------------------------------
49997 -- No MPA option is assigned.
49998
49999
50000 END IF;
50001 END IF;
50002 --
50003
50004 --
50005 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
50006 trace
50007 (p_msg => 'END of AcctLineType_79'
50008 ,p_level => C_LEVEL_PROCEDURE
50009 ,p_module => l_log_module);
50010 END IF;
50011 --
50012 EXCEPTION
50013 WHEN xla_exceptions_pkg.application_exception THEN
50014 RAISE;
50015 WHEN OTHERS THEN
50016 xla_exceptions_pkg.raise_message
50017 (p_location => 'XLA_00200_AAD_S_000006_BC_PKG.AcctLineType_79');
50018 END AcctLineType_79;
50019 --
50020
50021 ---------------------------------------
50022 --
50023 -- PRIVATE FUNCTION
50024 -- AcctLineType_80
50025 --
50026 ---------------------------------------
50027 PROCEDURE AcctLineType_80 (
50028 p_application_id IN NUMBER
50029 ,p_event_id IN NUMBER
50030 ,p_calculate_acctd_flag IN VARCHAR2
50031 ,p_calculate_g_l_flag IN VARCHAR2
50032 ,p_actual_flag IN OUT VARCHAR2
50033 ,p_balance_type_code OUT VARCHAR2
50034 ,p_gain_or_loss_ref OUT VARCHAR2
50035
50036 --Invoice Distribution Description
50037 , p_source_1 IN VARCHAR2
50038 --Invoice Distribution Account
50039 , p_source_11 IN NUMBER
50040 --Invoice Distribution Type
50041 , p_source_15 IN VARCHAR2
50042 , p_source_15_meaning IN VARCHAR2
50043 --Purchasing Encumbrance Option
50044 , p_source_17 IN VARCHAR2
50045 , p_source_17_meaning IN VARCHAR2
50046 --Accrue on Receipt Option
50047 , p_source_18 IN VARCHAR2
50048 , p_source_18_meaning IN VARCHAR2
50049 --Accounting Reversal Indicator
50050 , p_source_19 IN VARCHAR2
50051 --Distribution Link Type
50052 , p_source_21 IN VARCHAR2
50053 --Allocation to Main Distribution Identifier
50054 , p_source_23 IN NUMBER
50055 --Invoice Identifier
50056 , p_source_24 IN NUMBER
50057 --Business Flow Accounts Payable Application Identifier
50058 , p_source_25 IN NUMBER
50059 --Business Flow Invoice Distribution Type
50060 , p_source_26 IN VARCHAR2
50061 --Business Flow Invoice Entity Code
50062 , p_source_27 IN VARCHAR2
50063 --Business Flow Invoice Distribution Identifier
50064 , p_source_28 IN NUMBER
50065 --Business Flow Invoice Identifier
50066 , p_source_29 IN NUMBER
50067 --Invoice Distribution Identifier
50068 , p_source_30 IN NUMBER
50069 --Payables Encumbrance Upgrade Credit Account
50070 , p_source_31 IN NUMBER
50071 --Payables Encumbrance Upgrade Credit Amount
50072 , p_source_32 IN NUMBER
50073 --Invoice Currency Code
50074 , p_source_33 IN VARCHAR2
50075 --Payables Encumbrance Upgrade Credit Base Amount
50076 , p_source_34 IN NUMBER
50077 --Payables Encumbrance Upgrade Debit Account
50078 , p_source_35 IN NUMBER
50079 --Payables Encumbrance Upgrade Debit Amount
50080 , p_source_36 IN NUMBER
50081 --Payables Encumbrance Upgrade Debit Base Amount
50082 , p_source_37 IN NUMBER
50083 --Payables Encumbrance Upgrade Option
50084 , p_source_38 IN VARCHAR2
50085 --Invoice Exchange Date
50086 , p_source_39 IN DATE
50087 --Invoice Exchange Rate
50088 , p_source_40 IN NUMBER
50089 --Invoice Exchange Rate Type
50090 , p_source_41 IN VARCHAR2
50091 --Deferred Accounting End Date
50092 , p_source_43 IN DATE
50093 --Deferred Accounting Option
50094 , p_source_44 IN VARCHAR2
50095 --Deferred Accounting Start Date
50096 , p_source_45 IN DATE
50097 --Override Accounted Amount Indicator
50098 , p_source_46 IN VARCHAR2
50099 , p_source_46_meaning IN VARCHAR2
50100 --Invoice Supplier Identifier
50101 , p_source_47 IN NUMBER
50102 --Invoice Supplier Site Identifier
50103 , p_source_48 IN NUMBER
50104 --Third Party Type
50105 , p_source_49 IN VARCHAR2
50106 --Parent Reversal Identifier
50107 , p_source_50 IN NUMBER
50108 --Invoice Distribution Statistical Amount
50109 , p_source_51 IN NUMBER
50110 --Invoice Distribution Tax Line Identifier
50111 , p_source_52 IN NUMBER
50112 --Invoice Distribution Tax Distribution Identifier from Tax
50113 , p_source_53 IN NUMBER
50117 , p_source_55 IN NUMBER
50114 --Invoice Distribution Summary Tax Line Identifier
50115 , p_source_54 IN NUMBER
50116 --Payables Upgrade Credit Encumbrance Type Identifier
50118 --Payables Upgrade Debit Encumbrance Type Identifier
50119 , p_source_56 IN NUMBER
50120 --Quantity Variance Amount
50121 , p_source_81 IN NUMBER
50122 --Quantity Variance Amount in Ledger Currency
50123 , p_source_82 IN NUMBER
50124 )
50125 IS
50126
50127 l_component_type VARCHAR2(80);
50128 l_component_code VARCHAR2(30);
50129 l_component_type_code VARCHAR2(1);
50130 l_component_appl_id INTEGER;
50131 l_amb_context_code VARCHAR2(30);
50132 l_entity_code VARCHAR2(30);
50133 l_event_class_code VARCHAR2(30);
50134 l_ae_header_id NUMBER;
50135 l_event_type_code VARCHAR2(30);
50136 l_line_definition_code VARCHAR2(30);
50137 l_line_definition_owner_code VARCHAR2(1);
50138 --
50139 -- adr variables
50140 l_segment VARCHAR2(30);
50141 l_ccid NUMBER;
50142 l_adr_transaction_coa_id NUMBER;
50143 l_adr_accounting_coa_id NUMBER;
50144 l_adr_flexfield_segment_code VARCHAR2(30);
50145 l_adr_flex_value_set_id NUMBER;
50146 l_adr_value_type_code VARCHAR2(30);
50147 l_adr_value_combination_id NUMBER;
50148 l_adr_value_segment_code VARCHAR2(30);
50149
50150 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
50151 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
50152 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
50153 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
50154
50155 -- 4262811 Variables ------------------------------------------------------------------------------------------
50156 l_entered_amt_idx NUMBER;
50157 l_accted_amt_idx NUMBER;
50158 l_acc_rev_flag VARCHAR2(1);
50159 l_accrual_line_num NUMBER;
50160 l_tmp_amt NUMBER;
50161 l_acc_rev_natural_side_code VARCHAR2(1);
50162
50163 l_num_entries NUMBER;
50164 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
50165 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
50166 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
50167 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
50168 l_recog_line_1 NUMBER;
50169 l_recog_line_2 NUMBER;
50170
50171 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
50172 l_bflow_applied_to_amt NUMBER; -- 5132302
50173 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
50174
50175 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
50176
50177 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
50178 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
50179
50180 ---------------------------------------------------------------------------------------------------------------
50181
50182
50183 --
50184 -- bulk performance
50185 --
50186 l_balance_type_code VARCHAR2(1);
50187 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
50188 l_log_module VARCHAR2(240);
50189
50190 --
50191 -- Upgrade strategy
50192 --
50193 l_actual_upg_option VARCHAR2(1);
50194 l_enc_upg_option VARCHAR2(1);
50195
50196 --
50197 BEGIN
50198 --
50199 IF g_log_enabled THEN
50200 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_80';
50201 END IF;
50202 --
50203 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
50204
50205 trace
50206 (p_msg => 'BEGIN of AcctLineType_80'
50207 ,p_level => C_LEVEL_PROCEDURE
50208 ,p_module => l_log_module);
50209
50210 END IF;
50211 --
50212 l_component_type := 'AMB_JLT';
50213 l_component_code := 'AP_TAX_QTY_VARIANCE_PP_ENC_DR';
50214 l_component_type_code := 'S';
50215 l_component_appl_id := 200;
50216 l_amb_context_code := 'DEFAULT';
50217 l_entity_code := 'AP_INVOICES';
50218 l_event_class_code := 'PREPAYMENTS';
50219 l_event_type_code := 'PREPAYMENTS_ALL';
50220 l_line_definition_owner_code := 'S';
50221 l_line_definition_code := 'ENC_PREPAY_ALL';
50222 --
50223 l_balance_type_code := 'E';
50224 l_segment := NULL;
50225 l_ccid := NULL;
50226 l_adr_transaction_coa_id := NULL;
50227 l_adr_accounting_coa_id := NULL;
50228 l_adr_flexfield_segment_code := NULL;
50229 l_adr_flex_value_set_id := NULL;
50230 l_adr_value_type_code := NULL;
50231 l_adr_value_combination_id := NULL;
50232 l_adr_value_segment_code := NULL;
50233
50234 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
50235 l_bflow_class_code := 'AP_INV_ENCUM'; -- 4219869 Business Flow
50236 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
50237 l_budgetary_control_flag := 'Y';
50238
50239 l_bflow_applied_to_amt_idx := NULL; -- 5132302
50240 l_bflow_applied_to_amt := NULL; -- 5132302
50241 l_entered_amt_idx := NULL; -- 4262811
50245 l_tmp_amt := NULL; -- 4262811
50242 l_accted_amt_idx := NULL; -- 4262811
50243 l_acc_rev_flag := NULL; -- 4262811
50244 l_accrual_line_num := NULL; -- 4262811
50246 --
50247
50248 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
50249 l_balance_type_code <> 'B' THEN
50250 IF NVL(p_source_15,'
50251 ') = 'NONREC_TAX' AND
50252 p_source_81 IS NOT NULL AND
50253 NVL(p_source_17,'
50254 ') = 'Y' AND
50255 NVL(p_source_18,'
50256 ') <> 'Y'
50257 THEN
50258
50259 --
50260 XLA_AE_LINES_PKG.SetNewLine;
50261
50262 p_balance_type_code := l_balance_type_code;
50263 -- set the flag so later we will know whether the gain loss line needs to be created
50264
50265 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
50266 p_actual_flag :='A';
50267 END IF;
50268
50269 --
50270 -- bulk performance
50271 --
50272 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
50273 p_header_num => 0); -- 4262811
50274 --
50275 -- set accounting line options
50276 --
50277 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
50278 p_natural_side_code => 'D'
50279 , p_gain_or_loss_flag => 'N'
50280 , p_gl_transfer_mode_code => 'S'
50281 , p_acct_entry_type_code => 'E'
50282 , p_switch_side_flag => 'Y'
50283 , p_merge_duplicate_code => 'N'
50284 );
50285 --
50286 l_acc_rev_natural_side_code := 'C'; -- 4262811
50287 --
50288 --
50289 -- set accounting line type info
50290 --
50291 xla_ae_lines_pkg.SetAcctLineType
50292 (p_component_type => l_component_type
50293 ,p_event_type_code => l_event_type_code
50294 ,p_line_definition_owner_code => l_line_definition_owner_code
50295 ,p_line_definition_code => l_line_definition_code
50296 ,p_accounting_line_code => l_component_code
50297 ,p_accounting_line_type_code => l_component_type_code
50298 ,p_accounting_line_appl_id => l_component_appl_id
50299 ,p_amb_context_code => l_amb_context_code
50300 ,p_entity_code => l_entity_code
50301 ,p_event_class_code => l_event_class_code);
50302 --
50303 -- set accounting class
50304 --
50305 xla_ae_lines_pkg.SetAcctClass(
50306 p_accounting_class_code => 'TQV'
50307 , p_ae_header_id => l_ae_header_id
50308 );
50309
50310 --
50311 -- set rounding class
50312 --
50313 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
50314 'TQV';
50315
50316 --
50317 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
50318 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
50319 --
50320 -- bulk performance
50321 --
50322 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
50323
50324 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
50325 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
50326
50327 -- 4955764
50328 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
50329 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
50330
50331 -- 4458381 Public Sector Enh
50332 XLA_AE_LINES_PKG.g_rec_lines.array_encumbrance_type_id(XLA_AE_LINES_PKG.g_LineNumber) := 1060;
50333 --
50334 -- set accounting attributes for the line type
50335 --
50336 l_entered_amt_idx := 23;
50337 l_accted_amt_idx := 28;
50338 l_bflow_applied_to_amt_idx := NULL; -- 5132302
50339 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
50340 l_rec_acct_attrs.array_char_value(1) := p_source_19;
50341 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
50342 l_rec_acct_attrs.array_num_value(2) :=
50343 xla_ae_sources_pkg.GetSystemSourceNum(
50344 p_source_code => 'XLA_EVENT_APPL_ID'
50345 , p_source_type_code => 'Y'
50346 , p_source_application_id => 602
50347 );
50348 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
50349 l_rec_acct_attrs.array_char_value(3) := p_source_21;
50350 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
50351 l_rec_acct_attrs.array_char_value(4) :=
50352 xla_ae_sources_pkg.GetSystemSourceChar(
50353 p_source_code => 'XLA_ENTITY_CODE'
50354 , p_source_type_code => 'Y'
50355 , p_source_application_id => 602
50356 );
50357 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
50358 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_23);
50359 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
50360 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_24);
50361 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
50362 l_rec_acct_attrs.array_num_value(7) := p_source_25;
50363 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
50364 l_rec_acct_attrs.array_char_value(8) := p_source_26;
50368 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_28);
50365 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
50366 l_rec_acct_attrs.array_char_value(9) := p_source_27;
50367 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
50369 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
50370 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_29);
50371 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
50372 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_30);
50373 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
50374 l_rec_acct_attrs.array_char_value(13) := p_source_21;
50375 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
50376 l_rec_acct_attrs.array_num_value(14) := p_source_31;
50377 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
50378 l_rec_acct_attrs.array_num_value(15) := p_source_32;
50379 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
50380 l_rec_acct_attrs.array_char_value(16) := p_source_33;
50381 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
50382 l_rec_acct_attrs.array_num_value(17) := p_source_34;
50383 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
50384 l_rec_acct_attrs.array_num_value(18) := p_source_35;
50385 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
50386 l_rec_acct_attrs.array_num_value(19) := p_source_36;
50387 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
50388 l_rec_acct_attrs.array_char_value(20) := p_source_33;
50389 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
50390 l_rec_acct_attrs.array_num_value(21) := p_source_37;
50391 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
50392 l_rec_acct_attrs.array_char_value(22) := p_source_38;
50393 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
50394 l_rec_acct_attrs.array_num_value(23) := p_source_81;
50395 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
50396 l_rec_acct_attrs.array_char_value(24) := p_source_33;
50397 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
50398 l_rec_acct_attrs.array_date_value(25) := p_source_39;
50399 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
50400 l_rec_acct_attrs.array_num_value(26) := p_source_40;
50401 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
50402 l_rec_acct_attrs.array_char_value(27) := p_source_41;
50403 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
50404 l_rec_acct_attrs.array_num_value(28) := p_source_82;
50405 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
50406 l_rec_acct_attrs.array_date_value(29) := p_source_43;
50407 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
50408 l_rec_acct_attrs.array_char_value(30) := p_source_44;
50409 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
50410 l_rec_acct_attrs.array_date_value(31) := p_source_45;
50411 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
50412 l_rec_acct_attrs.array_char_value(32) := p_source_46;
50413 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
50414 l_rec_acct_attrs.array_num_value(33) := p_source_47;
50415 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
50416 l_rec_acct_attrs.array_num_value(34) := p_source_48;
50417 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
50418 l_rec_acct_attrs.array_char_value(35) := p_source_49;
50419 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
50420 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_50);
50421 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
50422 l_rec_acct_attrs.array_char_value(37) := p_source_21;
50423 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
50424 l_rec_acct_attrs.array_num_value(38) := p_source_51;
50425 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
50426 l_rec_acct_attrs.array_num_value(39) := p_source_52;
50427 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
50428 l_rec_acct_attrs.array_num_value(40) := p_source_53;
50429 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
50430 l_rec_acct_attrs.array_num_value(41) := p_source_54;
50431 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
50432 l_rec_acct_attrs.array_num_value(42) := p_source_55;
50433 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
50434 l_rec_acct_attrs.array_num_value(43) := p_source_56;
50435
50436 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
50437 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
50438
50439 ---------------------------------------------------------------------------------------------------------------
50440 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
50441 ---------------------------------------------------------------------------------------------------------------
50442 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
50443
50444 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
50448 (p_source_code => 'LEDGER_CATEGORY_CODE'
50445 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
50446
50447 IF xla_accounting_cache_pkg.GetValueChar
50449 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
50450 AND l_bflow_method_code = 'PRIOR_ENTRY'
50451 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
50452 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
50453 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
50454 )
50455 THEN
50456 xla_ae_lines_pkg.BflowUpgEntry
50457 (p_business_method_code => l_bflow_method_code
50458 ,p_business_class_code => l_bflow_class_code
50459 ,p_balance_type => l_balance_type_code);
50460 ELSE
50461 NULL;
50462 -- No business flow processing for business flow method of NONE.
50463 END IF;
50464
50465 --
50466 -- call analytical criteria
50467 --
50468
50469 --
50470 -- call description
50471 --
50472
50473 xla_ae_lines_pkg.SetLineDescription(
50474 p_ae_header_id => l_ae_header_id
50475 ,p_description => Description_2 (
50476 p_application_id => p_application_id
50477 , p_ae_header_id => l_ae_header_id
50478 , p_source_1 => p_source_1
50479 )
50480 );
50481
50482
50483 --
50484 -- call ADRs
50485 -- Bug 4922099
50486 --
50487 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
50488 (NVL(l_actual_upg_option, 'N') = 'O') OR
50489 (NVL(l_enc_upg_option, 'N') = 'O')
50490 )
50491 THEN
50492 NULL;
50493 --
50494 --
50495
50496 l_ccid := AcctDerRule_7(
50497 p_application_id => p_application_id
50498 , p_ae_header_id => l_ae_header_id
50499 , p_source_11 => p_source_11
50500 , x_transaction_coa_id => l_adr_transaction_coa_id
50501 , x_accounting_coa_id => l_adr_accounting_coa_id
50502 , x_value_type_code => l_adr_value_type_code
50503 , p_side => 'NA'
50504 );
50505
50506 xla_ae_lines_pkg.set_ccid(
50507 p_code_combination_id => l_ccid
50508 , p_value_type_code => l_adr_value_type_code
50509 , p_transaction_coa_id => l_adr_transaction_coa_id
50510 , p_accounting_coa_id => l_adr_accounting_coa_id
50511 , p_adr_code => 'AP_INVOICE_DIST'
50512 , p_adr_type_code => 'S'
50513 , p_component_type => l_component_type
50514 , p_component_code => l_component_code
50515 , p_component_type_code => l_component_type_code
50516 , p_component_appl_id => l_component_appl_id
50517 , p_amb_context_code => l_amb_context_code
50518 , p_side => 'NA'
50519 );
50520
50521
50522 --
50523 --
50524 END IF;
50525 --
50526 -- Bug 4922099
50527 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
50528 (NVL(l_enc_upg_option, 'N') = 'O')
50529 ) AND
50530 (l_bflow_method_code = 'PRIOR_ENTRY')
50531 )
50532 THEN
50533 IF
50534 --
50535 1 = 2
50536 --
50537 THEN
50538 xla_accounting_err_pkg.build_message
50539 (p_appli_s_name => 'XLA'
50540 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
50541 ,p_token_1 => 'LINE_NUMBER'
50542 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
50543 ,p_token_2 => 'LINE_TYPE_NAME'
50544 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
50545 l_component_type
50546 ,l_component_code
50547 ,l_component_type_code
50548 ,l_component_appl_id
50549 ,l_amb_context_code
50550 ,l_entity_code
50551 ,l_event_class_code
50552 )
50553 ,p_token_3 => 'OWNER'
50554 ,p_value_3 => xla_lookups_pkg.get_meaning(
50555 p_lookup_type => 'XLA_OWNER_TYPE'
50556 ,p_lookup_code => l_component_type_code
50557 )
50558 ,p_token_4 => 'PRODUCT_NAME'
50559 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
50563 ,p_ae_header_id => NULL
50560 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
50561 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
50562 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
50564 );
50565
50566 IF (C_LEVEL_ERROR>= g_log_level) THEN
50567 trace
50568 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
50569 ,p_level => C_LEVEL_ERROR
50570 ,p_module => l_log_module);
50571 END IF;
50572 END IF;
50573 END IF;
50574 --
50575 --
50576 ------------------------------------------------------------------------------------------------
50577 -- 4219869 Business Flow
50578 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
50579 -- Prior Entry. Currently, the following code is always generated.
50580 ------------------------------------------------------------------------------------------------
50581 XLA_AE_LINES_PKG.ValidateCurrentLine;
50582
50583 ------------------------------------------------------------------------------------
50584 -- 4219869 Business Flow
50585 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
50586 ------------------------------------------------------------------------------------
50587 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
50588
50589 ----------------------------------------------------------------------------------
50590 -- 4219869 Business Flow
50591 -- Update journal entry status -- Need to generate this within IF <condition>
50592 ----------------------------------------------------------------------------------
50593 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
50594 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
50595 ,p_balance_type_code => l_balance_type_code
50596 );
50597
50598 -------------------------------------------------------------------------------------------
50599 -- 4262811 - Generate the Accrual Reversal lines
50600 -------------------------------------------------------------------------------------------
50601 BEGIN
50602 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
50603 (g_array_event(p_event_id).array_value_num('header_index'));
50604 IF l_acc_rev_flag IS NULL THEN
50605 l_acc_rev_flag := 'N';
50606 END IF;
50607 EXCEPTION
50608 WHEN OTHERS THEN
50609 l_acc_rev_flag := 'N';
50610 END;
50611 --
50612 IF (l_acc_rev_flag = 'Y') THEN
50613
50614 -- 4645092 ------------------------------------------------------------------------------
50615 -- To allow MPA report to determine if it should generate report process
50616 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
50617 ------------------------------------------------------------------------------------------
50618
50619 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
50620 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
50621 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
50622 -- call ADRs
50623 -- Bug 4922099
50624 --
50625 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
50626 (NVL(l_actual_upg_option, 'N') = 'O') OR
50627 (NVL(l_enc_upg_option, 'N') = 'O')
50628 )
50629 THEN
50630 NULL;
50631 --
50632 --
50633
50634 l_ccid := AcctDerRule_7(
50635 p_application_id => p_application_id
50636 , p_ae_header_id => l_ae_header_id
50637 , p_source_11 => p_source_11
50638 , x_transaction_coa_id => l_adr_transaction_coa_id
50639 , x_accounting_coa_id => l_adr_accounting_coa_id
50640 , x_value_type_code => l_adr_value_type_code
50641 , p_side => 'NA'
50642 );
50643
50644 xla_ae_lines_pkg.set_ccid(
50645 p_code_combination_id => l_ccid
50646 , p_value_type_code => l_adr_value_type_code
50647 , p_transaction_coa_id => l_adr_transaction_coa_id
50648 , p_accounting_coa_id => l_adr_accounting_coa_id
50649 , p_adr_code => 'AP_INVOICE_DIST'
50650 , p_adr_type_code => 'S'
50651 , p_component_type => l_component_type
50652 , p_component_code => l_component_code
50653 , p_component_type_code => l_component_type_code
50654 , p_component_appl_id => l_component_appl_id
50655 , p_amb_context_code => l_amb_context_code
50656 , p_side => 'NA'
50657 );
50658
50659
50660 --
50661 --
50662 END IF;
50663
50664 --
50665 -- Update the line information that should be overwritten
50666 --
50667 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
50668 p_header_num => 1);
50669 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
50670
50671 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
50672
50676
50673 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
50674 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
50675 END IF;
50677 --
50678 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
50679 --
50680 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
50681 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
50682 ELSE
50683 ---------------------------------------------------------------------------------------------------
50684 -- 4262811a Switch Sign
50685 ---------------------------------------------------------------------------------------------------
50686 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
50687 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
50688 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
50689 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
50690 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
50691 -- 5132302
50692 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
50693 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
50694
50695 END IF;
50696
50697 -- 4955764
50698 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
50699 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
50700
50701
50702 XLA_AE_LINES_PKG.ValidateCurrentLine;
50703 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
50704
50705 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
50706 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
50707 ,p_balance_type_code => l_balance_type_code);
50708
50709 END IF;
50710
50711 -----------------------------------------------------------------------------------------
50712 -- 4262811 Multiperiod Accounting
50713 -----------------------------------------------------------------------------------------
50714 -- No MPA option is assigned.
50715
50716
50717 END IF;
50718 END IF;
50719 --
50720
50721 --
50722 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
50723 trace
50724 (p_msg => 'END of AcctLineType_80'
50725 ,p_level => C_LEVEL_PROCEDURE
50726 ,p_module => l_log_module);
50727 END IF;
50728 --
50729 EXCEPTION
50730 WHEN xla_exceptions_pkg.application_exception THEN
50731 RAISE;
50732 WHEN OTHERS THEN
50733 xla_exceptions_pkg.raise_message
50734 (p_location => 'XLA_00200_AAD_S_000006_BC_PKG.AcctLineType_80');
50735 END AcctLineType_80;
50736 --
50737
50738 ---------------------------------------
50739 --
50740 -- PRIVATE FUNCTION
50741 -- AcctLineType_81
50742 --
50743 ---------------------------------------
50744 PROCEDURE AcctLineType_81 (
50745 p_application_id IN NUMBER
50746 ,p_event_id IN NUMBER
50747 ,p_calculate_acctd_flag IN VARCHAR2
50748 ,p_calculate_g_l_flag IN VARCHAR2
50749 ,p_actual_flag IN OUT VARCHAR2
50750 ,p_balance_type_code OUT VARCHAR2
50751 ,p_gain_or_loss_ref OUT VARCHAR2
50752
50753 --Invoice Distribution Description
50754 , p_source_1 IN VARCHAR2
50755 --Invoice Distribution Account
50756 , p_source_11 IN NUMBER
50757 --Invoice Distribution Type
50758 , p_source_15 IN VARCHAR2
50759 , p_source_15_meaning IN VARCHAR2
50760 --Purchasing Encumbrance Option
50761 , p_source_17 IN VARCHAR2
50762 , p_source_17_meaning IN VARCHAR2
50763 --Accounting Reversal Indicator
50764 , p_source_19 IN VARCHAR2
50765 --Distribution Link Type
50766 , p_source_21 IN VARCHAR2
50767 --Allocation to Main Distribution Identifier
50768 , p_source_23 IN NUMBER
50769 --Invoice Identifier
50770 , p_source_24 IN NUMBER
50771 --Business Flow Accounts Payable Application Identifier
50772 , p_source_25 IN NUMBER
50773 --Business Flow Invoice Distribution Type
50774 , p_source_26 IN VARCHAR2
50775 --Business Flow Invoice Entity Code
50776 , p_source_27 IN VARCHAR2
50777 --Business Flow Invoice Distribution Identifier
50778 , p_source_28 IN NUMBER
50779 --Business Flow Invoice Identifier
50780 , p_source_29 IN NUMBER
50781 --Invoice Distribution Identifier
50782 , p_source_30 IN NUMBER
50783 --Payables Encumbrance Upgrade Credit Account
50784 , p_source_31 IN NUMBER
50785 --Payables Encumbrance Upgrade Credit Amount
50786 , p_source_32 IN NUMBER
50787 --Invoice Currency Code
50788 , p_source_33 IN VARCHAR2
50789 --Payables Encumbrance Upgrade Credit Base Amount
50790 , p_source_34 IN NUMBER
50791 --Payables Encumbrance Upgrade Debit Account
50792 , p_source_35 IN NUMBER
50793 --Payables Encumbrance Upgrade Debit Amount
50794 , p_source_36 IN NUMBER
50795 --Payables Encumbrance Upgrade Debit Base Amount
50799 --Invoice Exchange Date
50796 , p_source_37 IN NUMBER
50797 --Payables Encumbrance Upgrade Option
50798 , p_source_38 IN VARCHAR2
50800 , p_source_39 IN DATE
50801 --Invoice Exchange Rate
50802 , p_source_40 IN NUMBER
50803 --Invoice Exchange Rate Type
50804 , p_source_41 IN VARCHAR2
50805 --Deferred Accounting End Date
50806 , p_source_43 IN DATE
50807 --Deferred Accounting Option
50808 , p_source_44 IN VARCHAR2
50809 --Deferred Accounting Start Date
50810 , p_source_45 IN DATE
50811 --Override Accounted Amount Indicator
50812 , p_source_46 IN VARCHAR2
50813 , p_source_46_meaning IN VARCHAR2
50814 --Invoice Supplier Identifier
50815 , p_source_47 IN NUMBER
50816 --Invoice Supplier Site Identifier
50817 , p_source_48 IN NUMBER
50818 --Third Party Type
50819 , p_source_49 IN VARCHAR2
50820 --Parent Reversal Identifier
50821 , p_source_50 IN NUMBER
50822 --Invoice Distribution Statistical Amount
50823 , p_source_51 IN NUMBER
50824 --Invoice Distribution Tax Line Identifier
50825 , p_source_52 IN NUMBER
50826 --Invoice Distribution Tax Distribution Identifier from Tax
50827 , p_source_53 IN NUMBER
50828 --Invoice Distribution Summary Tax Line Identifier
50829 , p_source_54 IN NUMBER
50830 --Payables Upgrade Credit Encumbrance Type Identifier
50831 , p_source_55 IN NUMBER
50832 --Payables Upgrade Debit Encumbrance Type Identifier
50833 , p_source_56 IN NUMBER
50834 --Invoice Distribution Encumbrance Amount
50835 , p_source_65 IN NUMBER
50836 --Invoice Distribution Encumbrance Ledger Amount
50837 , p_source_66 IN NUMBER
50838 )
50839 IS
50840
50841 l_component_type VARCHAR2(80);
50842 l_component_code VARCHAR2(30);
50843 l_component_type_code VARCHAR2(1);
50844 l_component_appl_id INTEGER;
50845 l_amb_context_code VARCHAR2(30);
50846 l_entity_code VARCHAR2(30);
50847 l_event_class_code VARCHAR2(30);
50848 l_ae_header_id NUMBER;
50849 l_event_type_code VARCHAR2(30);
50850 l_line_definition_code VARCHAR2(30);
50851 l_line_definition_owner_code VARCHAR2(1);
50852 --
50853 -- adr variables
50854 l_segment VARCHAR2(30);
50855 l_ccid NUMBER;
50856 l_adr_transaction_coa_id NUMBER;
50857 l_adr_accounting_coa_id NUMBER;
50858 l_adr_flexfield_segment_code VARCHAR2(30);
50859 l_adr_flex_value_set_id NUMBER;
50860 l_adr_value_type_code VARCHAR2(30);
50861 l_adr_value_combination_id NUMBER;
50862 l_adr_value_segment_code VARCHAR2(30);
50863
50864 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
50865 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
50866 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
50867 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
50868
50869 -- 4262811 Variables ------------------------------------------------------------------------------------------
50870 l_entered_amt_idx NUMBER;
50871 l_accted_amt_idx NUMBER;
50872 l_acc_rev_flag VARCHAR2(1);
50873 l_accrual_line_num NUMBER;
50874 l_tmp_amt NUMBER;
50875 l_acc_rev_natural_side_code VARCHAR2(1);
50876
50877 l_num_entries NUMBER;
50878 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
50879 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
50880 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
50881 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
50882 l_recog_line_1 NUMBER;
50883 l_recog_line_2 NUMBER;
50884
50885 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
50886 l_bflow_applied_to_amt NUMBER; -- 5132302
50887 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
50888
50889 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
50890
50891 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
50892 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
50893
50894 ---------------------------------------------------------------------------------------------------------------
50895
50896
50897 --
50898 -- bulk performance
50899 --
50900 l_balance_type_code VARCHAR2(1);
50901 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
50902 l_log_module VARCHAR2(240);
50903
50904 --
50905 -- Upgrade strategy
50906 --
50907 l_actual_upg_option VARCHAR2(1);
50908 l_enc_upg_option VARCHAR2(1);
50909
50910 --
50911 BEGIN
50912 --
50913 IF g_log_enabled THEN
50914 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_81';
50915 END IF;
50916 --
50917 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
50918
50919 trace
50920 (p_msg => 'BEGIN of AcctLineType_81'
50921 ,p_level => C_LEVEL_PROCEDURE
50922 ,p_module => l_log_module);
50923
50924 END IF;
50925 --
50926 l_component_type := 'AMB_JLT';
50927 l_component_code := 'AP_TAX_RATE_VAR_CM_ENC_DR';
50928 l_component_type_code := 'S';
50932 l_event_class_code := 'CREDIT MEMOS';
50929 l_component_appl_id := 200;
50930 l_amb_context_code := 'DEFAULT';
50931 l_entity_code := 'AP_INVOICES';
50933 l_event_type_code := 'CREDIT MEMOS_ALL';
50934 l_line_definition_owner_code := 'S';
50935 l_line_definition_code := 'ENC_CM_ALL';
50936 --
50937 l_balance_type_code := 'E';
50938 l_segment := NULL;
50939 l_ccid := NULL;
50940 l_adr_transaction_coa_id := NULL;
50941 l_adr_accounting_coa_id := NULL;
50942 l_adr_flexfield_segment_code := NULL;
50943 l_adr_flex_value_set_id := NULL;
50944 l_adr_value_type_code := NULL;
50945 l_adr_value_combination_id := NULL;
50946 l_adr_value_segment_code := NULL;
50947
50948 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
50949 l_bflow_class_code := 'AP_INV_ENCUM'; -- 4219869 Business Flow
50950 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
50951 l_budgetary_control_flag := 'Y';
50952
50953 l_bflow_applied_to_amt_idx := NULL; -- 5132302
50954 l_bflow_applied_to_amt := NULL; -- 5132302
50955 l_entered_amt_idx := NULL; -- 4262811
50956 l_accted_amt_idx := NULL; -- 4262811
50957 l_acc_rev_flag := NULL; -- 4262811
50958 l_accrual_line_num := NULL; -- 4262811
50959 l_tmp_amt := NULL; -- 4262811
50960 --
50961
50962 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
50963 l_balance_type_code <> 'B' THEN
50964 IF NVL(p_source_15,'
50965 ') = 'TRV' AND
50966 NVL(p_source_17,'
50967 ') = 'Y'
50968 THEN
50969
50970 --
50971 XLA_AE_LINES_PKG.SetNewLine;
50972
50973 p_balance_type_code := l_balance_type_code;
50974 -- set the flag so later we will know whether the gain loss line needs to be created
50975
50976 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
50977 p_actual_flag :='A';
50978 END IF;
50979
50980 --
50981 -- bulk performance
50982 --
50983 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
50984 p_header_num => 0); -- 4262811
50985 --
50986 -- set accounting line options
50987 --
50988 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
50989 p_natural_side_code => 'D'
50990 , p_gain_or_loss_flag => 'N'
50991 , p_gl_transfer_mode_code => 'S'
50992 , p_acct_entry_type_code => 'E'
50993 , p_switch_side_flag => 'Y'
50994 , p_merge_duplicate_code => 'N'
50995 );
50996 --
50997 l_acc_rev_natural_side_code := 'C'; -- 4262811
50998 --
50999 --
51000 -- set accounting line type info
51001 --
51002 xla_ae_lines_pkg.SetAcctLineType
51003 (p_component_type => l_component_type
51004 ,p_event_type_code => l_event_type_code
51005 ,p_line_definition_owner_code => l_line_definition_owner_code
51006 ,p_line_definition_code => l_line_definition_code
51007 ,p_accounting_line_code => l_component_code
51008 ,p_accounting_line_type_code => l_component_type_code
51009 ,p_accounting_line_appl_id => l_component_appl_id
51010 ,p_amb_context_code => l_amb_context_code
51011 ,p_entity_code => l_entity_code
51012 ,p_event_class_code => l_event_class_code);
51013 --
51014 -- set accounting class
51015 --
51016 xla_ae_lines_pkg.SetAcctClass(
51017 p_accounting_class_code => 'TRV'
51018 , p_ae_header_id => l_ae_header_id
51019 );
51020
51021 --
51022 -- set rounding class
51023 --
51024 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
51025 'TRV';
51026
51027 --
51028 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
51029 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
51030 --
51031 -- bulk performance
51032 --
51033 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
51034
51035 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
51036 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
51037
51038 -- 4955764
51039 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
51040 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
51041
51042 -- 4458381 Public Sector Enh
51043 XLA_AE_LINES_PKG.g_rec_lines.array_encumbrance_type_id(XLA_AE_LINES_PKG.g_LineNumber) := 1060;
51044 --
51045 -- set accounting attributes for the line type
51046 --
51047 l_entered_amt_idx := 23;
51048 l_accted_amt_idx := 28;
51049 l_bflow_applied_to_amt_idx := NULL; -- 5132302
51050 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
51051 l_rec_acct_attrs.array_char_value(1) := p_source_19;
51052 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
51056 , p_source_type_code => 'Y'
51053 l_rec_acct_attrs.array_num_value(2) :=
51054 xla_ae_sources_pkg.GetSystemSourceNum(
51055 p_source_code => 'XLA_EVENT_APPL_ID'
51057 , p_source_application_id => 602
51058 );
51059 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
51060 l_rec_acct_attrs.array_char_value(3) := p_source_21;
51061 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
51062 l_rec_acct_attrs.array_char_value(4) :=
51063 xla_ae_sources_pkg.GetSystemSourceChar(
51064 p_source_code => 'XLA_ENTITY_CODE'
51065 , p_source_type_code => 'Y'
51066 , p_source_application_id => 602
51067 );
51068 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
51069 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_23);
51070 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
51071 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_24);
51072 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
51073 l_rec_acct_attrs.array_num_value(7) := p_source_25;
51074 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
51075 l_rec_acct_attrs.array_char_value(8) := p_source_26;
51076 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
51077 l_rec_acct_attrs.array_char_value(9) := p_source_27;
51078 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
51079 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_28);
51080 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
51081 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_29);
51082 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
51083 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_30);
51084 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
51085 l_rec_acct_attrs.array_char_value(13) := p_source_21;
51086 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
51087 l_rec_acct_attrs.array_num_value(14) := p_source_31;
51088 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
51089 l_rec_acct_attrs.array_num_value(15) := p_source_32;
51090 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
51091 l_rec_acct_attrs.array_char_value(16) := p_source_33;
51092 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
51093 l_rec_acct_attrs.array_num_value(17) := p_source_34;
51094 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
51095 l_rec_acct_attrs.array_num_value(18) := p_source_35;
51096 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
51097 l_rec_acct_attrs.array_num_value(19) := p_source_36;
51098 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
51099 l_rec_acct_attrs.array_char_value(20) := p_source_33;
51100 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
51101 l_rec_acct_attrs.array_num_value(21) := p_source_37;
51102 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
51103 l_rec_acct_attrs.array_char_value(22) := p_source_38;
51104 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
51105 l_rec_acct_attrs.array_num_value(23) := p_source_65;
51106 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
51107 l_rec_acct_attrs.array_char_value(24) := p_source_33;
51108 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
51109 l_rec_acct_attrs.array_date_value(25) := p_source_39;
51110 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
51111 l_rec_acct_attrs.array_num_value(26) := p_source_40;
51112 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
51113 l_rec_acct_attrs.array_char_value(27) := p_source_41;
51114 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
51115 l_rec_acct_attrs.array_num_value(28) := p_source_66;
51116 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
51117 l_rec_acct_attrs.array_date_value(29) := p_source_43;
51118 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
51119 l_rec_acct_attrs.array_char_value(30) := p_source_44;
51120 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
51121 l_rec_acct_attrs.array_date_value(31) := p_source_45;
51122 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
51123 l_rec_acct_attrs.array_char_value(32) := p_source_46;
51124 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
51125 l_rec_acct_attrs.array_num_value(33) := p_source_47;
51126 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
51127 l_rec_acct_attrs.array_num_value(34) := p_source_48;
51128 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
51129 l_rec_acct_attrs.array_char_value(35) := p_source_49;
51130 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
51131 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_50);
51132 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
51133 l_rec_acct_attrs.array_char_value(37) := p_source_21;
51134 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
51135 l_rec_acct_attrs.array_num_value(38) := p_source_51;
51136 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
51137 l_rec_acct_attrs.array_num_value(39) := p_source_52;
51138 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
51142 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
51139 l_rec_acct_attrs.array_num_value(40) := p_source_53;
51140 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
51141 l_rec_acct_attrs.array_num_value(41) := p_source_54;
51143 l_rec_acct_attrs.array_num_value(42) := p_source_55;
51144 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
51145 l_rec_acct_attrs.array_num_value(43) := p_source_56;
51146
51147 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
51148 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
51149
51150 ---------------------------------------------------------------------------------------------------------------
51151 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
51152 ---------------------------------------------------------------------------------------------------------------
51153 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
51154
51155 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
51156 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
51157
51158 IF xla_accounting_cache_pkg.GetValueChar
51159 (p_source_code => 'LEDGER_CATEGORY_CODE'
51160 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
51161 AND l_bflow_method_code = 'PRIOR_ENTRY'
51162 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
51163 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
51164 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
51165 )
51166 THEN
51167 xla_ae_lines_pkg.BflowUpgEntry
51168 (p_business_method_code => l_bflow_method_code
51169 ,p_business_class_code => l_bflow_class_code
51170 ,p_balance_type => l_balance_type_code);
51171 ELSE
51172 NULL;
51173 -- No business flow processing for business flow method of NONE.
51174 END IF;
51175
51176 --
51177 -- call analytical criteria
51178 --
51179
51180 --
51181 -- call description
51182 --
51183
51184 xla_ae_lines_pkg.SetLineDescription(
51185 p_ae_header_id => l_ae_header_id
51186 ,p_description => Description_2 (
51187 p_application_id => p_application_id
51188 , p_ae_header_id => l_ae_header_id
51189 , p_source_1 => p_source_1
51190 )
51191 );
51192
51193
51194 --
51195 -- call ADRs
51196 -- Bug 4922099
51197 --
51198 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
51199 (NVL(l_actual_upg_option, 'N') = 'O') OR
51200 (NVL(l_enc_upg_option, 'N') = 'O')
51201 )
51202 THEN
51203 NULL;
51204 --
51205 --
51206
51207 l_ccid := AcctDerRule_7(
51208 p_application_id => p_application_id
51209 , p_ae_header_id => l_ae_header_id
51210 , p_source_11 => p_source_11
51211 , x_transaction_coa_id => l_adr_transaction_coa_id
51212 , x_accounting_coa_id => l_adr_accounting_coa_id
51213 , x_value_type_code => l_adr_value_type_code
51214 , p_side => 'NA'
51215 );
51216
51217 xla_ae_lines_pkg.set_ccid(
51218 p_code_combination_id => l_ccid
51219 , p_value_type_code => l_adr_value_type_code
51220 , p_transaction_coa_id => l_adr_transaction_coa_id
51221 , p_accounting_coa_id => l_adr_accounting_coa_id
51222 , p_adr_code => 'AP_INVOICE_DIST'
51223 , p_adr_type_code => 'S'
51224 , p_component_type => l_component_type
51225 , p_component_code => l_component_code
51226 , p_component_type_code => l_component_type_code
51227 , p_component_appl_id => l_component_appl_id
51228 , p_amb_context_code => l_amb_context_code
51229 , p_side => 'NA'
51230 );
51231
51232
51233 --
51234 --
51235 END IF;
51236 --
51237 -- Bug 4922099
51238 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
51239 (NVL(l_enc_upg_option, 'N') = 'O')
51240 ) AND
51241 (l_bflow_method_code = 'PRIOR_ENTRY')
51242 )
51243 THEN
51244 IF
51245 --
51246 1 = 2
51247 --
51248 THEN
51249 xla_accounting_err_pkg.build_message
51250 (p_appli_s_name => 'XLA'
51251 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
51252 ,p_token_1 => 'LINE_NUMBER'
51253 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
51254 ,p_token_2 => 'LINE_TYPE_NAME'
51255 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
51256 l_component_type
51257 ,l_component_code
51261 ,l_entity_code
51258 ,l_component_type_code
51259 ,l_component_appl_id
51260 ,l_amb_context_code
51262 ,l_event_class_code
51263 )
51264 ,p_token_3 => 'OWNER'
51265 ,p_value_3 => xla_lookups_pkg.get_meaning(
51266 p_lookup_type => 'XLA_OWNER_TYPE'
51267 ,p_lookup_code => l_component_type_code
51268 )
51269 ,p_token_4 => 'PRODUCT_NAME'
51270 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
51271 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
51272 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
51273 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
51274 ,p_ae_header_id => NULL
51275 );
51276
51277 IF (C_LEVEL_ERROR>= g_log_level) THEN
51278 trace
51279 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
51280 ,p_level => C_LEVEL_ERROR
51281 ,p_module => l_log_module);
51282 END IF;
51283 END IF;
51284 END IF;
51285 --
51286 --
51287 ------------------------------------------------------------------------------------------------
51288 -- 4219869 Business Flow
51289 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
51290 -- Prior Entry. Currently, the following code is always generated.
51291 ------------------------------------------------------------------------------------------------
51292 XLA_AE_LINES_PKG.ValidateCurrentLine;
51293
51294 ------------------------------------------------------------------------------------
51295 -- 4219869 Business Flow
51296 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
51297 ------------------------------------------------------------------------------------
51298 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
51299
51300 ----------------------------------------------------------------------------------
51301 -- 4219869 Business Flow
51302 -- Update journal entry status -- Need to generate this within IF <condition>
51303 ----------------------------------------------------------------------------------
51304 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
51305 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
51306 ,p_balance_type_code => l_balance_type_code
51307 );
51308
51309 -------------------------------------------------------------------------------------------
51310 -- 4262811 - Generate the Accrual Reversal lines
51311 -------------------------------------------------------------------------------------------
51312 BEGIN
51313 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
51314 (g_array_event(p_event_id).array_value_num('header_index'));
51315 IF l_acc_rev_flag IS NULL THEN
51316 l_acc_rev_flag := 'N';
51317 END IF;
51318 EXCEPTION
51319 WHEN OTHERS THEN
51320 l_acc_rev_flag := 'N';
51321 END;
51322 --
51323 IF (l_acc_rev_flag = 'Y') THEN
51324
51325 -- 4645092 ------------------------------------------------------------------------------
51326 -- To allow MPA report to determine if it should generate report process
51327 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
51328 ------------------------------------------------------------------------------------------
51329
51330 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
51331 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
51332 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
51333 -- call ADRs
51334 -- Bug 4922099
51335 --
51336 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
51337 (NVL(l_actual_upg_option, 'N') = 'O') OR
51338 (NVL(l_enc_upg_option, 'N') = 'O')
51339 )
51340 THEN
51341 NULL;
51342 --
51343 --
51344
51345 l_ccid := AcctDerRule_7(
51346 p_application_id => p_application_id
51347 , p_ae_header_id => l_ae_header_id
51348 , p_source_11 => p_source_11
51349 , x_transaction_coa_id => l_adr_transaction_coa_id
51350 , x_accounting_coa_id => l_adr_accounting_coa_id
51351 , x_value_type_code => l_adr_value_type_code
51352 , p_side => 'NA'
51353 );
51354
51355 xla_ae_lines_pkg.set_ccid(
51356 p_code_combination_id => l_ccid
51357 , p_value_type_code => l_adr_value_type_code
51358 , p_transaction_coa_id => l_adr_transaction_coa_id
51362 , p_component_type => l_component_type
51359 , p_accounting_coa_id => l_adr_accounting_coa_id
51360 , p_adr_code => 'AP_INVOICE_DIST'
51361 , p_adr_type_code => 'S'
51363 , p_component_code => l_component_code
51364 , p_component_type_code => l_component_type_code
51365 , p_component_appl_id => l_component_appl_id
51366 , p_amb_context_code => l_amb_context_code
51367 , p_side => 'NA'
51368 );
51369
51370
51371 --
51372 --
51373 END IF;
51374
51375 --
51376 -- Update the line information that should be overwritten
51377 --
51378 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
51379 p_header_num => 1);
51380 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
51381
51382 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
51383
51384 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
51385 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
51386 END IF;
51387
51388 --
51389 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
51390 --
51391 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
51392 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
51393 ELSE
51394 ---------------------------------------------------------------------------------------------------
51395 -- 4262811a Switch Sign
51396 ---------------------------------------------------------------------------------------------------
51397 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
51398 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
51399 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
51400 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
51401 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
51402 -- 5132302
51403 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
51404 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
51405
51406 END IF;
51407
51408 -- 4955764
51409 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
51410 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
51411
51412
51413 XLA_AE_LINES_PKG.ValidateCurrentLine;
51414 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
51415
51416 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
51417 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
51418 ,p_balance_type_code => l_balance_type_code);
51419
51420 END IF;
51421
51422 -----------------------------------------------------------------------------------------
51423 -- 4262811 Multiperiod Accounting
51424 -----------------------------------------------------------------------------------------
51425 -- No MPA option is assigned.
51426
51427
51428 END IF;
51429 END IF;
51430 --
51431
51432 --
51433 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
51434 trace
51435 (p_msg => 'END of AcctLineType_81'
51436 ,p_level => C_LEVEL_PROCEDURE
51437 ,p_module => l_log_module);
51438 END IF;
51439 --
51440 EXCEPTION
51441 WHEN xla_exceptions_pkg.application_exception THEN
51442 RAISE;
51443 WHEN OTHERS THEN
51444 xla_exceptions_pkg.raise_message
51445 (p_location => 'XLA_00200_AAD_S_000006_BC_PKG.AcctLineType_81');
51446 END AcctLineType_81;
51447 --
51448
51449 ---------------------------------------
51450 --
51451 -- PRIVATE FUNCTION
51452 -- AcctLineType_82
51453 --
51454 ---------------------------------------
51455 PROCEDURE AcctLineType_82 (
51456 p_application_id IN NUMBER
51457 ,p_event_id IN NUMBER
51458 ,p_calculate_acctd_flag IN VARCHAR2
51459 ,p_calculate_g_l_flag IN VARCHAR2
51460 ,p_actual_flag IN OUT VARCHAR2
51461 ,p_balance_type_code OUT VARCHAR2
51462 ,p_gain_or_loss_ref OUT VARCHAR2
51463
51464 --Invoice Distribution Description
51465 , p_source_1 IN VARCHAR2
51466 --Invoice Distribution Account
51467 , p_source_11 IN NUMBER
51468 --Invoice Distribution Type
51469 , p_source_15 IN VARCHAR2
51470 , p_source_15_meaning IN VARCHAR2
51471 --Purchasing Encumbrance Option
51472 , p_source_17 IN VARCHAR2
51473 , p_source_17_meaning IN VARCHAR2
51474 --Accounting Reversal Indicator
51475 , p_source_19 IN VARCHAR2
51476 --Distribution Link Type
51477 , p_source_21 IN VARCHAR2
51478 --Allocation to Main Distribution Identifier
51479 , p_source_23 IN NUMBER
51480 --Invoice Identifier
51481 , p_source_24 IN NUMBER
51485 , p_source_26 IN VARCHAR2
51482 --Business Flow Accounts Payable Application Identifier
51483 , p_source_25 IN NUMBER
51484 --Business Flow Invoice Distribution Type
51486 --Business Flow Invoice Entity Code
51487 , p_source_27 IN VARCHAR2
51488 --Business Flow Invoice Distribution Identifier
51489 , p_source_28 IN NUMBER
51490 --Business Flow Invoice Identifier
51491 , p_source_29 IN NUMBER
51492 --Invoice Distribution Identifier
51493 , p_source_30 IN NUMBER
51494 --Payables Encumbrance Upgrade Credit Account
51495 , p_source_31 IN NUMBER
51496 --Payables Encumbrance Upgrade Credit Amount
51497 , p_source_32 IN NUMBER
51498 --Invoice Currency Code
51499 , p_source_33 IN VARCHAR2
51500 --Payables Encumbrance Upgrade Credit Base Amount
51501 , p_source_34 IN NUMBER
51502 --Payables Encumbrance Upgrade Debit Account
51503 , p_source_35 IN NUMBER
51504 --Payables Encumbrance Upgrade Debit Amount
51505 , p_source_36 IN NUMBER
51506 --Payables Encumbrance Upgrade Debit Base Amount
51507 , p_source_37 IN NUMBER
51508 --Payables Encumbrance Upgrade Option
51509 , p_source_38 IN VARCHAR2
51510 --Invoice Exchange Date
51511 , p_source_39 IN DATE
51512 --Invoice Exchange Rate
51513 , p_source_40 IN NUMBER
51514 --Invoice Exchange Rate Type
51515 , p_source_41 IN VARCHAR2
51516 --Deferred Accounting End Date
51517 , p_source_43 IN DATE
51518 --Deferred Accounting Option
51519 , p_source_44 IN VARCHAR2
51520 --Deferred Accounting Start Date
51521 , p_source_45 IN DATE
51522 --Override Accounted Amount Indicator
51523 , p_source_46 IN VARCHAR2
51524 , p_source_46_meaning IN VARCHAR2
51525 --Invoice Supplier Identifier
51526 , p_source_47 IN NUMBER
51527 --Invoice Supplier Site Identifier
51528 , p_source_48 IN NUMBER
51529 --Third Party Type
51530 , p_source_49 IN VARCHAR2
51531 --Parent Reversal Identifier
51532 , p_source_50 IN NUMBER
51533 --Invoice Distribution Tax Line Identifier
51534 , p_source_52 IN NUMBER
51535 --Invoice Distribution Tax Distribution Identifier from Tax
51536 , p_source_53 IN NUMBER
51537 --Invoice Distribution Summary Tax Line Identifier
51538 , p_source_54 IN NUMBER
51539 --Payables Upgrade Credit Encumbrance Type Identifier
51540 , p_source_55 IN NUMBER
51541 --Payables Upgrade Debit Encumbrance Type Identifier
51542 , p_source_56 IN NUMBER
51543 --Invoice Distribution Encumbrance Amount
51544 , p_source_65 IN NUMBER
51545 --Invoice Distribution Encumbrance Ledger Amount
51546 , p_source_66 IN NUMBER
51547 )
51548 IS
51549
51550 l_component_type VARCHAR2(80);
51551 l_component_code VARCHAR2(30);
51552 l_component_type_code VARCHAR2(1);
51553 l_component_appl_id INTEGER;
51554 l_amb_context_code VARCHAR2(30);
51555 l_entity_code VARCHAR2(30);
51556 l_event_class_code VARCHAR2(30);
51557 l_ae_header_id NUMBER;
51558 l_event_type_code VARCHAR2(30);
51559 l_line_definition_code VARCHAR2(30);
51560 l_line_definition_owner_code VARCHAR2(1);
51561 --
51562 -- adr variables
51563 l_segment VARCHAR2(30);
51564 l_ccid NUMBER;
51565 l_adr_transaction_coa_id NUMBER;
51566 l_adr_accounting_coa_id NUMBER;
51567 l_adr_flexfield_segment_code VARCHAR2(30);
51568 l_adr_flex_value_set_id NUMBER;
51569 l_adr_value_type_code VARCHAR2(30);
51570 l_adr_value_combination_id NUMBER;
51571 l_adr_value_segment_code VARCHAR2(30);
51572
51573 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
51574 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
51575 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
51576 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
51577
51578 -- 4262811 Variables ------------------------------------------------------------------------------------------
51579 l_entered_amt_idx NUMBER;
51580 l_accted_amt_idx NUMBER;
51581 l_acc_rev_flag VARCHAR2(1);
51582 l_accrual_line_num NUMBER;
51583 l_tmp_amt NUMBER;
51584 l_acc_rev_natural_side_code VARCHAR2(1);
51585
51586 l_num_entries NUMBER;
51587 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
51588 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
51589 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
51590 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
51591 l_recog_line_1 NUMBER;
51592 l_recog_line_2 NUMBER;
51593
51594 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
51595 l_bflow_applied_to_amt NUMBER; -- 5132302
51596 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
51597
51598 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
51599
51600 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
51601 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
51602
51606 --
51603 ---------------------------------------------------------------------------------------------------------------
51604
51605
51607 -- bulk performance
51608 --
51609 l_balance_type_code VARCHAR2(1);
51610 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
51611 l_log_module VARCHAR2(240);
51612
51613 --
51614 -- Upgrade strategy
51615 --
51616 l_actual_upg_option VARCHAR2(1);
51617 l_enc_upg_option VARCHAR2(1);
51618
51619 --
51620 BEGIN
51621 --
51622 IF g_log_enabled THEN
51623 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_82';
51624 END IF;
51625 --
51626 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
51627
51628 trace
51629 (p_msg => 'BEGIN of AcctLineType_82'
51630 ,p_level => C_LEVEL_PROCEDURE
51631 ,p_module => l_log_module);
51632
51633 END IF;
51634 --
51635 l_component_type := 'AMB_JLT';
51636 l_component_code := 'AP_TAX_RATE_VAR_DM_ENC_DR';
51637 l_component_type_code := 'S';
51638 l_component_appl_id := 200;
51639 l_amb_context_code := 'DEFAULT';
51640 l_entity_code := 'AP_INVOICES';
51641 l_event_class_code := 'DEBIT MEMOS';
51642 l_event_type_code := 'DEBIT MEMOS_ALL';
51643 l_line_definition_owner_code := 'S';
51644 l_line_definition_code := 'ENC_DM_ALL';
51645 --
51646 l_balance_type_code := 'E';
51647 l_segment := NULL;
51648 l_ccid := NULL;
51649 l_adr_transaction_coa_id := NULL;
51650 l_adr_accounting_coa_id := NULL;
51651 l_adr_flexfield_segment_code := NULL;
51652 l_adr_flex_value_set_id := NULL;
51653 l_adr_value_type_code := NULL;
51654 l_adr_value_combination_id := NULL;
51655 l_adr_value_segment_code := NULL;
51656
51657 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
51658 l_bflow_class_code := 'AP_INV_ENCUM'; -- 4219869 Business Flow
51659 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
51660 l_budgetary_control_flag := 'Y';
51661
51662 l_bflow_applied_to_amt_idx := NULL; -- 5132302
51663 l_bflow_applied_to_amt := NULL; -- 5132302
51664 l_entered_amt_idx := NULL; -- 4262811
51665 l_accted_amt_idx := NULL; -- 4262811
51666 l_acc_rev_flag := NULL; -- 4262811
51667 l_accrual_line_num := NULL; -- 4262811
51668 l_tmp_amt := NULL; -- 4262811
51669 --
51670
51671 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
51672 l_balance_type_code <> 'B' THEN
51673 IF NVL(p_source_15,'
51674 ') = 'TRV' AND
51675 NVL(p_source_17,'
51676 ') = 'Y'
51677 THEN
51678
51679 --
51680 XLA_AE_LINES_PKG.SetNewLine;
51681
51682 p_balance_type_code := l_balance_type_code;
51683 -- set the flag so later we will know whether the gain loss line needs to be created
51684
51685 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
51686 p_actual_flag :='A';
51687 END IF;
51688
51689 --
51690 -- bulk performance
51691 --
51692 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
51693 p_header_num => 0); -- 4262811
51694 --
51695 -- set accounting line options
51696 --
51697 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
51698 p_natural_side_code => 'D'
51699 , p_gain_or_loss_flag => 'N'
51700 , p_gl_transfer_mode_code => 'S'
51701 , p_acct_entry_type_code => 'E'
51702 , p_switch_side_flag => 'Y'
51703 , p_merge_duplicate_code => 'N'
51704 );
51705 --
51706 l_acc_rev_natural_side_code := 'C'; -- 4262811
51707 --
51708 --
51709 -- set accounting line type info
51710 --
51711 xla_ae_lines_pkg.SetAcctLineType
51712 (p_component_type => l_component_type
51713 ,p_event_type_code => l_event_type_code
51714 ,p_line_definition_owner_code => l_line_definition_owner_code
51715 ,p_line_definition_code => l_line_definition_code
51716 ,p_accounting_line_code => l_component_code
51717 ,p_accounting_line_type_code => l_component_type_code
51718 ,p_accounting_line_appl_id => l_component_appl_id
51719 ,p_amb_context_code => l_amb_context_code
51720 ,p_entity_code => l_entity_code
51721 ,p_event_class_code => l_event_class_code);
51722 --
51723 -- set accounting class
51724 --
51725 xla_ae_lines_pkg.SetAcctClass(
51726 p_accounting_class_code => 'TRV'
51727 , p_ae_header_id => l_ae_header_id
51728 );
51729
51730 --
51731 -- set rounding class
51732 --
51733 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
51734 'TRV';
51735
51736 --
51737 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
51738 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
51739 --
51743
51740 -- bulk performance
51741 --
51742 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
51744 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
51745 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
51746
51747 -- 4955764
51748 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
51749 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
51750
51751 -- 4458381 Public Sector Enh
51752 XLA_AE_LINES_PKG.g_rec_lines.array_encumbrance_type_id(XLA_AE_LINES_PKG.g_LineNumber) := 1060;
51753 --
51754 -- set accounting attributes for the line type
51755 --
51756 l_entered_amt_idx := 23;
51757 l_accted_amt_idx := 28;
51758 l_bflow_applied_to_amt_idx := NULL; -- 5132302
51759 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
51760 l_rec_acct_attrs.array_char_value(1) := p_source_19;
51761 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
51762 l_rec_acct_attrs.array_num_value(2) :=
51763 xla_ae_sources_pkg.GetSystemSourceNum(
51764 p_source_code => 'XLA_EVENT_APPL_ID'
51765 , p_source_type_code => 'Y'
51766 , p_source_application_id => 602
51767 );
51768 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
51769 l_rec_acct_attrs.array_char_value(3) := p_source_21;
51770 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
51771 l_rec_acct_attrs.array_char_value(4) :=
51772 xla_ae_sources_pkg.GetSystemSourceChar(
51773 p_source_code => 'XLA_ENTITY_CODE'
51774 , p_source_type_code => 'Y'
51775 , p_source_application_id => 602
51776 );
51777 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
51778 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_23);
51779 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
51780 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_24);
51781 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
51782 l_rec_acct_attrs.array_num_value(7) := p_source_25;
51783 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
51784 l_rec_acct_attrs.array_char_value(8) := p_source_26;
51785 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
51786 l_rec_acct_attrs.array_char_value(9) := p_source_27;
51787 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
51788 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_28);
51789 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
51790 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_29);
51791 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
51792 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_30);
51793 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
51794 l_rec_acct_attrs.array_char_value(13) := p_source_21;
51795 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
51796 l_rec_acct_attrs.array_num_value(14) := p_source_31;
51797 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
51798 l_rec_acct_attrs.array_num_value(15) := p_source_32;
51799 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
51800 l_rec_acct_attrs.array_char_value(16) := p_source_33;
51801 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
51802 l_rec_acct_attrs.array_num_value(17) := p_source_34;
51803 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
51804 l_rec_acct_attrs.array_num_value(18) := p_source_35;
51805 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
51806 l_rec_acct_attrs.array_num_value(19) := p_source_36;
51807 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
51808 l_rec_acct_attrs.array_char_value(20) := p_source_33;
51809 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
51810 l_rec_acct_attrs.array_num_value(21) := p_source_37;
51811 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
51812 l_rec_acct_attrs.array_char_value(22) := p_source_38;
51813 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
51814 l_rec_acct_attrs.array_num_value(23) := p_source_65;
51815 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
51816 l_rec_acct_attrs.array_char_value(24) := p_source_33;
51817 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
51818 l_rec_acct_attrs.array_date_value(25) := p_source_39;
51819 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
51820 l_rec_acct_attrs.array_num_value(26) := p_source_40;
51821 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
51822 l_rec_acct_attrs.array_char_value(27) := p_source_41;
51823 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
51824 l_rec_acct_attrs.array_num_value(28) := p_source_66;
51825 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
51826 l_rec_acct_attrs.array_date_value(29) := p_source_43;
51827 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
51828 l_rec_acct_attrs.array_char_value(30) := p_source_44;
51829 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
51830 l_rec_acct_attrs.array_date_value(31) := p_source_45;
51834 l_rec_acct_attrs.array_num_value(33) := p_source_47;
51831 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
51832 l_rec_acct_attrs.array_char_value(32) := p_source_46;
51833 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
51835 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
51836 l_rec_acct_attrs.array_num_value(34) := p_source_48;
51837 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
51838 l_rec_acct_attrs.array_char_value(35) := p_source_49;
51839 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
51840 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_50);
51841 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
51842 l_rec_acct_attrs.array_char_value(37) := p_source_21;
51843 l_rec_acct_attrs.array_acct_attr_code(38) := 'TAX_LINE_REF_ID';
51844 l_rec_acct_attrs.array_num_value(38) := p_source_52;
51845 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_REC_NREC_DIST_REF_ID';
51846 l_rec_acct_attrs.array_num_value(39) := p_source_53;
51847 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_SUMMARY_LINE_REF_ID';
51848 l_rec_acct_attrs.array_num_value(40) := p_source_54;
51849 l_rec_acct_attrs.array_acct_attr_code(41) := 'UPG_CR_ENC_TYPE_ID';
51850 l_rec_acct_attrs.array_num_value(41) := p_source_55;
51851 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_DR_ENC_TYPE_ID';
51852 l_rec_acct_attrs.array_num_value(42) := p_source_56;
51853
51854 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
51855 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
51856
51857 ---------------------------------------------------------------------------------------------------------------
51858 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
51859 ---------------------------------------------------------------------------------------------------------------
51860 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
51861
51862 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
51863 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
51864
51865 IF xla_accounting_cache_pkg.GetValueChar
51866 (p_source_code => 'LEDGER_CATEGORY_CODE'
51867 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
51868 AND l_bflow_method_code = 'PRIOR_ENTRY'
51869 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
51870 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
51871 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
51872 )
51873 THEN
51874 xla_ae_lines_pkg.BflowUpgEntry
51875 (p_business_method_code => l_bflow_method_code
51876 ,p_business_class_code => l_bflow_class_code
51877 ,p_balance_type => l_balance_type_code);
51878 ELSE
51879 NULL;
51880 -- No business flow processing for business flow method of NONE.
51881 END IF;
51882
51883 --
51884 -- call analytical criteria
51885 --
51886
51887 --
51888 -- call description
51889 --
51890
51891 xla_ae_lines_pkg.SetLineDescription(
51892 p_ae_header_id => l_ae_header_id
51893 ,p_description => Description_2 (
51894 p_application_id => p_application_id
51895 , p_ae_header_id => l_ae_header_id
51896 , p_source_1 => p_source_1
51897 )
51898 );
51899
51900
51901 --
51902 -- call ADRs
51903 -- Bug 4922099
51904 --
51905 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
51906 (NVL(l_actual_upg_option, 'N') = 'O') OR
51907 (NVL(l_enc_upg_option, 'N') = 'O')
51908 )
51909 THEN
51910 NULL;
51911 --
51912 --
51913
51914 l_ccid := AcctDerRule_7(
51915 p_application_id => p_application_id
51916 , p_ae_header_id => l_ae_header_id
51917 , p_source_11 => p_source_11
51918 , x_transaction_coa_id => l_adr_transaction_coa_id
51919 , x_accounting_coa_id => l_adr_accounting_coa_id
51920 , x_value_type_code => l_adr_value_type_code
51921 , p_side => 'NA'
51922 );
51923
51924 xla_ae_lines_pkg.set_ccid(
51925 p_code_combination_id => l_ccid
51926 , p_value_type_code => l_adr_value_type_code
51927 , p_transaction_coa_id => l_adr_transaction_coa_id
51928 , p_accounting_coa_id => l_adr_accounting_coa_id
51929 , p_adr_code => 'AP_INVOICE_DIST'
51930 , p_adr_type_code => 'S'
51931 , p_component_type => l_component_type
51932 , p_component_code => l_component_code
51933 , p_component_type_code => l_component_type_code
51934 , p_component_appl_id => l_component_appl_id
51935 , p_amb_context_code => l_amb_context_code
51936 , p_side => 'NA'
51937 );
51938
51939
51940 --
51941 --
51942 END IF;
51943 --
51944 -- Bug 4922099
51945 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
51946 (NVL(l_enc_upg_option, 'N') = 'O')
51947 ) AND
51948 (l_bflow_method_code = 'PRIOR_ENTRY')
51949 )
51950 THEN
51951 IF
51955 THEN
51952 --
51953 1 = 2
51954 --
51956 xla_accounting_err_pkg.build_message
51957 (p_appli_s_name => 'XLA'
51958 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
51959 ,p_token_1 => 'LINE_NUMBER'
51960 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
51961 ,p_token_2 => 'LINE_TYPE_NAME'
51962 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
51963 l_component_type
51964 ,l_component_code
51965 ,l_component_type_code
51966 ,l_component_appl_id
51967 ,l_amb_context_code
51968 ,l_entity_code
51969 ,l_event_class_code
51970 )
51971 ,p_token_3 => 'OWNER'
51972 ,p_value_3 => xla_lookups_pkg.get_meaning(
51973 p_lookup_type => 'XLA_OWNER_TYPE'
51974 ,p_lookup_code => l_component_type_code
51975 )
51976 ,p_token_4 => 'PRODUCT_NAME'
51977 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
51978 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
51979 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
51980 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
51981 ,p_ae_header_id => NULL
51982 );
51983
51984 IF (C_LEVEL_ERROR>= g_log_level) THEN
51985 trace
51986 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
51987 ,p_level => C_LEVEL_ERROR
51988 ,p_module => l_log_module);
51989 END IF;
51990 END IF;
51991 END IF;
51992 --
51993 --
51994 ------------------------------------------------------------------------------------------------
51995 -- 4219869 Business Flow
51996 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
51997 -- Prior Entry. Currently, the following code is always generated.
51998 ------------------------------------------------------------------------------------------------
51999 XLA_AE_LINES_PKG.ValidateCurrentLine;
52000
52001 ------------------------------------------------------------------------------------
52002 -- 4219869 Business Flow
52003 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
52004 ------------------------------------------------------------------------------------
52005 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
52006
52007 ----------------------------------------------------------------------------------
52008 -- 4219869 Business Flow
52009 -- Update journal entry status -- Need to generate this within IF <condition>
52010 ----------------------------------------------------------------------------------
52011 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
52012 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
52013 ,p_balance_type_code => l_balance_type_code
52014 );
52015
52016 -------------------------------------------------------------------------------------------
52017 -- 4262811 - Generate the Accrual Reversal lines
52018 -------------------------------------------------------------------------------------------
52019 BEGIN
52020 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
52021 (g_array_event(p_event_id).array_value_num('header_index'));
52022 IF l_acc_rev_flag IS NULL THEN
52023 l_acc_rev_flag := 'N';
52024 END IF;
52025 EXCEPTION
52026 WHEN OTHERS THEN
52027 l_acc_rev_flag := 'N';
52028 END;
52029 --
52030 IF (l_acc_rev_flag = 'Y') THEN
52031
52032 -- 4645092 ------------------------------------------------------------------------------
52033 -- To allow MPA report to determine if it should generate report process
52034 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
52035 ------------------------------------------------------------------------------------------
52036
52037 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
52038 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
52039 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
52040 -- call ADRs
52041 -- Bug 4922099
52042 --
52043 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
52047 THEN
52044 (NVL(l_actual_upg_option, 'N') = 'O') OR
52045 (NVL(l_enc_upg_option, 'N') = 'O')
52046 )
52048 NULL;
52049 --
52050 --
52051
52052 l_ccid := AcctDerRule_7(
52053 p_application_id => p_application_id
52054 , p_ae_header_id => l_ae_header_id
52055 , p_source_11 => p_source_11
52056 , x_transaction_coa_id => l_adr_transaction_coa_id
52057 , x_accounting_coa_id => l_adr_accounting_coa_id
52058 , x_value_type_code => l_adr_value_type_code
52059 , p_side => 'NA'
52060 );
52061
52062 xla_ae_lines_pkg.set_ccid(
52063 p_code_combination_id => l_ccid
52064 , p_value_type_code => l_adr_value_type_code
52065 , p_transaction_coa_id => l_adr_transaction_coa_id
52066 , p_accounting_coa_id => l_adr_accounting_coa_id
52067 , p_adr_code => 'AP_INVOICE_DIST'
52068 , p_adr_type_code => 'S'
52069 , p_component_type => l_component_type
52070 , p_component_code => l_component_code
52071 , p_component_type_code => l_component_type_code
52072 , p_component_appl_id => l_component_appl_id
52073 , p_amb_context_code => l_amb_context_code
52074 , p_side => 'NA'
52075 );
52076
52077
52078 --
52079 --
52080 END IF;
52081
52082 --
52083 -- Update the line information that should be overwritten
52084 --
52085 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
52086 p_header_num => 1);
52087 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
52088
52089 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
52090
52091 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
52092 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
52093 END IF;
52094
52095 --
52096 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
52097 --
52098 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
52099 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
52100 ELSE
52101 ---------------------------------------------------------------------------------------------------
52102 -- 4262811a Switch Sign
52103 ---------------------------------------------------------------------------------------------------
52104 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
52105 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
52106 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
52107 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
52108 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
52109 -- 5132302
52110 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
52111 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
52112
52113 END IF;
52114
52115 -- 4955764
52116 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
52117 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
52118
52119
52120 XLA_AE_LINES_PKG.ValidateCurrentLine;
52121 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
52122
52123 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
52124 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
52125 ,p_balance_type_code => l_balance_type_code);
52126
52127 END IF;
52128
52129 -----------------------------------------------------------------------------------------
52130 -- 4262811 Multiperiod Accounting
52131 -----------------------------------------------------------------------------------------
52132 -- No MPA option is assigned.
52133
52134
52135 END IF;
52136 END IF;
52137 --
52138
52139 --
52140 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
52141 trace
52142 (p_msg => 'END of AcctLineType_82'
52143 ,p_level => C_LEVEL_PROCEDURE
52144 ,p_module => l_log_module);
52145 END IF;
52146 --
52147 EXCEPTION
52148 WHEN xla_exceptions_pkg.application_exception THEN
52149 RAISE;
52150 WHEN OTHERS THEN
52151 xla_exceptions_pkg.raise_message
52152 (p_location => 'XLA_00200_AAD_S_000006_BC_PKG.AcctLineType_82');
52153 END AcctLineType_82;
52154 --
52155
52156 ---------------------------------------
52157 --
52158 -- PRIVATE FUNCTION
52159 -- AcctLineType_83
52160 --
52161 ---------------------------------------
52162 PROCEDURE AcctLineType_83 (
52163 p_application_id IN NUMBER
52164 ,p_event_id IN NUMBER
52165 ,p_calculate_acctd_flag IN VARCHAR2
52166 ,p_calculate_g_l_flag IN VARCHAR2
52167 ,p_actual_flag IN OUT VARCHAR2
52168 ,p_balance_type_code OUT VARCHAR2
52172 , p_source_1 IN VARCHAR2
52169 ,p_gain_or_loss_ref OUT VARCHAR2
52170
52171 --Invoice Distribution Description
52173 --Invoice Distribution Account
52174 , p_source_11 IN NUMBER
52175 --Invoice Distribution Type
52176 , p_source_15 IN VARCHAR2
52177 , p_source_15_meaning IN VARCHAR2
52178 --Purchasing Encumbrance Option
52179 , p_source_17 IN VARCHAR2
52180 , p_source_17_meaning IN VARCHAR2
52181 --Accounting Reversal Indicator
52182 , p_source_19 IN VARCHAR2
52183 --Distribution Link Type
52184 , p_source_21 IN VARCHAR2
52185 --Allocation to Main Distribution Identifier
52186 , p_source_23 IN NUMBER
52187 --Invoice Identifier
52188 , p_source_24 IN NUMBER
52189 --Business Flow Accounts Payable Application Identifier
52190 , p_source_25 IN NUMBER
52191 --Business Flow Invoice Distribution Type
52192 , p_source_26 IN VARCHAR2
52193 --Business Flow Invoice Entity Code
52194 , p_source_27 IN VARCHAR2
52195 --Business Flow Invoice Distribution Identifier
52196 , p_source_28 IN NUMBER
52197 --Business Flow Invoice Identifier
52198 , p_source_29 IN NUMBER
52199 --Invoice Distribution Identifier
52200 , p_source_30 IN NUMBER
52201 --Payables Encumbrance Upgrade Credit Account
52202 , p_source_31 IN NUMBER
52203 --Payables Encumbrance Upgrade Credit Amount
52204 , p_source_32 IN NUMBER
52205 --Invoice Currency Code
52206 , p_source_33 IN VARCHAR2
52207 --Payables Encumbrance Upgrade Credit Base Amount
52208 , p_source_34 IN NUMBER
52209 --Payables Encumbrance Upgrade Debit Account
52210 , p_source_35 IN NUMBER
52211 --Payables Encumbrance Upgrade Debit Amount
52212 , p_source_36 IN NUMBER
52213 --Payables Encumbrance Upgrade Debit Base Amount
52214 , p_source_37 IN NUMBER
52215 --Payables Encumbrance Upgrade Option
52216 , p_source_38 IN VARCHAR2
52217 --Invoice Exchange Date
52218 , p_source_39 IN DATE
52219 --Invoice Exchange Rate
52220 , p_source_40 IN NUMBER
52221 --Invoice Exchange Rate Type
52222 , p_source_41 IN VARCHAR2
52223 --Deferred Accounting End Date
52224 , p_source_43 IN DATE
52225 --Deferred Accounting Option
52226 , p_source_44 IN VARCHAR2
52227 --Deferred Accounting Start Date
52228 , p_source_45 IN DATE
52229 --Override Accounted Amount Indicator
52230 , p_source_46 IN VARCHAR2
52231 , p_source_46_meaning IN VARCHAR2
52232 --Invoice Supplier Identifier
52233 , p_source_47 IN NUMBER
52234 --Invoice Supplier Site Identifier
52235 , p_source_48 IN NUMBER
52236 --Third Party Type
52237 , p_source_49 IN VARCHAR2
52238 --Parent Reversal Identifier
52239 , p_source_50 IN NUMBER
52240 --Invoice Distribution Statistical Amount
52241 , p_source_51 IN NUMBER
52242 --Invoice Distribution Tax Line Identifier
52243 , p_source_52 IN NUMBER
52244 --Invoice Distribution Tax Distribution Identifier from Tax
52245 , p_source_53 IN NUMBER
52246 --Invoice Distribution Summary Tax Line Identifier
52247 , p_source_54 IN NUMBER
52248 --Payables Upgrade Credit Encumbrance Type Identifier
52249 , p_source_55 IN NUMBER
52250 --Payables Upgrade Debit Encumbrance Type Identifier
52251 , p_source_56 IN NUMBER
52252 --Invoice Distribution Amount
52253 , p_source_57 IN NUMBER
52254 --Invoice Distribution Encumbrance Ledger Amount
52255 , p_source_66 IN NUMBER
52256 )
52257 IS
52258
52259 l_component_type VARCHAR2(80);
52260 l_component_code VARCHAR2(30);
52261 l_component_type_code VARCHAR2(1);
52262 l_component_appl_id INTEGER;
52263 l_amb_context_code VARCHAR2(30);
52264 l_entity_code VARCHAR2(30);
52265 l_event_class_code VARCHAR2(30);
52266 l_ae_header_id NUMBER;
52267 l_event_type_code VARCHAR2(30);
52268 l_line_definition_code VARCHAR2(30);
52269 l_line_definition_owner_code VARCHAR2(1);
52270 --
52271 -- adr variables
52272 l_segment VARCHAR2(30);
52273 l_ccid NUMBER;
52274 l_adr_transaction_coa_id NUMBER;
52275 l_adr_accounting_coa_id NUMBER;
52276 l_adr_flexfield_segment_code VARCHAR2(30);
52277 l_adr_flex_value_set_id NUMBER;
52278 l_adr_value_type_code VARCHAR2(30);
52279 l_adr_value_combination_id NUMBER;
52280 l_adr_value_segment_code VARCHAR2(30);
52281
52282 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
52283 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
52284 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
52285 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
52286
52287 -- 4262811 Variables ------------------------------------------------------------------------------------------
52288 l_entered_amt_idx NUMBER;
52289 l_accted_amt_idx NUMBER;
52290 l_acc_rev_flag VARCHAR2(1);
52291 l_accrual_line_num NUMBER;
52292 l_tmp_amt NUMBER;
52293 l_acc_rev_natural_side_code VARCHAR2(1);
52294
52298 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
52295 l_num_entries NUMBER;
52296 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
52297 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
52299 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
52300 l_recog_line_1 NUMBER;
52301 l_recog_line_2 NUMBER;
52302
52303 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
52304 l_bflow_applied_to_amt NUMBER; -- 5132302
52305 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
52306
52307 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
52308
52309 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
52310 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
52311
52312 ---------------------------------------------------------------------------------------------------------------
52313
52314
52315 --
52316 -- bulk performance
52317 --
52318 l_balance_type_code VARCHAR2(1);
52319 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
52320 l_log_module VARCHAR2(240);
52321
52322 --
52323 -- Upgrade strategy
52324 --
52325 l_actual_upg_option VARCHAR2(1);
52326 l_enc_upg_option VARCHAR2(1);
52327
52328 --
52329 BEGIN
52330 --
52331 IF g_log_enabled THEN
52332 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_83';
52333 END IF;
52334 --
52335 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
52336
52337 trace
52338 (p_msg => 'BEGIN of AcctLineType_83'
52339 ,p_level => C_LEVEL_PROCEDURE
52340 ,p_module => l_log_module);
52341
52342 END IF;
52343 --
52344 l_component_type := 'AMB_JLT';
52345 l_component_code := 'AP_TAX_RATE_VAR_INV_ENC_DR';
52346 l_component_type_code := 'S';
52347 l_component_appl_id := 200;
52348 l_amb_context_code := 'DEFAULT';
52349 l_entity_code := 'AP_INVOICES';
52350 l_event_class_code := 'INVOICES';
52351 l_event_type_code := 'INVOICES_ALL';
52352 l_line_definition_owner_code := 'S';
52353 l_line_definition_code := 'ENC_INVOICES_ALL';
52354 --
52355 l_balance_type_code := 'E';
52356 l_segment := NULL;
52357 l_ccid := NULL;
52358 l_adr_transaction_coa_id := NULL;
52359 l_adr_accounting_coa_id := NULL;
52360 l_adr_flexfield_segment_code := NULL;
52361 l_adr_flex_value_set_id := NULL;
52362 l_adr_value_type_code := NULL;
52363 l_adr_value_combination_id := NULL;
52364 l_adr_value_segment_code := NULL;
52365
52366 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
52367 l_bflow_class_code := 'AP_INV_ENCUM'; -- 4219869 Business Flow
52368 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
52369 l_budgetary_control_flag := 'Y';
52370
52371 l_bflow_applied_to_amt_idx := NULL; -- 5132302
52372 l_bflow_applied_to_amt := NULL; -- 5132302
52373 l_entered_amt_idx := NULL; -- 4262811
52374 l_accted_amt_idx := NULL; -- 4262811
52375 l_acc_rev_flag := NULL; -- 4262811
52376 l_accrual_line_num := NULL; -- 4262811
52377 l_tmp_amt := NULL; -- 4262811
52378 --
52379
52380 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
52381 l_balance_type_code <> 'B' THEN
52382 IF NVL(p_source_15,'
52383 ') = 'TRV' AND
52384 NVL(p_source_17,'
52385 ') = 'Y'
52386 THEN
52387
52388 --
52389 XLA_AE_LINES_PKG.SetNewLine;
52390
52391 p_balance_type_code := l_balance_type_code;
52392 -- set the flag so later we will know whether the gain loss line needs to be created
52393
52394 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
52395 p_actual_flag :='A';
52396 END IF;
52397
52398 --
52399 -- bulk performance
52400 --
52401 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
52402 p_header_num => 0); -- 4262811
52403 --
52404 -- set accounting line options
52405 --
52406 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
52407 p_natural_side_code => 'D'
52408 , p_gain_or_loss_flag => 'N'
52409 , p_gl_transfer_mode_code => 'S'
52410 , p_acct_entry_type_code => 'E'
52411 , p_switch_side_flag => 'Y'
52412 , p_merge_duplicate_code => 'N'
52413 );
52414 --
52415 l_acc_rev_natural_side_code := 'C'; -- 4262811
52416 --
52417 --
52418 -- set accounting line type info
52419 --
52420 xla_ae_lines_pkg.SetAcctLineType
52421 (p_component_type => l_component_type
52422 ,p_event_type_code => l_event_type_code
52423 ,p_line_definition_owner_code => l_line_definition_owner_code
52424 ,p_line_definition_code => l_line_definition_code
52425 ,p_accounting_line_code => l_component_code
52429 ,p_entity_code => l_entity_code
52426 ,p_accounting_line_type_code => l_component_type_code
52427 ,p_accounting_line_appl_id => l_component_appl_id
52428 ,p_amb_context_code => l_amb_context_code
52430 ,p_event_class_code => l_event_class_code);
52431 --
52432 -- set accounting class
52433 --
52434 xla_ae_lines_pkg.SetAcctClass(
52435 p_accounting_class_code => 'TRV'
52436 , p_ae_header_id => l_ae_header_id
52437 );
52438
52439 --
52440 -- set rounding class
52441 --
52442 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
52443 'TRV';
52444
52445 --
52446 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
52447 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
52448 --
52449 -- bulk performance
52450 --
52451 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
52452
52453 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
52454 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
52455
52456 -- 4955764
52457 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
52458 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
52459
52460 -- 4458381 Public Sector Enh
52461 XLA_AE_LINES_PKG.g_rec_lines.array_encumbrance_type_id(XLA_AE_LINES_PKG.g_LineNumber) := 1060;
52462 --
52463 -- set accounting attributes for the line type
52464 --
52465 l_entered_amt_idx := 24;
52466 l_accted_amt_idx := 29;
52467 l_bflow_applied_to_amt_idx := 7; -- 5132302
52468 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
52469 l_rec_acct_attrs.array_char_value(1) := p_source_19;
52470 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
52471 l_rec_acct_attrs.array_num_value(2) :=
52472 xla_ae_sources_pkg.GetSystemSourceNum(
52473 p_source_code => 'XLA_EVENT_APPL_ID'
52474 , p_source_type_code => 'Y'
52475 , p_source_application_id => 602
52476 );
52477 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
52478 l_rec_acct_attrs.array_char_value(3) := p_source_21;
52479 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
52480 l_rec_acct_attrs.array_char_value(4) :=
52481 xla_ae_sources_pkg.GetSystemSourceChar(
52482 p_source_code => 'XLA_ENTITY_CODE'
52483 , p_source_type_code => 'Y'
52484 , p_source_application_id => 602
52485 );
52486 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
52487 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_23);
52488 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
52489 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_24);
52490 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_AMOUNT';
52491 l_rec_acct_attrs.array_num_value(7) := p_source_57;
52492 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_APPLICATION_ID';
52493 l_rec_acct_attrs.array_num_value(8) := p_source_25;
52494 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_DISTRIBUTION_TYPE';
52495 l_rec_acct_attrs.array_char_value(9) := p_source_26;
52496 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_ENTITY_CODE';
52497 l_rec_acct_attrs.array_char_value(10) := p_source_27;
52498 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_DIST_ID';
52499 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_28);
52500 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
52501 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_29);
52502 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
52503 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_30);
52504 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_TYPE';
52505 l_rec_acct_attrs.array_char_value(14) := p_source_21;
52506 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
52507 l_rec_acct_attrs.array_num_value(15) := p_source_31;
52508 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
52509 l_rec_acct_attrs.array_num_value(16) := p_source_32;
52510 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
52511 l_rec_acct_attrs.array_char_value(17) := p_source_33;
52512 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
52513 l_rec_acct_attrs.array_num_value(18) := p_source_34;
52514 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_CCID';
52515 l_rec_acct_attrs.array_num_value(19) := p_source_35;
52516 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_AMT';
52517 l_rec_acct_attrs.array_num_value(20) := p_source_36;
52518 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_CURR';
52519 l_rec_acct_attrs.array_char_value(21) := p_source_33;
52520 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_LEDGER_AMT';
52521 l_rec_acct_attrs.array_num_value(22) := p_source_37;
52522 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_OPTION';
52523 l_rec_acct_attrs.array_char_value(23) := p_source_38;
52524 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_AMOUNT';
52525 l_rec_acct_attrs.array_num_value(24) := p_source_57;
52529 l_rec_acct_attrs.array_date_value(26) := p_source_39;
52526 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_CODE';
52527 l_rec_acct_attrs.array_char_value(25) := p_source_33;
52528 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_DATE';
52530 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE';
52531 l_rec_acct_attrs.array_num_value(27) := p_source_40;
52532 l_rec_acct_attrs.array_acct_attr_code(28) := 'EXCHANGE_RATE_TYPE';
52533 l_rec_acct_attrs.array_char_value(28) := p_source_41;
52534 l_rec_acct_attrs.array_acct_attr_code(29) := 'LEDGER_AMOUNT';
52535 l_rec_acct_attrs.array_num_value(29) := p_source_66;
52536 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_END_DATE';
52537 l_rec_acct_attrs.array_date_value(30) := p_source_43;
52538 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_OPTION';
52539 l_rec_acct_attrs.array_char_value(31) := p_source_44;
52540 l_rec_acct_attrs.array_acct_attr_code(32) := 'MULTIPERIOD_START_DATE';
52541 l_rec_acct_attrs.array_date_value(32) := p_source_45;
52542 l_rec_acct_attrs.array_acct_attr_code(33) := 'OVERRIDE_ACCTD_AMT_FLAG';
52543 l_rec_acct_attrs.array_char_value(33) := p_source_46;
52544 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_ID';
52545 l_rec_acct_attrs.array_num_value(34) := p_source_47;
52546 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_SITE_ID';
52547 l_rec_acct_attrs.array_num_value(35) := p_source_48;
52548 l_rec_acct_attrs.array_acct_attr_code(36) := 'PARTY_TYPE';
52549 l_rec_acct_attrs.array_char_value(36) := p_source_49;
52550 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_ID1';
52551 l_rec_acct_attrs.array_num_value(37) := to_char(p_source_50);
52552 l_rec_acct_attrs.array_acct_attr_code(38) := 'REVERSED_DISTRIBUTION_TYPE';
52553 l_rec_acct_attrs.array_char_value(38) := p_source_21;
52554 l_rec_acct_attrs.array_acct_attr_code(39) := 'STATISTICAL_AMOUNT';
52555 l_rec_acct_attrs.array_num_value(39) := p_source_51;
52556 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_LINE_REF_ID';
52557 l_rec_acct_attrs.array_num_value(40) := p_source_52;
52558 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_REC_NREC_DIST_REF_ID';
52559 l_rec_acct_attrs.array_num_value(41) := p_source_53;
52560 l_rec_acct_attrs.array_acct_attr_code(42) := 'TAX_SUMMARY_LINE_REF_ID';
52561 l_rec_acct_attrs.array_num_value(42) := p_source_54;
52562 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_CR_ENC_TYPE_ID';
52563 l_rec_acct_attrs.array_num_value(43) := p_source_55;
52564 l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
52565 l_rec_acct_attrs.array_num_value(44) := p_source_56;
52566
52567 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
52568 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
52569
52570 ---------------------------------------------------------------------------------------------------------------
52571 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
52572 ---------------------------------------------------------------------------------------------------------------
52573 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
52574
52575 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
52576 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
52577
52578 IF xla_accounting_cache_pkg.GetValueChar
52579 (p_source_code => 'LEDGER_CATEGORY_CODE'
52580 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
52581 AND l_bflow_method_code = 'PRIOR_ENTRY'
52582 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
52583 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
52584 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
52585 )
52586 THEN
52587 xla_ae_lines_pkg.BflowUpgEntry
52588 (p_business_method_code => l_bflow_method_code
52589 ,p_business_class_code => l_bflow_class_code
52590 ,p_balance_type => l_balance_type_code);
52591 ELSE
52592 NULL;
52593 -- No business flow processing for business flow method of NONE.
52594 END IF;
52595
52596 --
52597 -- call analytical criteria
52598 --
52599
52600 --
52601 -- call description
52602 --
52603
52604 xla_ae_lines_pkg.SetLineDescription(
52605 p_ae_header_id => l_ae_header_id
52606 ,p_description => Description_2 (
52607 p_application_id => p_application_id
52608 , p_ae_header_id => l_ae_header_id
52609 , p_source_1 => p_source_1
52610 )
52611 );
52612
52613
52614 --
52615 -- call ADRs
52616 -- Bug 4922099
52617 --
52618 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
52619 (NVL(l_actual_upg_option, 'N') = 'O') OR
52620 (NVL(l_enc_upg_option, 'N') = 'O')
52621 )
52622 THEN
52623 NULL;
52624 --
52625 --
52626
52627 l_ccid := AcctDerRule_7(
52628 p_application_id => p_application_id
52629 , p_ae_header_id => l_ae_header_id
52630 , p_source_11 => p_source_11
52631 , x_transaction_coa_id => l_adr_transaction_coa_id
52632 , x_accounting_coa_id => l_adr_accounting_coa_id
52633 , x_value_type_code => l_adr_value_type_code
52637 xla_ae_lines_pkg.set_ccid(
52634 , p_side => 'NA'
52635 );
52636
52638 p_code_combination_id => l_ccid
52639 , p_value_type_code => l_adr_value_type_code
52640 , p_transaction_coa_id => l_adr_transaction_coa_id
52641 , p_accounting_coa_id => l_adr_accounting_coa_id
52642 , p_adr_code => 'AP_INVOICE_DIST'
52643 , p_adr_type_code => 'S'
52644 , p_component_type => l_component_type
52645 , p_component_code => l_component_code
52646 , p_component_type_code => l_component_type_code
52647 , p_component_appl_id => l_component_appl_id
52648 , p_amb_context_code => l_amb_context_code
52649 , p_side => 'NA'
52650 );
52651
52652
52653 --
52654 --
52655 END IF;
52656 --
52657 -- Bug 4922099
52658 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
52659 (NVL(l_enc_upg_option, 'N') = 'O')
52660 ) AND
52661 (l_bflow_method_code = 'PRIOR_ENTRY')
52662 )
52663 THEN
52664 IF
52665 --
52666 1 = 2
52667 --
52668 THEN
52669 xla_accounting_err_pkg.build_message
52670 (p_appli_s_name => 'XLA'
52671 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
52672 ,p_token_1 => 'LINE_NUMBER'
52673 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
52674 ,p_token_2 => 'LINE_TYPE_NAME'
52675 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
52676 l_component_type
52677 ,l_component_code
52678 ,l_component_type_code
52679 ,l_component_appl_id
52680 ,l_amb_context_code
52681 ,l_entity_code
52682 ,l_event_class_code
52683 )
52684 ,p_token_3 => 'OWNER'
52685 ,p_value_3 => xla_lookups_pkg.get_meaning(
52686 p_lookup_type => 'XLA_OWNER_TYPE'
52687 ,p_lookup_code => l_component_type_code
52688 )
52689 ,p_token_4 => 'PRODUCT_NAME'
52690 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
52691 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
52692 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
52693 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
52694 ,p_ae_header_id => NULL
52695 );
52696
52697 IF (C_LEVEL_ERROR>= g_log_level) THEN
52698 trace
52699 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
52700 ,p_level => C_LEVEL_ERROR
52701 ,p_module => l_log_module);
52702 END IF;
52703 END IF;
52704 END IF;
52705 --
52706 --
52707 ------------------------------------------------------------------------------------------------
52708 -- 4219869 Business Flow
52709 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
52710 -- Prior Entry. Currently, the following code is always generated.
52711 ------------------------------------------------------------------------------------------------
52712 XLA_AE_LINES_PKG.ValidateCurrentLine;
52713
52714 ------------------------------------------------------------------------------------
52715 -- 4219869 Business Flow
52716 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
52717 ------------------------------------------------------------------------------------
52718 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
52719
52720 ----------------------------------------------------------------------------------
52721 -- 4219869 Business Flow
52722 -- Update journal entry status -- Need to generate this within IF <condition>
52723 ----------------------------------------------------------------------------------
52724 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
52725 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
52726 ,p_balance_type_code => l_balance_type_code
52727 );
52728
52729 -------------------------------------------------------------------------------------------
52730 -- 4262811 - Generate the Accrual Reversal lines
52731 -------------------------------------------------------------------------------------------
52732 BEGIN
52736 l_acc_rev_flag := 'N';
52733 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
52734 (g_array_event(p_event_id).array_value_num('header_index'));
52735 IF l_acc_rev_flag IS NULL THEN
52737 END IF;
52738 EXCEPTION
52739 WHEN OTHERS THEN
52740 l_acc_rev_flag := 'N';
52741 END;
52742 --
52743 IF (l_acc_rev_flag = 'Y') THEN
52744
52745 -- 4645092 ------------------------------------------------------------------------------
52746 -- To allow MPA report to determine if it should generate report process
52747 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
52748 ------------------------------------------------------------------------------------------
52749
52750 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
52751 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
52752 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
52753 -- call ADRs
52754 -- Bug 4922099
52755 --
52756 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
52757 (NVL(l_actual_upg_option, 'N') = 'O') OR
52758 (NVL(l_enc_upg_option, 'N') = 'O')
52759 )
52760 THEN
52761 NULL;
52762 --
52763 --
52764
52765 l_ccid := AcctDerRule_7(
52766 p_application_id => p_application_id
52767 , p_ae_header_id => l_ae_header_id
52768 , p_source_11 => p_source_11
52769 , x_transaction_coa_id => l_adr_transaction_coa_id
52770 , x_accounting_coa_id => l_adr_accounting_coa_id
52771 , x_value_type_code => l_adr_value_type_code
52772 , p_side => 'NA'
52773 );
52774
52775 xla_ae_lines_pkg.set_ccid(
52776 p_code_combination_id => l_ccid
52777 , p_value_type_code => l_adr_value_type_code
52778 , p_transaction_coa_id => l_adr_transaction_coa_id
52779 , p_accounting_coa_id => l_adr_accounting_coa_id
52780 , p_adr_code => 'AP_INVOICE_DIST'
52781 , p_adr_type_code => 'S'
52782 , p_component_type => l_component_type
52783 , p_component_code => l_component_code
52784 , p_component_type_code => l_component_type_code
52785 , p_component_appl_id => l_component_appl_id
52786 , p_amb_context_code => l_amb_context_code
52787 , p_side => 'NA'
52788 );
52789
52790
52791 --
52792 --
52793 END IF;
52794
52795 --
52796 -- Update the line information that should be overwritten
52797 --
52798 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
52799 p_header_num => 1);
52800 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
52801
52802 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
52803
52804 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
52805 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
52806 END IF;
52807
52808 --
52809 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
52810 --
52811 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
52812 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
52813 ELSE
52814 ---------------------------------------------------------------------------------------------------
52815 -- 4262811a Switch Sign
52816 ---------------------------------------------------------------------------------------------------
52817 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
52818 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
52819 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
52820 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
52821 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
52822 -- 5132302
52823 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
52824 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
52825
52826 END IF;
52827
52828 -- 4955764
52829 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
52830 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
52831
52832
52833 XLA_AE_LINES_PKG.ValidateCurrentLine;
52834 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
52835
52836 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
52837 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
52838 ,p_balance_type_code => l_balance_type_code);
52839
52840 END IF;
52841
52842 -----------------------------------------------------------------------------------------
52843 -- 4262811 Multiperiod Accounting
52847
52844 -----------------------------------------------------------------------------------------
52845 -- No MPA option is assigned.
52846
52848 END IF;
52849 END IF;
52850 --
52851
52852 --
52853 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
52854 trace
52855 (p_msg => 'END of AcctLineType_83'
52856 ,p_level => C_LEVEL_PROCEDURE
52857 ,p_module => l_log_module);
52858 END IF;
52859 --
52860 EXCEPTION
52861 WHEN xla_exceptions_pkg.application_exception THEN
52862 RAISE;
52863 WHEN OTHERS THEN
52864 xla_exceptions_pkg.raise_message
52865 (p_location => 'XLA_00200_AAD_S_000006_BC_PKG.AcctLineType_83');
52866 END AcctLineType_83;
52867 --
52868
52869 ---------------------------------------
52870 --
52871 -- PRIVATE FUNCTION
52872 -- AcctLineType_84
52873 --
52874 ---------------------------------------
52875 PROCEDURE AcctLineType_84 (
52876 p_application_id IN NUMBER
52877 ,p_event_id IN NUMBER
52878 ,p_calculate_acctd_flag IN VARCHAR2
52879 ,p_calculate_g_l_flag IN VARCHAR2
52880 ,p_actual_flag IN OUT VARCHAR2
52881 ,p_balance_type_code OUT VARCHAR2
52882 ,p_gain_or_loss_ref OUT VARCHAR2
52883
52884 --Invoice Distribution Description
52885 , p_source_1 IN VARCHAR2
52886 --Invoice Distribution Account
52887 , p_source_11 IN NUMBER
52888 --Invoice Distribution Type
52889 , p_source_15 IN VARCHAR2
52890 , p_source_15_meaning IN VARCHAR2
52891 --Purchasing Encumbrance Option
52892 , p_source_17 IN VARCHAR2
52893 , p_source_17_meaning IN VARCHAR2
52894 --Accounting Reversal Indicator
52895 , p_source_19 IN VARCHAR2
52896 --Distribution Link Type
52897 , p_source_21 IN VARCHAR2
52898 --Allocation to Main Distribution Identifier
52899 , p_source_23 IN NUMBER
52900 --Invoice Identifier
52901 , p_source_24 IN NUMBER
52902 --Business Flow Accounts Payable Application Identifier
52903 , p_source_25 IN NUMBER
52904 --Business Flow Invoice Distribution Type
52905 , p_source_26 IN VARCHAR2
52906 --Business Flow Invoice Entity Code
52907 , p_source_27 IN VARCHAR2
52908 --Business Flow Invoice Distribution Identifier
52909 , p_source_28 IN NUMBER
52910 --Business Flow Invoice Identifier
52911 , p_source_29 IN NUMBER
52912 --Invoice Distribution Identifier
52913 , p_source_30 IN NUMBER
52914 --Payables Encumbrance Upgrade Credit Account
52915 , p_source_31 IN NUMBER
52916 --Payables Encumbrance Upgrade Credit Amount
52917 , p_source_32 IN NUMBER
52918 --Invoice Currency Code
52919 , p_source_33 IN VARCHAR2
52920 --Payables Encumbrance Upgrade Credit Base Amount
52921 , p_source_34 IN NUMBER
52922 --Payables Encumbrance Upgrade Debit Account
52923 , p_source_35 IN NUMBER
52924 --Payables Encumbrance Upgrade Debit Amount
52925 , p_source_36 IN NUMBER
52926 --Payables Encumbrance Upgrade Debit Base Amount
52927 , p_source_37 IN NUMBER
52928 --Payables Encumbrance Upgrade Option
52929 , p_source_38 IN VARCHAR2
52930 --Invoice Exchange Date
52931 , p_source_39 IN DATE
52932 --Invoice Exchange Rate
52933 , p_source_40 IN NUMBER
52934 --Invoice Exchange Rate Type
52935 , p_source_41 IN VARCHAR2
52936 --Deferred Accounting End Date
52937 , p_source_43 IN DATE
52938 --Deferred Accounting Option
52939 , p_source_44 IN VARCHAR2
52940 --Deferred Accounting Start Date
52941 , p_source_45 IN DATE
52942 --Override Accounted Amount Indicator
52943 , p_source_46 IN VARCHAR2
52944 , p_source_46_meaning IN VARCHAR2
52945 --Invoice Supplier Identifier
52946 , p_source_47 IN NUMBER
52947 --Invoice Supplier Site Identifier
52948 , p_source_48 IN NUMBER
52949 --Third Party Type
52950 , p_source_49 IN VARCHAR2
52951 --Parent Reversal Identifier
52952 , p_source_50 IN NUMBER
52953 --Invoice Distribution Statistical Amount
52954 , p_source_51 IN NUMBER
52955 --Invoice Distribution Tax Line Identifier
52956 , p_source_52 IN NUMBER
52957 --Invoice Distribution Tax Distribution Identifier from Tax
52958 , p_source_53 IN NUMBER
52959 --Invoice Distribution Summary Tax Line Identifier
52960 , p_source_54 IN NUMBER
52961 --Payables Upgrade Credit Encumbrance Type Identifier
52962 , p_source_55 IN NUMBER
52963 --Payables Upgrade Debit Encumbrance Type Identifier
52964 , p_source_56 IN NUMBER
52965 --Invoice Distribution Encumbrance Amount
52966 , p_source_65 IN NUMBER
52967 --Invoice Distribution Encumbrance Ledger Amount
52968 , p_source_66 IN NUMBER
52969 )
52970 IS
52971
52972 l_component_type VARCHAR2(80);
52973 l_component_code VARCHAR2(30);
52974 l_component_type_code VARCHAR2(1);
52975 l_component_appl_id INTEGER;
52976 l_amb_context_code VARCHAR2(30);
52977 l_entity_code VARCHAR2(30);
52978 l_event_class_code VARCHAR2(30);
52979 l_ae_header_id NUMBER;
52980 l_event_type_code VARCHAR2(30);
52984 -- adr variables
52981 l_line_definition_code VARCHAR2(30);
52982 l_line_definition_owner_code VARCHAR2(1);
52983 --
52985 l_segment VARCHAR2(30);
52986 l_ccid NUMBER;
52987 l_adr_transaction_coa_id NUMBER;
52988 l_adr_accounting_coa_id NUMBER;
52989 l_adr_flexfield_segment_code VARCHAR2(30);
52990 l_adr_flex_value_set_id NUMBER;
52991 l_adr_value_type_code VARCHAR2(30);
52992 l_adr_value_combination_id NUMBER;
52993 l_adr_value_segment_code VARCHAR2(30);
52994
52995 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
52996 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
52997 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
52998 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
52999
53000 -- 4262811 Variables ------------------------------------------------------------------------------------------
53001 l_entered_amt_idx NUMBER;
53002 l_accted_amt_idx NUMBER;
53003 l_acc_rev_flag VARCHAR2(1);
53004 l_accrual_line_num NUMBER;
53005 l_tmp_amt NUMBER;
53006 l_acc_rev_natural_side_code VARCHAR2(1);
53007
53008 l_num_entries NUMBER;
53009 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
53010 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
53011 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
53012 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
53013 l_recog_line_1 NUMBER;
53014 l_recog_line_2 NUMBER;
53015
53016 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
53017 l_bflow_applied_to_amt NUMBER; -- 5132302
53018 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
53019
53020 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
53021
53022 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
53023 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
53024
53025 ---------------------------------------------------------------------------------------------------------------
53026
53027
53028 --
53029 -- bulk performance
53030 --
53031 l_balance_type_code VARCHAR2(1);
53032 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
53033 l_log_module VARCHAR2(240);
53034
53035 --
53036 -- Upgrade strategy
53037 --
53038 l_actual_upg_option VARCHAR2(1);
53039 l_enc_upg_option VARCHAR2(1);
53040
53041 --
53042 BEGIN
53043 --
53044 IF g_log_enabled THEN
53045 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_84';
53046 END IF;
53047 --
53048 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
53049
53050 trace
53051 (p_msg => 'BEGIN of AcctLineType_84'
53052 ,p_level => C_LEVEL_PROCEDURE
53053 ,p_module => l_log_module);
53054
53055 END IF;
53056 --
53057 l_component_type := 'AMB_JLT';
53058 l_component_code := 'AP_TAX_RATE_VAR_PP_ENC_DR';
53059 l_component_type_code := 'S';
53060 l_component_appl_id := 200;
53061 l_amb_context_code := 'DEFAULT';
53062 l_entity_code := 'AP_INVOICES';
53063 l_event_class_code := 'PREPAYMENTS';
53064 l_event_type_code := 'PREPAYMENTS_ALL';
53065 l_line_definition_owner_code := 'S';
53066 l_line_definition_code := 'ENC_PREPAY_ALL';
53067 --
53068 l_balance_type_code := 'E';
53069 l_segment := NULL;
53070 l_ccid := NULL;
53071 l_adr_transaction_coa_id := NULL;
53072 l_adr_accounting_coa_id := NULL;
53073 l_adr_flexfield_segment_code := NULL;
53074 l_adr_flex_value_set_id := NULL;
53075 l_adr_value_type_code := NULL;
53076 l_adr_value_combination_id := NULL;
53077 l_adr_value_segment_code := NULL;
53078
53079 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
53080 l_bflow_class_code := 'AP_INV_ENCUM'; -- 4219869 Business Flow
53081 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
53082 l_budgetary_control_flag := 'Y';
53083
53084 l_bflow_applied_to_amt_idx := NULL; -- 5132302
53085 l_bflow_applied_to_amt := NULL; -- 5132302
53086 l_entered_amt_idx := NULL; -- 4262811
53087 l_accted_amt_idx := NULL; -- 4262811
53088 l_acc_rev_flag := NULL; -- 4262811
53089 l_accrual_line_num := NULL; -- 4262811
53090 l_tmp_amt := NULL; -- 4262811
53091 --
53092
53093 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
53094 l_balance_type_code <> 'B' THEN
53095 IF NVL(p_source_15,'
53096 ') = 'TRV' AND
53097 NVL(p_source_17,'
53098 ') = 'Y'
53099 THEN
53100
53101 --
53102 XLA_AE_LINES_PKG.SetNewLine;
53103
53104 p_balance_type_code := l_balance_type_code;
53105 -- set the flag so later we will know whether the gain loss line needs to be created
53106
53107 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
53111 --
53108 p_actual_flag :='A';
53109 END IF;
53110
53112 -- bulk performance
53113 --
53114 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
53115 p_header_num => 0); -- 4262811
53116 --
53117 -- set accounting line options
53118 --
53119 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
53120 p_natural_side_code => 'D'
53121 , p_gain_or_loss_flag => 'N'
53122 , p_gl_transfer_mode_code => 'S'
53123 , p_acct_entry_type_code => 'E'
53124 , p_switch_side_flag => 'Y'
53125 , p_merge_duplicate_code => 'N'
53126 );
53127 --
53128 l_acc_rev_natural_side_code := 'C'; -- 4262811
53129 --
53130 --
53131 -- set accounting line type info
53132 --
53133 xla_ae_lines_pkg.SetAcctLineType
53134 (p_component_type => l_component_type
53135 ,p_event_type_code => l_event_type_code
53136 ,p_line_definition_owner_code => l_line_definition_owner_code
53137 ,p_line_definition_code => l_line_definition_code
53138 ,p_accounting_line_code => l_component_code
53139 ,p_accounting_line_type_code => l_component_type_code
53140 ,p_accounting_line_appl_id => l_component_appl_id
53141 ,p_amb_context_code => l_amb_context_code
53142 ,p_entity_code => l_entity_code
53143 ,p_event_class_code => l_event_class_code);
53144 --
53145 -- set accounting class
53146 --
53147 xla_ae_lines_pkg.SetAcctClass(
53148 p_accounting_class_code => 'TRV'
53149 , p_ae_header_id => l_ae_header_id
53150 );
53151
53152 --
53153 -- set rounding class
53154 --
53155 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
53156 'TRV';
53157
53158 --
53159 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
53160 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
53161 --
53162 -- bulk performance
53163 --
53164 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
53165
53166 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
53167 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
53168
53169 -- 4955764
53170 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
53171 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
53172
53173 -- 4458381 Public Sector Enh
53174 XLA_AE_LINES_PKG.g_rec_lines.array_encumbrance_type_id(XLA_AE_LINES_PKG.g_LineNumber) := 1060;
53175 --
53176 -- set accounting attributes for the line type
53177 --
53178 l_entered_amt_idx := 23;
53179 l_accted_amt_idx := 28;
53180 l_bflow_applied_to_amt_idx := NULL; -- 5132302
53181 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
53182 l_rec_acct_attrs.array_char_value(1) := p_source_19;
53183 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
53184 l_rec_acct_attrs.array_num_value(2) :=
53185 xla_ae_sources_pkg.GetSystemSourceNum(
53186 p_source_code => 'XLA_EVENT_APPL_ID'
53187 , p_source_type_code => 'Y'
53188 , p_source_application_id => 602
53189 );
53190 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
53191 l_rec_acct_attrs.array_char_value(3) := p_source_21;
53192 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
53193 l_rec_acct_attrs.array_char_value(4) :=
53194 xla_ae_sources_pkg.GetSystemSourceChar(
53195 p_source_code => 'XLA_ENTITY_CODE'
53196 , p_source_type_code => 'Y'
53197 , p_source_application_id => 602
53198 );
53199 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
53200 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_23);
53201 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
53202 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_24);
53203 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
53204 l_rec_acct_attrs.array_num_value(7) := p_source_25;
53205 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
53206 l_rec_acct_attrs.array_char_value(8) := p_source_26;
53207 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
53208 l_rec_acct_attrs.array_char_value(9) := p_source_27;
53209 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
53210 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_28);
53211 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
53212 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_29);
53213 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
53214 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_30);
53215 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
53216 l_rec_acct_attrs.array_char_value(13) := p_source_21;
53217 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
53218 l_rec_acct_attrs.array_num_value(14) := p_source_31;
53219 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
53220 l_rec_acct_attrs.array_num_value(15) := p_source_32;
53224 l_rec_acct_attrs.array_num_value(17) := p_source_34;
53221 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
53222 l_rec_acct_attrs.array_char_value(16) := p_source_33;
53223 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
53225 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
53226 l_rec_acct_attrs.array_num_value(18) := p_source_35;
53227 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
53228 l_rec_acct_attrs.array_num_value(19) := p_source_36;
53229 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
53230 l_rec_acct_attrs.array_char_value(20) := p_source_33;
53231 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
53232 l_rec_acct_attrs.array_num_value(21) := p_source_37;
53233 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
53234 l_rec_acct_attrs.array_char_value(22) := p_source_38;
53235 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
53236 l_rec_acct_attrs.array_num_value(23) := p_source_65;
53237 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
53238 l_rec_acct_attrs.array_char_value(24) := p_source_33;
53239 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
53240 l_rec_acct_attrs.array_date_value(25) := p_source_39;
53241 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
53242 l_rec_acct_attrs.array_num_value(26) := p_source_40;
53243 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
53244 l_rec_acct_attrs.array_char_value(27) := p_source_41;
53245 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
53246 l_rec_acct_attrs.array_num_value(28) := p_source_66;
53247 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
53248 l_rec_acct_attrs.array_date_value(29) := p_source_43;
53249 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
53250 l_rec_acct_attrs.array_char_value(30) := p_source_44;
53251 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
53252 l_rec_acct_attrs.array_date_value(31) := p_source_45;
53253 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
53254 l_rec_acct_attrs.array_char_value(32) := p_source_46;
53255 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
53256 l_rec_acct_attrs.array_num_value(33) := p_source_47;
53257 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
53258 l_rec_acct_attrs.array_num_value(34) := p_source_48;
53259 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
53260 l_rec_acct_attrs.array_char_value(35) := p_source_49;
53261 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
53262 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_50);
53263 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
53264 l_rec_acct_attrs.array_char_value(37) := p_source_21;
53265 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
53266 l_rec_acct_attrs.array_num_value(38) := p_source_51;
53267 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
53268 l_rec_acct_attrs.array_num_value(39) := p_source_52;
53269 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
53270 l_rec_acct_attrs.array_num_value(40) := p_source_53;
53271 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
53272 l_rec_acct_attrs.array_num_value(41) := p_source_54;
53273 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
53274 l_rec_acct_attrs.array_num_value(42) := p_source_55;
53275 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
53276 l_rec_acct_attrs.array_num_value(43) := p_source_56;
53277
53278 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
53279 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
53280
53281 ---------------------------------------------------------------------------------------------------------------
53282 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
53283 ---------------------------------------------------------------------------------------------------------------
53284 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
53285
53286 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
53287 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
53288
53289 IF xla_accounting_cache_pkg.GetValueChar
53290 (p_source_code => 'LEDGER_CATEGORY_CODE'
53291 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
53292 AND l_bflow_method_code = 'PRIOR_ENTRY'
53293 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
53294 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
53295 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
53296 )
53297 THEN
53298 xla_ae_lines_pkg.BflowUpgEntry
53299 (p_business_method_code => l_bflow_method_code
53300 ,p_business_class_code => l_bflow_class_code
53301 ,p_balance_type => l_balance_type_code);
53302 ELSE
53303 NULL;
53304 -- No business flow processing for business flow method of NONE.
53305 END IF;
53306
53307 --
53308 -- call analytical criteria
53309 --
53310
53311 --
53312 -- call description
53313 --
53317 ,p_description => Description_2 (
53314
53315 xla_ae_lines_pkg.SetLineDescription(
53316 p_ae_header_id => l_ae_header_id
53318 p_application_id => p_application_id
53319 , p_ae_header_id => l_ae_header_id
53320 , p_source_1 => p_source_1
53321 )
53322 );
53323
53324
53325 --
53326 -- call ADRs
53327 -- Bug 4922099
53328 --
53329 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
53330 (NVL(l_actual_upg_option, 'N') = 'O') OR
53331 (NVL(l_enc_upg_option, 'N') = 'O')
53332 )
53333 THEN
53334 NULL;
53335 --
53336 --
53337
53338 l_ccid := AcctDerRule_7(
53339 p_application_id => p_application_id
53340 , p_ae_header_id => l_ae_header_id
53341 , p_source_11 => p_source_11
53342 , x_transaction_coa_id => l_adr_transaction_coa_id
53343 , x_accounting_coa_id => l_adr_accounting_coa_id
53344 , x_value_type_code => l_adr_value_type_code
53345 , p_side => 'NA'
53346 );
53347
53348 xla_ae_lines_pkg.set_ccid(
53349 p_code_combination_id => l_ccid
53350 , p_value_type_code => l_adr_value_type_code
53351 , p_transaction_coa_id => l_adr_transaction_coa_id
53352 , p_accounting_coa_id => l_adr_accounting_coa_id
53353 , p_adr_code => 'AP_INVOICE_DIST'
53354 , p_adr_type_code => 'S'
53355 , p_component_type => l_component_type
53356 , p_component_code => l_component_code
53357 , p_component_type_code => l_component_type_code
53358 , p_component_appl_id => l_component_appl_id
53359 , p_amb_context_code => l_amb_context_code
53360 , p_side => 'NA'
53361 );
53362
53363
53364 --
53365 --
53366 END IF;
53367 --
53368 -- Bug 4922099
53369 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
53370 (NVL(l_enc_upg_option, 'N') = 'O')
53371 ) AND
53372 (l_bflow_method_code = 'PRIOR_ENTRY')
53373 )
53374 THEN
53375 IF
53376 --
53377 1 = 2
53378 --
53379 THEN
53380 xla_accounting_err_pkg.build_message
53381 (p_appli_s_name => 'XLA'
53382 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
53383 ,p_token_1 => 'LINE_NUMBER'
53384 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
53385 ,p_token_2 => 'LINE_TYPE_NAME'
53386 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
53387 l_component_type
53388 ,l_component_code
53389 ,l_component_type_code
53390 ,l_component_appl_id
53391 ,l_amb_context_code
53392 ,l_entity_code
53393 ,l_event_class_code
53394 )
53395 ,p_token_3 => 'OWNER'
53396 ,p_value_3 => xla_lookups_pkg.get_meaning(
53397 p_lookup_type => 'XLA_OWNER_TYPE'
53398 ,p_lookup_code => l_component_type_code
53399 )
53400 ,p_token_4 => 'PRODUCT_NAME'
53401 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
53402 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
53403 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
53404 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
53405 ,p_ae_header_id => NULL
53406 );
53407
53408 IF (C_LEVEL_ERROR>= g_log_level) THEN
53409 trace
53410 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
53411 ,p_level => C_LEVEL_ERROR
53412 ,p_module => l_log_module);
53413 END IF;
53414 END IF;
53415 END IF;
53416 --
53417 --
53418 ------------------------------------------------------------------------------------------------
53419 -- 4219869 Business Flow
53420 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
53421 -- Prior Entry. Currently, the following code is always generated.
53422 ------------------------------------------------------------------------------------------------
53423 XLA_AE_LINES_PKG.ValidateCurrentLine;
53424
53428 ------------------------------------------------------------------------------------
53425 ------------------------------------------------------------------------------------
53426 -- 4219869 Business Flow
53427 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
53429 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
53430
53431 ----------------------------------------------------------------------------------
53432 -- 4219869 Business Flow
53433 -- Update journal entry status -- Need to generate this within IF <condition>
53434 ----------------------------------------------------------------------------------
53435 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
53436 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
53437 ,p_balance_type_code => l_balance_type_code
53438 );
53439
53440 -------------------------------------------------------------------------------------------
53441 -- 4262811 - Generate the Accrual Reversal lines
53442 -------------------------------------------------------------------------------------------
53443 BEGIN
53444 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
53445 (g_array_event(p_event_id).array_value_num('header_index'));
53446 IF l_acc_rev_flag IS NULL THEN
53447 l_acc_rev_flag := 'N';
53448 END IF;
53449 EXCEPTION
53450 WHEN OTHERS THEN
53451 l_acc_rev_flag := 'N';
53452 END;
53453 --
53454 IF (l_acc_rev_flag = 'Y') THEN
53455
53456 -- 4645092 ------------------------------------------------------------------------------
53457 -- To allow MPA report to determine if it should generate report process
53458 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
53459 ------------------------------------------------------------------------------------------
53460
53461 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
53462 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
53463 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
53464 -- call ADRs
53465 -- Bug 4922099
53466 --
53467 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
53468 (NVL(l_actual_upg_option, 'N') = 'O') OR
53469 (NVL(l_enc_upg_option, 'N') = 'O')
53470 )
53471 THEN
53472 NULL;
53473 --
53474 --
53475
53476 l_ccid := AcctDerRule_7(
53477 p_application_id => p_application_id
53478 , p_ae_header_id => l_ae_header_id
53479 , p_source_11 => p_source_11
53480 , x_transaction_coa_id => l_adr_transaction_coa_id
53481 , x_accounting_coa_id => l_adr_accounting_coa_id
53482 , x_value_type_code => l_adr_value_type_code
53483 , p_side => 'NA'
53484 );
53485
53486 xla_ae_lines_pkg.set_ccid(
53487 p_code_combination_id => l_ccid
53488 , p_value_type_code => l_adr_value_type_code
53489 , p_transaction_coa_id => l_adr_transaction_coa_id
53490 , p_accounting_coa_id => l_adr_accounting_coa_id
53491 , p_adr_code => 'AP_INVOICE_DIST'
53492 , p_adr_type_code => 'S'
53493 , p_component_type => l_component_type
53494 , p_component_code => l_component_code
53495 , p_component_type_code => l_component_type_code
53496 , p_component_appl_id => l_component_appl_id
53497 , p_amb_context_code => l_amb_context_code
53498 , p_side => 'NA'
53499 );
53500
53501
53502 --
53503 --
53504 END IF;
53505
53506 --
53507 -- Update the line information that should be overwritten
53508 --
53509 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
53510 p_header_num => 1);
53511 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
53512
53513 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
53514
53515 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
53516 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
53517 END IF;
53518
53519 --
53520 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
53521 --
53522 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
53523 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
53524 ELSE
53525 ---------------------------------------------------------------------------------------------------
53526 -- 4262811a Switch Sign
53527 ---------------------------------------------------------------------------------------------------
53528 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
53529 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
53530 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
53531 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
53535 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
53532 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
53533 -- 5132302
53534 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
53536
53537 END IF;
53538
53539 -- 4955764
53540 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
53541 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
53542
53543
53544 XLA_AE_LINES_PKG.ValidateCurrentLine;
53545 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
53546
53547 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
53548 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
53549 ,p_balance_type_code => l_balance_type_code);
53550
53551 END IF;
53552
53553 -----------------------------------------------------------------------------------------
53554 -- 4262811 Multiperiod Accounting
53555 -----------------------------------------------------------------------------------------
53556 -- No MPA option is assigned.
53557
53558
53559 END IF;
53560 END IF;
53561 --
53562
53563 --
53564 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
53565 trace
53566 (p_msg => 'END of AcctLineType_84'
53567 ,p_level => C_LEVEL_PROCEDURE
53568 ,p_module => l_log_module);
53569 END IF;
53570 --
53571 EXCEPTION
53572 WHEN xla_exceptions_pkg.application_exception THEN
53573 RAISE;
53574 WHEN OTHERS THEN
53575 xla_exceptions_pkg.raise_message
53576 (p_location => 'XLA_00200_AAD_S_000006_BC_PKG.AcctLineType_84');
53577 END AcctLineType_84;
53578 --
53579
53580 ---------------------------------------
53581 --
53582 -- PRIVATE FUNCTION
53583 -- AcctLineType_85
53584 --
53585 ---------------------------------------
53586 PROCEDURE AcctLineType_85 (
53587 p_application_id IN NUMBER
53588 ,p_event_id IN NUMBER
53589 ,p_calculate_acctd_flag IN VARCHAR2
53590 ,p_calculate_g_l_flag IN VARCHAR2
53591 ,p_actual_flag IN OUT VARCHAR2
53592 ,p_balance_type_code OUT VARCHAR2
53593 ,p_gain_or_loss_ref OUT VARCHAR2
53594
53595 --Document Distribution Type
53596 , p_source_2 IN VARCHAR2
53597 --Project Name
53598 , p_source_3 IN VARCHAR2
53599 --Task Number
53600 , p_source_4 IN VARCHAR2
53601 --Expenditure Organization
53602 , p_source_5 IN NUMBER
53603 --Budget Account
53604 , p_source_14 IN NUMBER
53605 --Distribution Link Type
53606 , p_source_21 IN VARCHAR2
53607 --Invoice Distribution Identifier
53608 , p_source_30 IN NUMBER
53609 --Invoice Currency Code
53610 , p_source_33 IN VARCHAR2
53611 --Invoice Exchange Date
53612 , p_source_39 IN DATE
53613 --Invoice Exchange Rate
53614 , p_source_40 IN NUMBER
53615 --Invoice Exchange Rate Type
53616 , p_source_41 IN VARCHAR2
53617 --Invoice Distribution Amount
53618 , p_source_57 IN NUMBER
53619 --Document Type
53620 , p_source_83 IN VARCHAR2
53621 --Burden Amount Display Method
53622 , p_source_84 IN VARCHAR2
53623 --Accounting reversal indicator for project invoice burden
53624 , p_source_85 IN VARCHAR2
53625 --Allocated to Application Identifier
53626 , p_source_86 IN NUMBER
53627 --Allocated to Distribution Type
53628 , p_source_87 IN VARCHAR2
53629 --Allocated to Entity Code
53630 , p_source_88 IN VARCHAR2
53631 --Allocated to First Distribution Identifier
53632 , p_source_89 IN NUMBER
53633 --Allocated to First System Transaction Identifier
53634 , p_source_90 IN NUMBER
53635 --Invoice Burden Applied to Application Identifier
53636 , p_source_91 IN NUMBER
53637 --Invoice Burden Applied to Distribution Type
53638 , p_source_92 IN VARCHAR2
53639 --Invoice Burden Applied to Entity Code
53640 , p_source_93 IN VARCHAR2
53641 --Invoice Burden Applied to First Distribution Identifier
53642 , p_source_94 IN NUMBER
53643 --Invoice Burden Applied to System Transaction Identifier
53644 , p_source_95 IN NUMBER
53645 --Invoice Distribution Expenditure Type
53646 , p_source_96 IN VARCHAR2
53647 --Encumbrance Upgrade Credit Accounting Class
53648 , p_source_97 IN VARCHAR2
53649 --Encumbrance Upgrade Credit Account
53650 , p_source_98 IN NUMBER
53651 --Invoice Distribution Ledger Amount Before Rounding
53652 , p_source_99 IN NUMBER
53653 --Encumbrance Upgrade Debit Accounting Class
53654 , p_source_100 IN VARCHAR2
53655 --Encumbrance Upgrade Debit Account
53656 , p_source_101 IN NUMBER
53657 --Use Encumbrances Upgrade Attributes Flag
53658 , p_source_102 IN VARCHAR2
53659 --Accounting reversal first distribution identifier for project invoice burden
53660 , p_source_103 IN NUMBER
53661 --Invoice Burden Applied to Second Distribution Identifier
53662 , p_source_104 IN VARCHAR2
53663 --Accounting reversal distribution type for project invoice burden
53667 --Encumbrance Upgrade Debit Encumbrance Type
53664 , p_source_105 IN VARCHAR2
53665 --Encumbrance Upgrade Credit Encumbrance Type
53666 , p_source_106 IN NUMBER
53668 , p_source_107 IN NUMBER
53669 )
53670 IS
53671
53672 l_component_type VARCHAR2(80);
53673 l_component_code VARCHAR2(30);
53674 l_component_type_code VARCHAR2(1);
53675 l_component_appl_id INTEGER;
53676 l_amb_context_code VARCHAR2(30);
53677 l_entity_code VARCHAR2(30);
53678 l_event_class_code VARCHAR2(30);
53679 l_ae_header_id NUMBER;
53680 l_event_type_code VARCHAR2(30);
53681 l_line_definition_code VARCHAR2(30);
53682 l_line_definition_owner_code VARCHAR2(1);
53683 --
53684 -- adr variables
53685 l_segment VARCHAR2(30);
53686 l_ccid NUMBER;
53687 l_adr_transaction_coa_id NUMBER;
53688 l_adr_accounting_coa_id NUMBER;
53689 l_adr_flexfield_segment_code VARCHAR2(30);
53690 l_adr_flex_value_set_id NUMBER;
53691 l_adr_value_type_code VARCHAR2(30);
53692 l_adr_value_combination_id NUMBER;
53693 l_adr_value_segment_code VARCHAR2(30);
53694
53695 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
53696 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
53697 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
53698 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
53699
53700 -- 4262811 Variables ------------------------------------------------------------------------------------------
53701 l_entered_amt_idx NUMBER;
53702 l_accted_amt_idx NUMBER;
53703 l_acc_rev_flag VARCHAR2(1);
53704 l_accrual_line_num NUMBER;
53705 l_tmp_amt NUMBER;
53706 l_acc_rev_natural_side_code VARCHAR2(1);
53707
53708 l_num_entries NUMBER;
53709 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
53710 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
53711 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
53712 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
53713 l_recog_line_1 NUMBER;
53714 l_recog_line_2 NUMBER;
53715
53716 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
53717 l_bflow_applied_to_amt NUMBER; -- 5132302
53718 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
53719
53720 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
53721
53722 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
53723 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
53724
53725 ---------------------------------------------------------------------------------------------------------------
53726
53727
53728 --
53729 -- bulk performance
53730 --
53731 l_balance_type_code VARCHAR2(1);
53732 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
53733 l_log_module VARCHAR2(240);
53734
53735 --
53736 -- Upgrade strategy
53737 --
53738 l_actual_upg_option VARCHAR2(1);
53739 l_enc_upg_option VARCHAR2(1);
53740
53741 --
53742 BEGIN
53743 --
53744 IF g_log_enabled THEN
53745 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_85';
53746 END IF;
53747 --
53748 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
53749
53750 trace
53751 (p_msg => 'BEGIN of AcctLineType_85'
53752 ,p_level => C_LEVEL_PROCEDURE
53753 ,p_module => l_log_module);
53754
53755 END IF;
53756 --
53757 l_component_type := 'AMB_JLT';
53758 l_component_code := 'BURDENED_INV_ENC';
53759 l_component_type_code := 'S';
53760 l_component_appl_id := 200;
53761 l_amb_context_code := 'DEFAULT';
53762 l_entity_code := 'AP_INVOICES';
53763 l_event_class_code := 'INVOICE_BURDEN';
53764 l_event_type_code := 'INVOICE_BURDEN_ALL';
53765 l_line_definition_owner_code := 'S';
53766 l_line_definition_code := 'AP_INV_BURDEN_ENC_ALL';
53767 --
53768 l_balance_type_code := 'E';
53769 l_segment := NULL;
53770 l_ccid := NULL;
53771 l_adr_transaction_coa_id := NULL;
53772 l_adr_accounting_coa_id := NULL;
53773 l_adr_flexfield_segment_code := NULL;
53774 l_adr_flex_value_set_id := NULL;
53775 l_adr_value_type_code := NULL;
53776 l_adr_value_combination_id := NULL;
53777 l_adr_value_segment_code := NULL;
53778
53779 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
53780 l_bflow_class_code := 'AP_INV_PA_BURDENED_ENC'; -- 4219869 Business Flow
53781 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
53782 l_budgetary_control_flag := 'Y';
53783
53784 l_bflow_applied_to_amt_idx := NULL; -- 5132302
53785 l_bflow_applied_to_amt := NULL; -- 5132302
53786 l_entered_amt_idx := NULL; -- 4262811
53787 l_accted_amt_idx := NULL; -- 4262811
53788 l_acc_rev_flag := NULL; -- 4262811
53792
53789 l_accrual_line_num := NULL; -- 4262811
53790 l_tmp_amt := NULL; -- 4262811
53791 --
53793 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
53794 l_balance_type_code <> 'B' THEN
53795 IF NVL(p_source_83,'
53796 ') = 'AP' AND
53797 (NVL(p_source_2,'
53798 ') <> 'PREPAY APPL' OR
53799 NVL(p_source_2,'
53800 ') <> 'TAX DIFF' OR
53801 NVL(p_source_2,'
53802 ') <> 'FINAL APPLICATION ROUNDING') AND
53803 NVL(p_source_84,'
53804 ') = 'S'
53805 THEN
53806
53807 --
53808 XLA_AE_LINES_PKG.SetNewLine;
53809
53810 p_balance_type_code := l_balance_type_code;
53811 -- set the flag so later we will know whether the gain loss line needs to be created
53812
53813 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
53814 p_actual_flag :='A';
53815 END IF;
53816
53817 --
53818 -- bulk performance
53819 --
53820 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
53821 p_header_num => 0); -- 4262811
53822 --
53823 -- set accounting line options
53824 --
53825 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
53826 p_natural_side_code => 'D'
53827 , p_gain_or_loss_flag => 'N'
53828 , p_gl_transfer_mode_code => 'S'
53829 , p_acct_entry_type_code => 'E'
53830 , p_switch_side_flag => 'Y'
53831 , p_merge_duplicate_code => 'N'
53832 );
53833 --
53834 l_acc_rev_natural_side_code := 'C'; -- 4262811
53835 --
53836 --
53837 -- set accounting line type info
53838 --
53839 xla_ae_lines_pkg.SetAcctLineType
53840 (p_component_type => l_component_type
53841 ,p_event_type_code => l_event_type_code
53842 ,p_line_definition_owner_code => l_line_definition_owner_code
53843 ,p_line_definition_code => l_line_definition_code
53844 ,p_accounting_line_code => l_component_code
53845 ,p_accounting_line_type_code => l_component_type_code
53846 ,p_accounting_line_appl_id => l_component_appl_id
53847 ,p_amb_context_code => l_amb_context_code
53848 ,p_entity_code => l_entity_code
53849 ,p_event_class_code => l_event_class_code);
53850 --
53851 -- set accounting class
53852 --
53853 xla_ae_lines_pkg.SetAcctClass(
53854 p_accounting_class_code => 'AP_INV_PA_BURDENED'
53855 , p_ae_header_id => l_ae_header_id
53856 );
53857
53858 --
53859 -- set rounding class
53860 --
53861 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
53862 'AP_INV_PA_BURDENED';
53863
53864 --
53865 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
53866 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
53867 --
53868 -- bulk performance
53869 --
53870 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
53871
53872 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
53873 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
53874
53875 -- 4955764
53876 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
53877 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
53878
53879 -- 4458381 Public Sector Enh
53880 XLA_AE_LINES_PKG.g_rec_lines.array_encumbrance_type_id(XLA_AE_LINES_PKG.g_LineNumber) := 1060;
53881 --
53882 -- set accounting attributes for the line type
53883 --
53884 l_entered_amt_idx := 27;
53885 l_accted_amt_idx := 32;
53886 l_bflow_applied_to_amt_idx := NULL; -- 5132302
53887 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
53888 l_rec_acct_attrs.array_char_value(1) := p_source_85;
53889 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
53890 l_rec_acct_attrs.array_num_value(2) := p_source_86;
53891 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
53892 l_rec_acct_attrs.array_char_value(3) := p_source_87;
53893 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
53894 l_rec_acct_attrs.array_char_value(4) := p_source_88;
53895 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
53896 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_89);
53897 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
53898 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_90);
53899 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
53900 l_rec_acct_attrs.array_num_value(7) := p_source_91;
53901 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
53902 l_rec_acct_attrs.array_char_value(8) := p_source_92;
53903 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
53904 l_rec_acct_attrs.array_char_value(9) := p_source_93;
53905 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
53906 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_94);
53907 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
53908 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_95);
53912 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_30);
53909 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_SECOND_DIST_ID';
53910 l_rec_acct_attrs.array_char_value(12) := p_source_96;
53911 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
53913 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_IDENTIFIER_2';
53914 l_rec_acct_attrs.array_char_value(14) := p_source_96;
53915 l_rec_acct_attrs.array_acct_attr_code(15) := 'DISTRIBUTION_TYPE';
53916 l_rec_acct_attrs.array_char_value(15) := p_source_21;
53917 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ACCT_CLASS';
53918 l_rec_acct_attrs.array_char_value(16) := p_source_97;
53919 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_CCID';
53920 l_rec_acct_attrs.array_num_value(17) := p_source_98;
53921 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_ENTERED_AMT';
53922 l_rec_acct_attrs.array_num_value(18) := p_source_57;
53923 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_CR_ENTERED_CURR';
53924 l_rec_acct_attrs.array_char_value(19) := p_source_33;
53925 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_CR_LEDGER_AMT';
53926 l_rec_acct_attrs.array_num_value(20) := p_source_99;
53927 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ACCT_CLASS';
53928 l_rec_acct_attrs.array_char_value(21) := p_source_100;
53929 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_CCID';
53930 l_rec_acct_attrs.array_num_value(22) := p_source_101;
53931 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_DR_ENTERED_AMT';
53932 l_rec_acct_attrs.array_num_value(23) := p_source_57;
53933 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENC_UPG_DR_ENTERED_CURR';
53934 l_rec_acct_attrs.array_char_value(24) := p_source_33;
53935 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENC_UPG_DR_LEDGER_AMT';
53936 l_rec_acct_attrs.array_num_value(25) := p_source_99;
53937 l_rec_acct_attrs.array_acct_attr_code(26) := 'ENC_UPG_OPTION';
53938 l_rec_acct_attrs.array_char_value(26) := p_source_102;
53939 l_rec_acct_attrs.array_acct_attr_code(27) := 'ENTERED_CURRENCY_AMOUNT';
53940 l_rec_acct_attrs.array_num_value(27) := p_source_57;
53941 l_rec_acct_attrs.array_acct_attr_code(28) := 'ENTERED_CURRENCY_CODE';
53942 l_rec_acct_attrs.array_char_value(28) := p_source_33;
53943 l_rec_acct_attrs.array_acct_attr_code(29) := 'EXCHANGE_DATE';
53944 l_rec_acct_attrs.array_date_value(29) := p_source_39;
53945 l_rec_acct_attrs.array_acct_attr_code(30) := 'EXCHANGE_RATE';
53946 l_rec_acct_attrs.array_num_value(30) := p_source_40;
53947 l_rec_acct_attrs.array_acct_attr_code(31) := 'EXCHANGE_RATE_TYPE';
53948 l_rec_acct_attrs.array_char_value(31) := p_source_41;
53949 l_rec_acct_attrs.array_acct_attr_code(32) := 'LEDGER_AMOUNT';
53950 l_rec_acct_attrs.array_num_value(32) := p_source_99;
53951 l_rec_acct_attrs.array_acct_attr_code(33) := 'REVERSED_DISTRIBUTION_ID1';
53952 l_rec_acct_attrs.array_num_value(33) := to_char(p_source_103);
53953 l_rec_acct_attrs.array_acct_attr_code(34) := 'REVERSED_DISTRIBUTION_ID2';
53954 l_rec_acct_attrs.array_char_value(34) := p_source_104;
53955 l_rec_acct_attrs.array_acct_attr_code(35) := 'REVERSED_DISTRIBUTION_TYPE';
53956 l_rec_acct_attrs.array_char_value(35) := p_source_105;
53957 l_rec_acct_attrs.array_acct_attr_code(36) := 'UPG_CR_ENC_TYPE_ID';
53958 l_rec_acct_attrs.array_num_value(36) := p_source_106;
53959 l_rec_acct_attrs.array_acct_attr_code(37) := 'UPG_DR_ENC_TYPE_ID';
53960 l_rec_acct_attrs.array_num_value(37) := p_source_107;
53961
53962 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
53963 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
53964
53965 ---------------------------------------------------------------------------------------------------------------
53966 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
53967 ---------------------------------------------------------------------------------------------------------------
53968 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
53969
53970 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
53971 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
53972
53973 IF xla_accounting_cache_pkg.GetValueChar
53974 (p_source_code => 'LEDGER_CATEGORY_CODE'
53975 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
53976 AND l_bflow_method_code = 'PRIOR_ENTRY'
53977 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
53978 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
53979 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
53980 )
53981 THEN
53982 xla_ae_lines_pkg.BflowUpgEntry
53983 (p_business_method_code => l_bflow_method_code
53984 ,p_business_class_code => l_bflow_class_code
53985 ,p_balance_type => l_balance_type_code);
53986 ELSE
53987 NULL;
53988 -- No business flow processing for business flow method of NONE.
53989 END IF;
53990
53991 --
53992 -- call analytical criteria
53993 --
53994
53995 --
53996 -- call description
53997 --
53998
53999 xla_ae_lines_pkg.SetLineDescription(
54000 p_ae_header_id => l_ae_header_id
54001 ,p_description => Description_3 (
54005 , p_source_3 => p_source_3
54002 p_application_id => p_application_id
54003 , p_ae_header_id => l_ae_header_id
54004 , p_source_2 => p_source_2
54006 , p_source_4 => p_source_4
54007 , p_source_5 => p_source_5
54008 )
54009 );
54010
54011
54012 --
54013 -- call ADRs
54014 -- Bug 4922099
54015 --
54016 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
54017 (NVL(l_actual_upg_option, 'N') = 'O') OR
54018 (NVL(l_enc_upg_option, 'N') = 'O')
54019 )
54020 THEN
54021 NULL;
54022 --
54023 --
54024
54025 l_ccid := AcctDerRule_9(
54026 p_application_id => p_application_id
54027 , p_ae_header_id => l_ae_header_id
54028 , p_source_14 => p_source_14
54029 , x_transaction_coa_id => l_adr_transaction_coa_id
54030 , x_accounting_coa_id => l_adr_accounting_coa_id
54031 , x_value_type_code => l_adr_value_type_code
54032 , p_side => 'NA'
54033 );
54034
54035 xla_ae_lines_pkg.set_ccid(
54036 p_code_combination_id => l_ccid
54037 , p_value_type_code => l_adr_value_type_code
54038 , p_transaction_coa_id => l_adr_transaction_coa_id
54039 , p_accounting_coa_id => l_adr_accounting_coa_id
54040 , p_adr_code => 'PROJ_BURDENED_ENC_ACCT_RULE'
54041 , p_adr_type_code => 'S'
54042 , p_component_type => l_component_type
54043 , p_component_code => l_component_code
54044 , p_component_type_code => l_component_type_code
54045 , p_component_appl_id => l_component_appl_id
54046 , p_amb_context_code => l_amb_context_code
54047 , p_side => 'NA'
54048 );
54049
54050
54051 --
54052 --
54053 END IF;
54054 --
54055 -- Bug 4922099
54056 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
54057 (NVL(l_enc_upg_option, 'N') = 'O')
54058 ) AND
54059 (l_bflow_method_code = 'PRIOR_ENTRY')
54060 )
54061 THEN
54062 IF
54063 --
54064 1 = 2
54065 --
54066 THEN
54067 xla_accounting_err_pkg.build_message
54068 (p_appli_s_name => 'XLA'
54069 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
54070 ,p_token_1 => 'LINE_NUMBER'
54071 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
54072 ,p_token_2 => 'LINE_TYPE_NAME'
54073 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
54074 l_component_type
54075 ,l_component_code
54076 ,l_component_type_code
54077 ,l_component_appl_id
54078 ,l_amb_context_code
54079 ,l_entity_code
54080 ,l_event_class_code
54081 )
54082 ,p_token_3 => 'OWNER'
54083 ,p_value_3 => xla_lookups_pkg.get_meaning(
54084 p_lookup_type => 'XLA_OWNER_TYPE'
54085 ,p_lookup_code => l_component_type_code
54086 )
54087 ,p_token_4 => 'PRODUCT_NAME'
54088 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
54089 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
54090 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
54091 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
54092 ,p_ae_header_id => NULL
54093 );
54094
54095 IF (C_LEVEL_ERROR>= g_log_level) THEN
54096 trace
54097 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
54098 ,p_level => C_LEVEL_ERROR
54099 ,p_module => l_log_module);
54100 END IF;
54101 END IF;
54102 END IF;
54103 --
54104 --
54105 ------------------------------------------------------------------------------------------------
54106 -- 4219869 Business Flow
54107 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
54108 -- Prior Entry. Currently, the following code is always generated.
54109 ------------------------------------------------------------------------------------------------
54110 XLA_AE_LINES_PKG.ValidateCurrentLine;
54111
54112 ------------------------------------------------------------------------------------
54116 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
54113 -- 4219869 Business Flow
54114 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
54115 ------------------------------------------------------------------------------------
54117
54118 ----------------------------------------------------------------------------------
54119 -- 4219869 Business Flow
54120 -- Update journal entry status -- Need to generate this within IF <condition>
54121 ----------------------------------------------------------------------------------
54122 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
54123 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
54124 ,p_balance_type_code => l_balance_type_code
54125 );
54126
54127 -------------------------------------------------------------------------------------------
54128 -- 4262811 - Generate the Accrual Reversal lines
54129 -------------------------------------------------------------------------------------------
54130 BEGIN
54131 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
54132 (g_array_event(p_event_id).array_value_num('header_index'));
54133 IF l_acc_rev_flag IS NULL THEN
54134 l_acc_rev_flag := 'N';
54135 END IF;
54136 EXCEPTION
54137 WHEN OTHERS THEN
54138 l_acc_rev_flag := 'N';
54139 END;
54140 --
54141 IF (l_acc_rev_flag = 'Y') THEN
54142
54143 -- 4645092 ------------------------------------------------------------------------------
54144 -- To allow MPA report to determine if it should generate report process
54145 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
54146 ------------------------------------------------------------------------------------------
54147
54148 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
54149 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
54150 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
54151 -- call ADRs
54152 -- Bug 4922099
54153 --
54154 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
54155 (NVL(l_actual_upg_option, 'N') = 'O') OR
54156 (NVL(l_enc_upg_option, 'N') = 'O')
54157 )
54158 THEN
54159 NULL;
54160 --
54161 --
54162
54163 l_ccid := AcctDerRule_9(
54164 p_application_id => p_application_id
54165 , p_ae_header_id => l_ae_header_id
54166 , p_source_14 => p_source_14
54167 , x_transaction_coa_id => l_adr_transaction_coa_id
54168 , x_accounting_coa_id => l_adr_accounting_coa_id
54169 , x_value_type_code => l_adr_value_type_code
54170 , p_side => 'NA'
54171 );
54172
54173 xla_ae_lines_pkg.set_ccid(
54174 p_code_combination_id => l_ccid
54175 , p_value_type_code => l_adr_value_type_code
54176 , p_transaction_coa_id => l_adr_transaction_coa_id
54177 , p_accounting_coa_id => l_adr_accounting_coa_id
54178 , p_adr_code => 'PROJ_BURDENED_ENC_ACCT_RULE'
54179 , p_adr_type_code => 'S'
54180 , p_component_type => l_component_type
54181 , p_component_code => l_component_code
54182 , p_component_type_code => l_component_type_code
54183 , p_component_appl_id => l_component_appl_id
54184 , p_amb_context_code => l_amb_context_code
54185 , p_side => 'NA'
54186 );
54187
54188
54189 --
54190 --
54191 END IF;
54192
54193 --
54194 -- Update the line information that should be overwritten
54195 --
54196 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
54197 p_header_num => 1);
54198 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
54199
54200 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
54201
54202 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
54203 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
54204 END IF;
54205
54206 --
54207 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
54208 --
54209 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
54210 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
54211 ELSE
54212 ---------------------------------------------------------------------------------------------------
54213 -- 4262811a Switch Sign
54214 ---------------------------------------------------------------------------------------------------
54215 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
54216 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
54217 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
54218 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
54222 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
54219 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
54220 -- 5132302
54221 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
54223
54224 END IF;
54225
54226 -- 4955764
54227 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
54228 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
54229
54230
54231 XLA_AE_LINES_PKG.ValidateCurrentLine;
54232 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
54233
54234 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
54235 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
54236 ,p_balance_type_code => l_balance_type_code);
54237
54238 END IF;
54239
54240 -----------------------------------------------------------------------------------------
54241 -- 4262811 Multiperiod Accounting
54242 -----------------------------------------------------------------------------------------
54243 -- No MPA option is assigned.
54244
54245
54246 END IF;
54247 END IF;
54248 --
54249
54250 --
54251 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
54252 trace
54253 (p_msg => 'END of AcctLineType_85'
54254 ,p_level => C_LEVEL_PROCEDURE
54255 ,p_module => l_log_module);
54256 END IF;
54257 --
54258 EXCEPTION
54259 WHEN xla_exceptions_pkg.application_exception THEN
54260 RAISE;
54261 WHEN OTHERS THEN
54262 xla_exceptions_pkg.raise_message
54263 (p_location => 'XLA_00200_AAD_S_000006_BC_PKG.AcctLineType_85');
54264 END AcctLineType_85;
54265 --
54266
54267 ---------------------------------------
54268 --
54269 -- PRIVATE FUNCTION
54270 -- AcctLineType_86
54271 --
54272 ---------------------------------------
54273 PROCEDURE AcctLineType_86 (
54274 p_application_id IN NUMBER
54275 ,p_event_id IN NUMBER
54276 ,p_calculate_acctd_flag IN VARCHAR2
54277 ,p_calculate_g_l_flag IN VARCHAR2
54278 ,p_actual_flag IN OUT VARCHAR2
54279 ,p_balance_type_code OUT VARCHAR2
54280 ,p_gain_or_loss_ref OUT VARCHAR2
54281
54282 --Document Distribution Type
54283 , p_source_2 IN VARCHAR2
54284 --Project Name
54285 , p_source_3 IN VARCHAR2
54286 --Task Number
54287 , p_source_4 IN VARCHAR2
54288 --Expenditure Organization
54289 , p_source_5 IN NUMBER
54290 --Budget Account
54291 , p_source_14 IN NUMBER
54292 --Distribution Link Type
54293 , p_source_21 IN VARCHAR2
54294 --Invoice Distribution Identifier
54295 , p_source_30 IN NUMBER
54296 --Invoice Currency Code
54297 , p_source_33 IN VARCHAR2
54298 --Invoice Exchange Date
54299 , p_source_39 IN DATE
54300 --Invoice Exchange Rate
54301 , p_source_40 IN NUMBER
54302 --Invoice Exchange Rate Type
54303 , p_source_41 IN VARCHAR2
54304 --Invoice Distribution Amount
54305 , p_source_57 IN NUMBER
54306 --Document Type
54307 , p_source_83 IN VARCHAR2
54308 --Burden Amount Display Method
54309 , p_source_84 IN VARCHAR2
54310 --Accounting reversal indicator for project invoice burden
54311 , p_source_85 IN VARCHAR2
54312 --Allocated to Application Identifier
54313 , p_source_86 IN NUMBER
54314 --Allocated to Distribution Type
54315 , p_source_87 IN VARCHAR2
54316 --Allocated to Entity Code
54317 , p_source_88 IN VARCHAR2
54318 --Allocated to First Distribution Identifier
54319 , p_source_89 IN NUMBER
54320 --Allocated to First System Transaction Identifier
54321 , p_source_90 IN NUMBER
54322 --Invoice Burden Applied to Application Identifier
54323 , p_source_91 IN NUMBER
54324 --Invoice Burden Applied to Distribution Type
54325 , p_source_92 IN VARCHAR2
54326 --Invoice Burden Applied to Entity Code
54327 , p_source_93 IN VARCHAR2
54328 --Invoice Burden Applied to First Distribution Identifier
54329 , p_source_94 IN NUMBER
54330 --Invoice Burden Applied to System Transaction Identifier
54331 , p_source_95 IN NUMBER
54332 --Invoice Distribution Expenditure Type
54333 , p_source_96 IN VARCHAR2
54334 --Encumbrance Upgrade Credit Accounting Class
54335 , p_source_97 IN VARCHAR2
54336 --Encumbrance Upgrade Credit Account
54337 , p_source_98 IN NUMBER
54338 --Invoice Distribution Ledger Amount Before Rounding
54339 , p_source_99 IN NUMBER
54340 --Encumbrance Upgrade Debit Accounting Class
54341 , p_source_100 IN VARCHAR2
54342 --Encumbrance Upgrade Debit Account
54343 , p_source_101 IN NUMBER
54344 --Use Encumbrances Upgrade Attributes Flag
54345 , p_source_102 IN VARCHAR2
54346 --Accounting reversal first distribution identifier for project invoice burden
54347 , p_source_103 IN NUMBER
54348 --Invoice Burden Applied to Second Distribution Identifier
54349 , p_source_104 IN VARCHAR2
54350 --Accounting reversal distribution type for project invoice burden
54354 --Encumbrance Upgrade Debit Encumbrance Type
54351 , p_source_105 IN VARCHAR2
54352 --Encumbrance Upgrade Credit Encumbrance Type
54353 , p_source_106 IN NUMBER
54355 , p_source_107 IN NUMBER
54356 --Burden Record Identifier
54357 , p_source_108 IN VARCHAR2
54358 , p_source_108_meaning IN VARCHAR2
54359 )
54360 IS
54361
54362 l_component_type VARCHAR2(80);
54363 l_component_code VARCHAR2(30);
54364 l_component_type_code VARCHAR2(1);
54365 l_component_appl_id INTEGER;
54366 l_amb_context_code VARCHAR2(30);
54367 l_entity_code VARCHAR2(30);
54368 l_event_class_code VARCHAR2(30);
54369 l_ae_header_id NUMBER;
54370 l_event_type_code VARCHAR2(30);
54371 l_line_definition_code VARCHAR2(30);
54372 l_line_definition_owner_code VARCHAR2(1);
54373 --
54374 -- adr variables
54375 l_segment VARCHAR2(30);
54376 l_ccid NUMBER;
54377 l_adr_transaction_coa_id NUMBER;
54378 l_adr_accounting_coa_id NUMBER;
54379 l_adr_flexfield_segment_code VARCHAR2(30);
54380 l_adr_flex_value_set_id NUMBER;
54381 l_adr_value_type_code VARCHAR2(30);
54382 l_adr_value_combination_id NUMBER;
54383 l_adr_value_segment_code VARCHAR2(30);
54384
54385 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
54386 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
54387 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
54388 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
54389
54390 -- 4262811 Variables ------------------------------------------------------------------------------------------
54391 l_entered_amt_idx NUMBER;
54392 l_accted_amt_idx NUMBER;
54393 l_acc_rev_flag VARCHAR2(1);
54394 l_accrual_line_num NUMBER;
54395 l_tmp_amt NUMBER;
54396 l_acc_rev_natural_side_code VARCHAR2(1);
54397
54398 l_num_entries NUMBER;
54399 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
54400 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
54401 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
54402 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
54403 l_recog_line_1 NUMBER;
54404 l_recog_line_2 NUMBER;
54405
54406 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
54407 l_bflow_applied_to_amt NUMBER; -- 5132302
54408 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
54409
54410 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
54411
54412 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
54413 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
54414
54415 ---------------------------------------------------------------------------------------------------------------
54416
54417
54418 --
54419 -- bulk performance
54420 --
54421 l_balance_type_code VARCHAR2(1);
54422 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
54423 l_log_module VARCHAR2(240);
54424
54425 --
54426 -- Upgrade strategy
54427 --
54428 l_actual_upg_option VARCHAR2(1);
54429 l_enc_upg_option VARCHAR2(1);
54430
54431 --
54432 BEGIN
54433 --
54434 IF g_log_enabled THEN
54435 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_86';
54436 END IF;
54437 --
54438 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
54439
54440 trace
54441 (p_msg => 'BEGIN of AcctLineType_86'
54442 ,p_level => C_LEVEL_PROCEDURE
54443 ,p_module => l_log_module);
54444
54445 END IF;
54446 --
54447 l_component_type := 'AMB_JLT';
54448 l_component_code := 'BURDEN_INV_ENC';
54449 l_component_type_code := 'S';
54450 l_component_appl_id := 200;
54451 l_amb_context_code := 'DEFAULT';
54452 l_entity_code := 'AP_INVOICES';
54453 l_event_class_code := 'INVOICE_BURDEN';
54454 l_event_type_code := 'INVOICE_BURDEN_ALL';
54455 l_line_definition_owner_code := 'S';
54456 l_line_definition_code := 'AP_INV_BURDEN_ENC_ALL';
54457 --
54458 l_balance_type_code := 'E';
54459 l_segment := NULL;
54460 l_ccid := NULL;
54461 l_adr_transaction_coa_id := NULL;
54462 l_adr_accounting_coa_id := NULL;
54463 l_adr_flexfield_segment_code := NULL;
54464 l_adr_flex_value_set_id := NULL;
54465 l_adr_value_type_code := NULL;
54466 l_adr_value_combination_id := NULL;
54467 l_adr_value_segment_code := NULL;
54468
54469 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
54470 l_bflow_class_code := 'AP_INV_PA_BURDEN_ENC'; -- 4219869 Business Flow
54471 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
54472 l_budgetary_control_flag := 'Y';
54473
54474 l_bflow_applied_to_amt_idx := NULL; -- 5132302
54475 l_bflow_applied_to_amt := NULL; -- 5132302
54476 l_entered_amt_idx := NULL; -- 4262811
54480 l_tmp_amt := NULL; -- 4262811
54477 l_accted_amt_idx := NULL; -- 4262811
54478 l_acc_rev_flag := NULL; -- 4262811
54479 l_accrual_line_num := NULL; -- 4262811
54481 --
54482
54483 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
54484 l_balance_type_code <> 'B' THEN
54485 IF NVL(p_source_83,'
54486 ') = 'AP' AND
54487 (NVL(p_source_2,'
54488 ') <> 'PREPAY APPL' OR
54489 NVL(p_source_2,'
54490 ') <> 'TAX DIFF' OR
54491 NVL(p_source_2,'
54492 ') <> 'FINAL APPLICATION ROUNDING') AND
54493 NVL(p_source_84,'
54494 ') = 'D' AND
54495 NVL(p_source_108,'
54496 ') = 'O'
54497 THEN
54498
54499 --
54500 XLA_AE_LINES_PKG.SetNewLine;
54501
54502 p_balance_type_code := l_balance_type_code;
54503 -- set the flag so later we will know whether the gain loss line needs to be created
54504
54505 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
54506 p_actual_flag :='A';
54507 END IF;
54508
54509 --
54510 -- bulk performance
54511 --
54512 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
54513 p_header_num => 0); -- 4262811
54514 --
54515 -- set accounting line options
54516 --
54517 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
54518 p_natural_side_code => 'D'
54519 , p_gain_or_loss_flag => 'N'
54520 , p_gl_transfer_mode_code => 'S'
54521 , p_acct_entry_type_code => 'E'
54522 , p_switch_side_flag => 'Y'
54523 , p_merge_duplicate_code => 'N'
54524 );
54525 --
54526 l_acc_rev_natural_side_code := 'C'; -- 4262811
54527 --
54528 --
54529 -- set accounting line type info
54530 --
54531 xla_ae_lines_pkg.SetAcctLineType
54532 (p_component_type => l_component_type
54533 ,p_event_type_code => l_event_type_code
54534 ,p_line_definition_owner_code => l_line_definition_owner_code
54535 ,p_line_definition_code => l_line_definition_code
54536 ,p_accounting_line_code => l_component_code
54537 ,p_accounting_line_type_code => l_component_type_code
54538 ,p_accounting_line_appl_id => l_component_appl_id
54539 ,p_amb_context_code => l_amb_context_code
54540 ,p_entity_code => l_entity_code
54541 ,p_event_class_code => l_event_class_code);
54542 --
54543 -- set accounting class
54544 --
54545 xla_ae_lines_pkg.SetAcctClass(
54546 p_accounting_class_code => 'AP_INV_PA_BURDEN'
54547 , p_ae_header_id => l_ae_header_id
54548 );
54549
54550 --
54551 -- set rounding class
54552 --
54553 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
54554 'AP_INV_PA_BURDEN';
54555
54556 --
54557 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
54558 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
54559 --
54560 -- bulk performance
54561 --
54562 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
54563
54564 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
54565 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
54566
54567 -- 4955764
54568 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
54569 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
54570
54571 -- 4458381 Public Sector Enh
54572 XLA_AE_LINES_PKG.g_rec_lines.array_encumbrance_type_id(XLA_AE_LINES_PKG.g_LineNumber) := 1060;
54573 --
54574 -- set accounting attributes for the line type
54575 --
54576 l_entered_amt_idx := 27;
54577 l_accted_amt_idx := 32;
54578 l_bflow_applied_to_amt_idx := NULL; -- 5132302
54579 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
54580 l_rec_acct_attrs.array_char_value(1) := p_source_85;
54581 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
54582 l_rec_acct_attrs.array_num_value(2) := p_source_86;
54583 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
54584 l_rec_acct_attrs.array_char_value(3) := p_source_87;
54585 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
54586 l_rec_acct_attrs.array_char_value(4) := p_source_88;
54587 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
54588 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_89);
54589 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
54590 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_90);
54591 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
54592 l_rec_acct_attrs.array_num_value(7) := p_source_91;
54593 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
54594 l_rec_acct_attrs.array_char_value(8) := p_source_92;
54595 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
54596 l_rec_acct_attrs.array_char_value(9) := p_source_93;
54597 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
54601 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_SECOND_DIST_ID';
54598 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_94);
54599 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
54600 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_95);
54602 l_rec_acct_attrs.array_char_value(12) := p_source_96;
54603 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
54604 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_30);
54605 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_IDENTIFIER_2';
54606 l_rec_acct_attrs.array_char_value(14) := p_source_96;
54607 l_rec_acct_attrs.array_acct_attr_code(15) := 'DISTRIBUTION_TYPE';
54608 l_rec_acct_attrs.array_char_value(15) := p_source_21;
54609 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ACCT_CLASS';
54610 l_rec_acct_attrs.array_char_value(16) := p_source_97;
54611 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_CCID';
54612 l_rec_acct_attrs.array_num_value(17) := p_source_98;
54613 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_ENTERED_AMT';
54614 l_rec_acct_attrs.array_num_value(18) := p_source_57;
54615 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_CR_ENTERED_CURR';
54616 l_rec_acct_attrs.array_char_value(19) := p_source_33;
54617 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_CR_LEDGER_AMT';
54618 l_rec_acct_attrs.array_num_value(20) := p_source_99;
54619 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ACCT_CLASS';
54620 l_rec_acct_attrs.array_char_value(21) := p_source_100;
54621 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_CCID';
54622 l_rec_acct_attrs.array_num_value(22) := p_source_101;
54623 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_DR_ENTERED_AMT';
54624 l_rec_acct_attrs.array_num_value(23) := p_source_57;
54625 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENC_UPG_DR_ENTERED_CURR';
54626 l_rec_acct_attrs.array_char_value(24) := p_source_33;
54627 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENC_UPG_DR_LEDGER_AMT';
54628 l_rec_acct_attrs.array_num_value(25) := p_source_99;
54629 l_rec_acct_attrs.array_acct_attr_code(26) := 'ENC_UPG_OPTION';
54630 l_rec_acct_attrs.array_char_value(26) := p_source_102;
54631 l_rec_acct_attrs.array_acct_attr_code(27) := 'ENTERED_CURRENCY_AMOUNT';
54632 l_rec_acct_attrs.array_num_value(27) := p_source_57;
54633 l_rec_acct_attrs.array_acct_attr_code(28) := 'ENTERED_CURRENCY_CODE';
54634 l_rec_acct_attrs.array_char_value(28) := p_source_33;
54635 l_rec_acct_attrs.array_acct_attr_code(29) := 'EXCHANGE_DATE';
54636 l_rec_acct_attrs.array_date_value(29) := p_source_39;
54637 l_rec_acct_attrs.array_acct_attr_code(30) := 'EXCHANGE_RATE';
54638 l_rec_acct_attrs.array_num_value(30) := p_source_40;
54639 l_rec_acct_attrs.array_acct_attr_code(31) := 'EXCHANGE_RATE_TYPE';
54640 l_rec_acct_attrs.array_char_value(31) := p_source_41;
54641 l_rec_acct_attrs.array_acct_attr_code(32) := 'LEDGER_AMOUNT';
54642 l_rec_acct_attrs.array_num_value(32) := p_source_99;
54643 l_rec_acct_attrs.array_acct_attr_code(33) := 'REVERSED_DISTRIBUTION_ID1';
54644 l_rec_acct_attrs.array_num_value(33) := to_char(p_source_103);
54645 l_rec_acct_attrs.array_acct_attr_code(34) := 'REVERSED_DISTRIBUTION_ID2';
54646 l_rec_acct_attrs.array_char_value(34) := p_source_104;
54647 l_rec_acct_attrs.array_acct_attr_code(35) := 'REVERSED_DISTRIBUTION_TYPE';
54648 l_rec_acct_attrs.array_char_value(35) := p_source_105;
54649 l_rec_acct_attrs.array_acct_attr_code(36) := 'UPG_CR_ENC_TYPE_ID';
54650 l_rec_acct_attrs.array_num_value(36) := p_source_106;
54651 l_rec_acct_attrs.array_acct_attr_code(37) := 'UPG_DR_ENC_TYPE_ID';
54652 l_rec_acct_attrs.array_num_value(37) := p_source_107;
54653
54654 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
54655 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
54656
54657 ---------------------------------------------------------------------------------------------------------------
54658 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
54659 ---------------------------------------------------------------------------------------------------------------
54660 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
54661
54662 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
54663 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
54664
54665 IF xla_accounting_cache_pkg.GetValueChar
54666 (p_source_code => 'LEDGER_CATEGORY_CODE'
54667 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
54668 AND l_bflow_method_code = 'PRIOR_ENTRY'
54669 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
54670 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
54671 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
54672 )
54673 THEN
54674 xla_ae_lines_pkg.BflowUpgEntry
54675 (p_business_method_code => l_bflow_method_code
54676 ,p_business_class_code => l_bflow_class_code
54677 ,p_balance_type => l_balance_type_code);
54678 ELSE
54679 NULL;
54680 -- No business flow processing for business flow method of NONE.
54681 END IF;
54682
54683 --
54684 -- call analytical criteria
54685 --
54686
54687 --
54691 xla_ae_lines_pkg.SetLineDescription(
54688 -- call description
54689 --
54690
54692 p_ae_header_id => l_ae_header_id
54693 ,p_description => Description_3 (
54694 p_application_id => p_application_id
54695 , p_ae_header_id => l_ae_header_id
54696 , p_source_2 => p_source_2
54697 , p_source_3 => p_source_3
54698 , p_source_4 => p_source_4
54699 , p_source_5 => p_source_5
54700 )
54701 );
54702
54703
54704 --
54705 -- call ADRs
54706 -- Bug 4922099
54707 --
54708 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
54709 (NVL(l_actual_upg_option, 'N') = 'O') OR
54710 (NVL(l_enc_upg_option, 'N') = 'O')
54711 )
54712 THEN
54713 NULL;
54714 --
54715 --
54716
54717 l_ccid := AcctDerRule_10(
54718 p_application_id => p_application_id
54719 , p_ae_header_id => l_ae_header_id
54720 , p_source_14 => p_source_14
54721 , x_transaction_coa_id => l_adr_transaction_coa_id
54722 , x_accounting_coa_id => l_adr_accounting_coa_id
54723 , x_value_type_code => l_adr_value_type_code
54724 , p_side => 'NA'
54725 );
54726
54727 xla_ae_lines_pkg.set_ccid(
54728 p_code_combination_id => l_ccid
54729 , p_value_type_code => l_adr_value_type_code
54730 , p_transaction_coa_id => l_adr_transaction_coa_id
54731 , p_accounting_coa_id => l_adr_accounting_coa_id
54732 , p_adr_code => 'PROJ_BURDEN_ENC_ACCT_RULE'
54733 , p_adr_type_code => 'S'
54734 , p_component_type => l_component_type
54735 , p_component_code => l_component_code
54736 , p_component_type_code => l_component_type_code
54737 , p_component_appl_id => l_component_appl_id
54738 , p_amb_context_code => l_amb_context_code
54739 , p_side => 'NA'
54740 );
54741
54742
54743 --
54744 --
54745 END IF;
54746 --
54747 -- Bug 4922099
54748 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
54749 (NVL(l_enc_upg_option, 'N') = 'O')
54750 ) AND
54751 (l_bflow_method_code = 'PRIOR_ENTRY')
54752 )
54753 THEN
54754 IF
54755 --
54756 1 = 2
54757 --
54758 THEN
54759 xla_accounting_err_pkg.build_message
54760 (p_appli_s_name => 'XLA'
54761 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
54762 ,p_token_1 => 'LINE_NUMBER'
54763 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
54764 ,p_token_2 => 'LINE_TYPE_NAME'
54765 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
54766 l_component_type
54767 ,l_component_code
54768 ,l_component_type_code
54769 ,l_component_appl_id
54770 ,l_amb_context_code
54771 ,l_entity_code
54772 ,l_event_class_code
54773 )
54774 ,p_token_3 => 'OWNER'
54775 ,p_value_3 => xla_lookups_pkg.get_meaning(
54776 p_lookup_type => 'XLA_OWNER_TYPE'
54777 ,p_lookup_code => l_component_type_code
54778 )
54779 ,p_token_4 => 'PRODUCT_NAME'
54780 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
54781 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
54782 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
54783 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
54784 ,p_ae_header_id => NULL
54785 );
54786
54787 IF (C_LEVEL_ERROR>= g_log_level) THEN
54788 trace
54789 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
54790 ,p_level => C_LEVEL_ERROR
54791 ,p_module => l_log_module);
54792 END IF;
54793 END IF;
54794 END IF;
54795 --
54796 --
54797 ------------------------------------------------------------------------------------------------
54798 -- 4219869 Business Flow
54799 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
54800 -- Prior Entry. Currently, the following code is always generated.
54804 ------------------------------------------------------------------------------------
54801 ------------------------------------------------------------------------------------------------
54802 XLA_AE_LINES_PKG.ValidateCurrentLine;
54803
54805 -- 4219869 Business Flow
54806 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
54807 ------------------------------------------------------------------------------------
54808 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
54809
54810 ----------------------------------------------------------------------------------
54811 -- 4219869 Business Flow
54812 -- Update journal entry status -- Need to generate this within IF <condition>
54813 ----------------------------------------------------------------------------------
54814 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
54815 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
54816 ,p_balance_type_code => l_balance_type_code
54817 );
54818
54819 -------------------------------------------------------------------------------------------
54820 -- 4262811 - Generate the Accrual Reversal lines
54821 -------------------------------------------------------------------------------------------
54822 BEGIN
54823 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
54824 (g_array_event(p_event_id).array_value_num('header_index'));
54825 IF l_acc_rev_flag IS NULL THEN
54826 l_acc_rev_flag := 'N';
54827 END IF;
54828 EXCEPTION
54829 WHEN OTHERS THEN
54830 l_acc_rev_flag := 'N';
54831 END;
54832 --
54833 IF (l_acc_rev_flag = 'Y') THEN
54834
54835 -- 4645092 ------------------------------------------------------------------------------
54836 -- To allow MPA report to determine if it should generate report process
54837 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
54838 ------------------------------------------------------------------------------------------
54839
54840 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
54841 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
54842 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
54843 -- call ADRs
54844 -- Bug 4922099
54845 --
54846 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
54847 (NVL(l_actual_upg_option, 'N') = 'O') OR
54848 (NVL(l_enc_upg_option, 'N') = 'O')
54849 )
54850 THEN
54851 NULL;
54852 --
54853 --
54854
54855 l_ccid := AcctDerRule_10(
54856 p_application_id => p_application_id
54857 , p_ae_header_id => l_ae_header_id
54858 , p_source_14 => p_source_14
54859 , x_transaction_coa_id => l_adr_transaction_coa_id
54860 , x_accounting_coa_id => l_adr_accounting_coa_id
54861 , x_value_type_code => l_adr_value_type_code
54862 , p_side => 'NA'
54863 );
54864
54865 xla_ae_lines_pkg.set_ccid(
54866 p_code_combination_id => l_ccid
54867 , p_value_type_code => l_adr_value_type_code
54868 , p_transaction_coa_id => l_adr_transaction_coa_id
54869 , p_accounting_coa_id => l_adr_accounting_coa_id
54870 , p_adr_code => 'PROJ_BURDEN_ENC_ACCT_RULE'
54871 , p_adr_type_code => 'S'
54872 , p_component_type => l_component_type
54873 , p_component_code => l_component_code
54874 , p_component_type_code => l_component_type_code
54875 , p_component_appl_id => l_component_appl_id
54876 , p_amb_context_code => l_amb_context_code
54877 , p_side => 'NA'
54878 );
54879
54880
54881 --
54882 --
54883 END IF;
54884
54885 --
54886 -- Update the line information that should be overwritten
54887 --
54888 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
54889 p_header_num => 1);
54890 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
54891
54892 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
54893
54894 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
54895 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
54896 END IF;
54897
54898 --
54899 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
54900 --
54901 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
54902 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
54903 ELSE
54904 ---------------------------------------------------------------------------------------------------
54905 -- 4262811a Switch Sign
54906 ---------------------------------------------------------------------------------------------------
54907 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
54908 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
54912 -- 5132302
54909 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
54910 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
54911 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
54913 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
54914 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
54915
54916 END IF;
54917
54918 -- 4955764
54919 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
54920 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
54921
54922
54923 XLA_AE_LINES_PKG.ValidateCurrentLine;
54924 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
54925
54926 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
54927 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
54928 ,p_balance_type_code => l_balance_type_code);
54929
54930 END IF;
54931
54932 -----------------------------------------------------------------------------------------
54933 -- 4262811 Multiperiod Accounting
54934 -----------------------------------------------------------------------------------------
54935 -- No MPA option is assigned.
54936
54937
54938 END IF;
54939 END IF;
54940 --
54941
54942 --
54943 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
54944 trace
54945 (p_msg => 'END of AcctLineType_86'
54946 ,p_level => C_LEVEL_PROCEDURE
54947 ,p_module => l_log_module);
54948 END IF;
54949 --
54950 EXCEPTION
54951 WHEN xla_exceptions_pkg.application_exception THEN
54952 RAISE;
54953 WHEN OTHERS THEN
54954 xla_exceptions_pkg.raise_message
54955 (p_location => 'XLA_00200_AAD_S_000006_BC_PKG.AcctLineType_86');
54956 END AcctLineType_86;
54957 --
54958
54959 ---------------------------------------
54960 --
54961 -- PRIVATE FUNCTION
54962 -- AcctLineType_87
54963 --
54964 ---------------------------------------
54965 PROCEDURE AcctLineType_87 (
54966 p_application_id IN NUMBER
54967 ,p_event_id IN NUMBER
54968 ,p_calculate_acctd_flag IN VARCHAR2
54969 ,p_calculate_g_l_flag IN VARCHAR2
54970 ,p_actual_flag IN OUT VARCHAR2
54971 ,p_balance_type_code OUT VARCHAR2
54972 ,p_gain_or_loss_ref OUT VARCHAR2
54973
54974 --Document Distribution Type
54975 , p_source_2 IN VARCHAR2
54976 --Project Name
54977 , p_source_3 IN VARCHAR2
54978 --Task Number
54979 , p_source_4 IN VARCHAR2
54980 --Expenditure Organization
54981 , p_source_5 IN NUMBER
54982 --Distribution Link Type
54983 , p_source_21 IN VARCHAR2
54984 --Invoice Distribution Identifier
54985 , p_source_30 IN NUMBER
54986 --Invoice Currency Code
54987 , p_source_33 IN VARCHAR2
54988 --Invoice Distribution Amount
54989 , p_source_57 IN NUMBER
54990 --Document Type
54991 , p_source_83 IN VARCHAR2
54992 --Burden Amount Display Method
54993 , p_source_84 IN VARCHAR2
54994 --Accounting reversal indicator for project invoice burden
54995 , p_source_85 IN VARCHAR2
54996 --Allocated to Application Identifier
54997 , p_source_86 IN NUMBER
54998 --Allocated to Distribution Type
54999 , p_source_87 IN VARCHAR2
55000 --Allocated to Entity Code
55001 , p_source_88 IN VARCHAR2
55002 --Allocated to First Distribution Identifier
55003 , p_source_89 IN NUMBER
55004 --Allocated to First System Transaction Identifier
55005 , p_source_90 IN NUMBER
55006 --Invoice Burden Applied to Application Identifier
55007 , p_source_91 IN NUMBER
55008 --Invoice Burden Applied to Distribution Type
55009 , p_source_92 IN VARCHAR2
55010 --Invoice Burden Applied to Entity Code
55011 , p_source_93 IN VARCHAR2
55012 --Invoice Burden Applied to First Distribution Identifier
55013 , p_source_94 IN NUMBER
55014 --Invoice Burden Applied to System Transaction Identifier
55015 , p_source_95 IN NUMBER
55016 --Invoice Distribution Expenditure Type
55017 , p_source_96 IN VARCHAR2
55018 --Encumbrance Upgrade Credit Accounting Class
55019 , p_source_97 IN VARCHAR2
55020 --Encumbrance Upgrade Credit Account
55021 , p_source_98 IN NUMBER
55022 --Invoice Distribution Ledger Amount Before Rounding
55023 , p_source_99 IN NUMBER
55024 --Encumbrance Upgrade Debit Accounting Class
55025 , p_source_100 IN VARCHAR2
55026 --Encumbrance Upgrade Debit Account
55027 , p_source_101 IN NUMBER
55028 --Use Encumbrances Upgrade Attributes Flag
55029 , p_source_102 IN VARCHAR2
55030 --Accounting reversal first distribution identifier for project invoice burden
55031 , p_source_103 IN NUMBER
55032 --Invoice Burden Applied to Second Distribution Identifier
55033 , p_source_104 IN VARCHAR2
55034 --Accounting reversal distribution type for project invoice burden
55035 , p_source_105 IN VARCHAR2
55036 --Encumbrance Upgrade Credit Encumbrance Type
55040 )
55037 , p_source_106 IN NUMBER
55038 --Encumbrance Upgrade Debit Encumbrance Type
55039 , p_source_107 IN NUMBER
55041 IS
55042
55043 l_component_type VARCHAR2(80);
55044 l_component_code VARCHAR2(30);
55045 l_component_type_code VARCHAR2(1);
55046 l_component_appl_id INTEGER;
55047 l_amb_context_code VARCHAR2(30);
55048 l_entity_code VARCHAR2(30);
55049 l_event_class_code VARCHAR2(30);
55050 l_ae_header_id NUMBER;
55051 l_event_type_code VARCHAR2(30);
55052 l_line_definition_code VARCHAR2(30);
55053 l_line_definition_owner_code VARCHAR2(1);
55054 --
55055 -- adr variables
55056 l_segment VARCHAR2(30);
55057 l_ccid NUMBER;
55058 l_adr_transaction_coa_id NUMBER;
55059 l_adr_accounting_coa_id NUMBER;
55060 l_adr_flexfield_segment_code VARCHAR2(30);
55061 l_adr_flex_value_set_id NUMBER;
55062 l_adr_value_type_code VARCHAR2(30);
55063 l_adr_value_combination_id NUMBER;
55064 l_adr_value_segment_code VARCHAR2(30);
55065
55066 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
55067 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
55068 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
55069 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
55070
55071 -- 4262811 Variables ------------------------------------------------------------------------------------------
55072 l_entered_amt_idx NUMBER;
55073 l_accted_amt_idx NUMBER;
55074 l_acc_rev_flag VARCHAR2(1);
55075 l_accrual_line_num NUMBER;
55076 l_tmp_amt NUMBER;
55077 l_acc_rev_natural_side_code VARCHAR2(1);
55078
55079 l_num_entries NUMBER;
55080 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
55081 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
55082 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
55083 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
55084 l_recog_line_1 NUMBER;
55085 l_recog_line_2 NUMBER;
55086
55087 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
55088 l_bflow_applied_to_amt NUMBER; -- 5132302
55089 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
55090
55091 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
55092
55093 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
55094 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
55095
55096 ---------------------------------------------------------------------------------------------------------------
55097
55098
55099 --
55100 -- bulk performance
55101 --
55102 l_balance_type_code VARCHAR2(1);
55103 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
55104 l_log_module VARCHAR2(240);
55105
55106 --
55107 -- Upgrade strategy
55108 --
55109 l_actual_upg_option VARCHAR2(1);
55110 l_enc_upg_option VARCHAR2(1);
55111
55112 --
55113 BEGIN
55114 --
55115 IF g_log_enabled THEN
55116 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_87';
55117 END IF;
55118 --
55119 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
55120
55121 trace
55122 (p_msg => 'BEGIN of AcctLineType_87'
55123 ,p_level => C_LEVEL_PROCEDURE
55124 ,p_module => l_log_module);
55125
55126 END IF;
55127 --
55128 l_component_type := 'AMB_JLT';
55129 l_component_code := 'PREPAY_APPL_BURDENED_ENC';
55130 l_component_type_code := 'S';
55131 l_component_appl_id := 200;
55132 l_amb_context_code := 'DEFAULT';
55133 l_entity_code := 'AP_INVOICES';
55134 l_event_class_code := 'PREPAY_APPLICATION_BURDEN';
55135 l_event_type_code := 'PREPAY_APPLICATION_BURDEN_ALL';
55136 l_line_definition_owner_code := 'S';
55137 l_line_definition_code := 'AP_PREPAY_APPLY_BURDEN_ENC_ALL';
55138 --
55139 l_balance_type_code := 'E';
55140 l_segment := NULL;
55141 l_ccid := NULL;
55142 l_adr_transaction_coa_id := NULL;
55143 l_adr_accounting_coa_id := NULL;
55144 l_adr_flexfield_segment_code := NULL;
55145 l_adr_flex_value_set_id := NULL;
55146 l_adr_value_type_code := NULL;
55147 l_adr_value_combination_id := NULL;
55148 l_adr_value_segment_code := NULL;
55149
55150 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
55151 l_bflow_class_code := 'AP_PREPAY_BURDENED_ENC'; -- 4219869 Business Flow
55152 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
55153 l_budgetary_control_flag := 'Y';
55154
55155 l_bflow_applied_to_amt_idx := NULL; -- 5132302
55156 l_bflow_applied_to_amt := NULL; -- 5132302
55157 l_entered_amt_idx := NULL; -- 4262811
55158 l_accted_amt_idx := NULL; -- 4262811
55159 l_acc_rev_flag := NULL; -- 4262811
55160 l_accrual_line_num := NULL; -- 4262811
55161 l_tmp_amt := NULL; -- 4262811
55162 --
55166 IF NVL(p_source_83,'
55163
55164 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
55165 l_balance_type_code <> 'B' THEN
55167 ') = 'AP' AND
55168 (NVL(p_source_2,'
55169 ') = 'PREPAY APPL' OR
55170 NVL(p_source_2,'
55171 ') = 'TAX DIFF' OR
55172 NVL(p_source_2,'
55173 ') = 'FINAL APPLICATION ROUNDING' OR
55174 NVL(p_source_2,'
55175 ') = 'PREPAY APPL NONREC TAX') AND
55176 NVL(p_source_84,'
55177 ') = 'S'
55178 THEN
55179
55180 --
55181 XLA_AE_LINES_PKG.SetNewLine;
55182
55183 p_balance_type_code := l_balance_type_code;
55184 -- set the flag so later we will know whether the gain loss line needs to be created
55185
55186 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
55187 p_actual_flag :='A';
55188 END IF;
55189
55190 --
55191 -- bulk performance
55192 --
55193 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
55194 p_header_num => 0); -- 4262811
55195 --
55196 -- set accounting line options
55197 --
55198 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
55199 p_natural_side_code => 'C'
55200 , p_gain_or_loss_flag => 'N'
55201 , p_gl_transfer_mode_code => 'S'
55202 , p_acct_entry_type_code => 'E'
55203 , p_switch_side_flag => 'Y'
55204 , p_merge_duplicate_code => 'N'
55205 );
55206 --
55207 l_acc_rev_natural_side_code := 'D'; -- 4262811
55208 --
55209 --
55210 -- set accounting line type info
55211 --
55212 xla_ae_lines_pkg.SetAcctLineType
55213 (p_component_type => l_component_type
55214 ,p_event_type_code => l_event_type_code
55215 ,p_line_definition_owner_code => l_line_definition_owner_code
55216 ,p_line_definition_code => l_line_definition_code
55217 ,p_accounting_line_code => l_component_code
55218 ,p_accounting_line_type_code => l_component_type_code
55219 ,p_accounting_line_appl_id => l_component_appl_id
55220 ,p_amb_context_code => l_amb_context_code
55221 ,p_entity_code => l_entity_code
55222 ,p_event_class_code => l_event_class_code);
55223 --
55224 -- set accounting class
55225 --
55226 xla_ae_lines_pkg.SetAcctClass(
55227 p_accounting_class_code => 'AP_PREPAY_APPL_BURDEN'
55228 , p_ae_header_id => l_ae_header_id
55229 );
55230
55231 --
55232 -- set rounding class
55233 --
55234 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
55235 'AP_PREPAY_APPL_BURDEN';
55236
55237 --
55238 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
55239 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
55240 --
55241 -- bulk performance
55242 --
55243 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
55244
55245 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
55246 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
55247
55248 -- 4955764
55249 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
55250 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
55251
55252 -- 4458381 Public Sector Enh
55253
55254 --
55255 -- set accounting attributes for the line type
55256 --
55257 l_entered_amt_idx := 27;
55258 l_accted_amt_idx := 29;
55259 l_bflow_applied_to_amt_idx := NULL; -- 5132302
55260 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
55261 l_rec_acct_attrs.array_char_value(1) := p_source_85;
55262 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
55263 l_rec_acct_attrs.array_num_value(2) := p_source_86;
55264 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
55265 l_rec_acct_attrs.array_char_value(3) := p_source_87;
55266 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
55267 l_rec_acct_attrs.array_char_value(4) := p_source_88;
55268 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
55269 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_89);
55270 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
55271 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_90);
55272 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
55273 l_rec_acct_attrs.array_num_value(7) := p_source_91;
55274 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
55275 l_rec_acct_attrs.array_char_value(8) := p_source_92;
55276 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
55277 l_rec_acct_attrs.array_char_value(9) := p_source_93;
55278 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
55279 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_94);
55280 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
55281 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_95);
55282 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_SECOND_DIST_ID';
55286 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_IDENTIFIER_2';
55283 l_rec_acct_attrs.array_char_value(12) := p_source_104;
55284 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
55285 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_30);
55287 l_rec_acct_attrs.array_char_value(14) := p_source_96;
55288 l_rec_acct_attrs.array_acct_attr_code(15) := 'DISTRIBUTION_TYPE';
55289 l_rec_acct_attrs.array_char_value(15) := p_source_21;
55290 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ACCT_CLASS';
55291 l_rec_acct_attrs.array_char_value(16) := p_source_97;
55292 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_CCID';
55293 l_rec_acct_attrs.array_num_value(17) := p_source_98;
55294 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_ENTERED_AMT';
55295 l_rec_acct_attrs.array_num_value(18) := p_source_57;
55296 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_CR_ENTERED_CURR';
55297 l_rec_acct_attrs.array_char_value(19) := p_source_33;
55298 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_CR_LEDGER_AMT';
55299 l_rec_acct_attrs.array_num_value(20) := p_source_99;
55300 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ACCT_CLASS';
55301 l_rec_acct_attrs.array_char_value(21) := p_source_100;
55302 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_CCID';
55303 l_rec_acct_attrs.array_num_value(22) := p_source_101;
55304 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_DR_ENTERED_AMT';
55305 l_rec_acct_attrs.array_num_value(23) := p_source_57;
55306 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENC_UPG_DR_ENTERED_CURR';
55307 l_rec_acct_attrs.array_char_value(24) := p_source_33;
55308 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENC_UPG_DR_LEDGER_AMT';
55309 l_rec_acct_attrs.array_num_value(25) := p_source_99;
55310 l_rec_acct_attrs.array_acct_attr_code(26) := 'ENC_UPG_OPTION';
55311 l_rec_acct_attrs.array_char_value(26) := p_source_102;
55312 l_rec_acct_attrs.array_acct_attr_code(27) := 'ENTERED_CURRENCY_AMOUNT';
55313 l_rec_acct_attrs.array_num_value(27) := p_source_57;
55314 l_rec_acct_attrs.array_acct_attr_code(28) := 'ENTERED_CURRENCY_CODE';
55315 l_rec_acct_attrs.array_char_value(28) := p_source_33;
55316 l_rec_acct_attrs.array_acct_attr_code(29) := 'LEDGER_AMOUNT';
55317 l_rec_acct_attrs.array_num_value(29) := p_source_99;
55318 l_rec_acct_attrs.array_acct_attr_code(30) := 'REVERSED_DISTRIBUTION_ID1';
55319 l_rec_acct_attrs.array_num_value(30) := to_char(p_source_103);
55320 l_rec_acct_attrs.array_acct_attr_code(31) := 'REVERSED_DISTRIBUTION_ID2';
55321 l_rec_acct_attrs.array_char_value(31) := p_source_104;
55322 l_rec_acct_attrs.array_acct_attr_code(32) := 'REVERSED_DISTRIBUTION_TYPE';
55323 l_rec_acct_attrs.array_char_value(32) := p_source_105;
55324 l_rec_acct_attrs.array_acct_attr_code(33) := 'UPG_CR_ENC_TYPE_ID';
55325 l_rec_acct_attrs.array_num_value(33) := p_source_106;
55326 l_rec_acct_attrs.array_acct_attr_code(34) := 'UPG_DR_ENC_TYPE_ID';
55327 l_rec_acct_attrs.array_num_value(34) := p_source_107;
55328
55329 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
55330 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
55331
55332 ---------------------------------------------------------------------------------------------------------------
55333 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
55334 ---------------------------------------------------------------------------------------------------------------
55335 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
55336
55337 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
55338 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
55339
55340 IF xla_accounting_cache_pkg.GetValueChar
55341 (p_source_code => 'LEDGER_CATEGORY_CODE'
55342 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
55343 AND l_bflow_method_code = 'PRIOR_ENTRY'
55344 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
55345 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
55346 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
55347 )
55348 THEN
55349 xla_ae_lines_pkg.BflowUpgEntry
55350 (p_business_method_code => l_bflow_method_code
55351 ,p_business_class_code => l_bflow_class_code
55352 ,p_balance_type => l_balance_type_code);
55353 ELSE
55354 NULL;
55355 XLA_AE_LINES_PKG.business_flow_validation(
55356 p_business_method_code => l_bflow_method_code
55357 ,p_business_class_code => l_bflow_class_code
55358 ,p_inherit_description_flag => l_inherit_desc_flag);
55359 END IF;
55360
55361 --
55362 -- call analytical criteria
55363 --
55364 -- Inherited Analytical Criteria for business flow method of Prior Entry.
55365 --
55366 -- call description
55367 --
55368
55369 xla_ae_lines_pkg.SetLineDescription(
55370 p_ae_header_id => l_ae_header_id
55371 ,p_description => Description_3 (
55372 p_application_id => p_application_id
55373 , p_ae_header_id => l_ae_header_id
55374 , p_source_2 => p_source_2
55375 , p_source_3 => p_source_3
55379 );
55376 , p_source_4 => p_source_4
55377 , p_source_5 => p_source_5
55378 )
55380
55381
55382 --
55383 -- call ADRs
55384 -- Bug 4922099
55385 --
55386 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
55387 (NVL(l_actual_upg_option, 'N') = 'O') OR
55388 (NVL(l_enc_upg_option, 'N') = 'O')
55389 )
55390 THEN
55391 NULL;
55392 --
55393 --
55394
55395 --
55396 --
55397 END IF;
55398 --
55399 -- Bug 4922099
55400 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
55401 (NVL(l_enc_upg_option, 'N') = 'O')
55402 ) AND
55403 (l_bflow_method_code = 'PRIOR_ENTRY')
55404 )
55405 THEN
55406 IF
55407 --
55408 1 = 1
55409 --
55410 THEN
55411 xla_accounting_err_pkg.build_message
55412 (p_appli_s_name => 'XLA'
55413 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
55414 ,p_token_1 => 'LINE_NUMBER'
55415 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
55416 ,p_token_2 => 'LINE_TYPE_NAME'
55417 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
55418 l_component_type
55419 ,l_component_code
55420 ,l_component_type_code
55421 ,l_component_appl_id
55422 ,l_amb_context_code
55423 ,l_entity_code
55424 ,l_event_class_code
55425 )
55426 ,p_token_3 => 'OWNER'
55427 ,p_value_3 => xla_lookups_pkg.get_meaning(
55428 p_lookup_type => 'XLA_OWNER_TYPE'
55429 ,p_lookup_code => l_component_type_code
55430 )
55431 ,p_token_4 => 'PRODUCT_NAME'
55432 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
55433 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
55434 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
55435 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
55436 ,p_ae_header_id => NULL
55437 );
55438
55439 IF (C_LEVEL_ERROR>= g_log_level) THEN
55440 trace
55441 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
55442 ,p_level => C_LEVEL_ERROR
55443 ,p_module => l_log_module);
55444 END IF;
55445 END IF;
55446 END IF;
55447 --
55448 --
55449 ------------------------------------------------------------------------------------------------
55450 -- 4219869 Business Flow
55451 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
55452 -- Prior Entry. Currently, the following code is always generated.
55453 ------------------------------------------------------------------------------------------------
55454 -- No ValidateCurrentLine for business flow method of Prior Entry
55455
55456 ------------------------------------------------------------------------------------
55457 -- 4219869 Business Flow
55458 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
55459 ------------------------------------------------------------------------------------
55460 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
55461
55462 ----------------------------------------------------------------------------------
55463 -- 4219869 Business Flow
55464 -- Update journal entry status -- Need to generate this within IF <condition>
55465 ----------------------------------------------------------------------------------
55466 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
55467 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
55468 ,p_balance_type_code => l_balance_type_code
55469 );
55470
55471 -------------------------------------------------------------------------------------------
55472 -- 4262811 - Generate the Accrual Reversal lines
55473 -------------------------------------------------------------------------------------------
55474 BEGIN
55475 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
55476 (g_array_event(p_event_id).array_value_num('header_index'));
55477 IF l_acc_rev_flag IS NULL THEN
55478 l_acc_rev_flag := 'N';
55479 END IF;
55480 EXCEPTION
55481 WHEN OTHERS THEN
55482 l_acc_rev_flag := 'N';
55486
55483 END;
55484 --
55485 IF (l_acc_rev_flag = 'Y') THEN
55487 -- 4645092 ------------------------------------------------------------------------------
55488 -- To allow MPA report to determine if it should generate report process
55489 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
55490 ------------------------------------------------------------------------------------------
55491
55492 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
55493 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
55494 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
55495 -- call ADRs
55496 -- Bug 4922099
55497 --
55498 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
55499 (NVL(l_actual_upg_option, 'N') = 'O') OR
55500 (NVL(l_enc_upg_option, 'N') = 'O')
55501 )
55502 THEN
55503 NULL;
55504 --
55505 --
55506
55507 --
55508 --
55509 END IF;
55510
55511 --
55512 -- Update the line information that should be overwritten
55513 --
55514 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
55515 p_header_num => 1);
55516 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
55517
55518 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
55519
55520 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
55521 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
55522 END IF;
55523
55524 --
55525 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
55526 --
55527 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
55528 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
55529 ELSE
55530 ---------------------------------------------------------------------------------------------------
55531 -- 4262811a Switch Sign
55532 ---------------------------------------------------------------------------------------------------
55533 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
55534 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
55535 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
55536 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
55537 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
55538 -- 5132302
55539 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
55540 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
55541
55542 END IF;
55543
55544 -- 4955764
55545 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
55546 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
55547
55548
55549 XLA_AE_LINES_PKG.ValidateCurrentLine;
55550 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
55551
55552 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
55553 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
55554 ,p_balance_type_code => l_balance_type_code);
55555
55556 END IF;
55557
55558 -----------------------------------------------------------------------------------------
55559 -- 4262811 Multiperiod Accounting
55560 -----------------------------------------------------------------------------------------
55561 -- No MPA option is assigned.
55562
55563
55564 END IF;
55565 END IF;
55566 --
55567
55568 --
55569 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
55570 trace
55571 (p_msg => 'END of AcctLineType_87'
55572 ,p_level => C_LEVEL_PROCEDURE
55573 ,p_module => l_log_module);
55574 END IF;
55575 --
55576 EXCEPTION
55577 WHEN xla_exceptions_pkg.application_exception THEN
55578 RAISE;
55579 WHEN OTHERS THEN
55580 xla_exceptions_pkg.raise_message
55581 (p_location => 'XLA_00200_AAD_S_000006_BC_PKG.AcctLineType_87');
55582 END AcctLineType_87;
55583 --
55584
55585 ---------------------------------------
55586 --
55587 -- PRIVATE FUNCTION
55588 -- AcctLineType_88
55589 --
55590 ---------------------------------------
55591 PROCEDURE AcctLineType_88 (
55592 p_application_id IN NUMBER
55593 ,p_event_id IN NUMBER
55594 ,p_calculate_acctd_flag IN VARCHAR2
55595 ,p_calculate_g_l_flag IN VARCHAR2
55596 ,p_actual_flag IN OUT VARCHAR2
55597 ,p_balance_type_code OUT VARCHAR2
55598 ,p_gain_or_loss_ref OUT VARCHAR2
55599
55600 --Document Distribution Type
55601 , p_source_2 IN VARCHAR2
55602 --Project Name
55603 , p_source_3 IN VARCHAR2
55604 --Task Number
55605 , p_source_4 IN VARCHAR2
55606 --Expenditure Organization
55607 , p_source_5 IN NUMBER
55611 , p_source_30 IN NUMBER
55608 --Distribution Link Type
55609 , p_source_21 IN VARCHAR2
55610 --Invoice Distribution Identifier
55612 --Invoice Currency Code
55613 , p_source_33 IN VARCHAR2
55614 --Invoice Distribution Amount
55615 , p_source_57 IN NUMBER
55616 --Document Type
55617 , p_source_83 IN VARCHAR2
55618 --Burden Amount Display Method
55619 , p_source_84 IN VARCHAR2
55620 --Accounting reversal indicator for project invoice burden
55621 , p_source_85 IN VARCHAR2
55622 --Allocated to Application Identifier
55623 , p_source_86 IN NUMBER
55624 --Allocated to Distribution Type
55625 , p_source_87 IN VARCHAR2
55626 --Allocated to Entity Code
55627 , p_source_88 IN VARCHAR2
55628 --Allocated to First Distribution Identifier
55629 , p_source_89 IN NUMBER
55630 --Allocated to First System Transaction Identifier
55631 , p_source_90 IN NUMBER
55632 --Invoice Burden Applied to Application Identifier
55633 , p_source_91 IN NUMBER
55634 --Invoice Burden Applied to Distribution Type
55635 , p_source_92 IN VARCHAR2
55636 --Invoice Burden Applied to Entity Code
55637 , p_source_93 IN VARCHAR2
55638 --Invoice Burden Applied to First Distribution Identifier
55639 , p_source_94 IN NUMBER
55640 --Invoice Burden Applied to System Transaction Identifier
55641 , p_source_95 IN NUMBER
55642 --Invoice Distribution Expenditure Type
55643 , p_source_96 IN VARCHAR2
55644 --Encumbrance Upgrade Credit Accounting Class
55645 , p_source_97 IN VARCHAR2
55646 --Encumbrance Upgrade Credit Account
55647 , p_source_98 IN NUMBER
55648 --Invoice Distribution Ledger Amount Before Rounding
55649 , p_source_99 IN NUMBER
55650 --Encumbrance Upgrade Debit Accounting Class
55651 , p_source_100 IN VARCHAR2
55652 --Encumbrance Upgrade Debit Account
55653 , p_source_101 IN NUMBER
55654 --Use Encumbrances Upgrade Attributes Flag
55655 , p_source_102 IN VARCHAR2
55656 --Accounting reversal first distribution identifier for project invoice burden
55657 , p_source_103 IN NUMBER
55658 --Invoice Burden Applied to Second Distribution Identifier
55659 , p_source_104 IN VARCHAR2
55660 --Accounting reversal distribution type for project invoice burden
55661 , p_source_105 IN VARCHAR2
55662 --Encumbrance Upgrade Credit Encumbrance Type
55663 , p_source_106 IN NUMBER
55664 --Encumbrance Upgrade Debit Encumbrance Type
55665 , p_source_107 IN NUMBER
55666 --Burden Record Identifier
55667 , p_source_108 IN VARCHAR2
55668 , p_source_108_meaning IN VARCHAR2
55669 )
55670 IS
55671
55672 l_component_type VARCHAR2(80);
55673 l_component_code VARCHAR2(30);
55674 l_component_type_code VARCHAR2(1);
55675 l_component_appl_id INTEGER;
55676 l_amb_context_code VARCHAR2(30);
55677 l_entity_code VARCHAR2(30);
55678 l_event_class_code VARCHAR2(30);
55679 l_ae_header_id NUMBER;
55680 l_event_type_code VARCHAR2(30);
55681 l_line_definition_code VARCHAR2(30);
55682 l_line_definition_owner_code VARCHAR2(1);
55683 --
55684 -- adr variables
55685 l_segment VARCHAR2(30);
55686 l_ccid NUMBER;
55687 l_adr_transaction_coa_id NUMBER;
55688 l_adr_accounting_coa_id NUMBER;
55689 l_adr_flexfield_segment_code VARCHAR2(30);
55690 l_adr_flex_value_set_id NUMBER;
55691 l_adr_value_type_code VARCHAR2(30);
55692 l_adr_value_combination_id NUMBER;
55693 l_adr_value_segment_code VARCHAR2(30);
55694
55695 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
55696 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
55697 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
55698 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
55699
55700 -- 4262811 Variables ------------------------------------------------------------------------------------------
55701 l_entered_amt_idx NUMBER;
55702 l_accted_amt_idx NUMBER;
55703 l_acc_rev_flag VARCHAR2(1);
55704 l_accrual_line_num NUMBER;
55705 l_tmp_amt NUMBER;
55706 l_acc_rev_natural_side_code VARCHAR2(1);
55707
55708 l_num_entries NUMBER;
55709 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
55710 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
55711 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
55712 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
55713 l_recog_line_1 NUMBER;
55714 l_recog_line_2 NUMBER;
55715
55716 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
55717 l_bflow_applied_to_amt NUMBER; -- 5132302
55718 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
55719
55720 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
55721
55722 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
55723 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
55724
55728 --
55725 ---------------------------------------------------------------------------------------------------------------
55726
55727
55729 -- bulk performance
55730 --
55731 l_balance_type_code VARCHAR2(1);
55732 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
55733 l_log_module VARCHAR2(240);
55734
55735 --
55736 -- Upgrade strategy
55737 --
55738 l_actual_upg_option VARCHAR2(1);
55739 l_enc_upg_option VARCHAR2(1);
55740
55741 --
55742 BEGIN
55743 --
55744 IF g_log_enabled THEN
55745 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_88';
55746 END IF;
55747 --
55748 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
55749
55750 trace
55751 (p_msg => 'BEGIN of AcctLineType_88'
55752 ,p_level => C_LEVEL_PROCEDURE
55753 ,p_module => l_log_module);
55754
55755 END IF;
55756 --
55757 l_component_type := 'AMB_JLT';
55758 l_component_code := 'PREPAY_APPL_BURDEN_ENC';
55759 l_component_type_code := 'S';
55760 l_component_appl_id := 200;
55761 l_amb_context_code := 'DEFAULT';
55762 l_entity_code := 'AP_INVOICES';
55763 l_event_class_code := 'PREPAY_APPLICATION_BURDEN';
55764 l_event_type_code := 'PREPAY_APPLICATION_BURDEN_ALL';
55765 l_line_definition_owner_code := 'S';
55766 l_line_definition_code := 'AP_PREPAY_APPLY_BURDEN_ENC_ALL';
55767 --
55768 l_balance_type_code := 'E';
55769 l_segment := NULL;
55770 l_ccid := NULL;
55771 l_adr_transaction_coa_id := NULL;
55772 l_adr_accounting_coa_id := NULL;
55773 l_adr_flexfield_segment_code := NULL;
55774 l_adr_flex_value_set_id := NULL;
55775 l_adr_value_type_code := NULL;
55776 l_adr_value_combination_id := NULL;
55777 l_adr_value_segment_code := NULL;
55778
55779 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
55780 l_bflow_class_code := 'AP_PREPAY_BURDEN_ENC'; -- 4219869 Business Flow
55781 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
55782 l_budgetary_control_flag := 'Y';
55783
55784 l_bflow_applied_to_amt_idx := NULL; -- 5132302
55785 l_bflow_applied_to_amt := NULL; -- 5132302
55786 l_entered_amt_idx := NULL; -- 4262811
55787 l_accted_amt_idx := NULL; -- 4262811
55788 l_acc_rev_flag := NULL; -- 4262811
55789 l_accrual_line_num := NULL; -- 4262811
55790 l_tmp_amt := NULL; -- 4262811
55791 --
55792
55793 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
55794 l_balance_type_code <> 'B' THEN
55795 IF NVL(p_source_83,'
55796 ') = 'AP' AND
55797 (NVL(p_source_2,'
55798 ') = 'PREPAY APPL' OR
55799 NVL(p_source_2,'
55800 ') = 'TAX DIFF' OR
55801 NVL(p_source_2,'
55802 ') = 'FINAL APPLICATION ROUNDING' OR
55803 NVL(p_source_2,'
55804 ') = 'PREPAY APPL NONREC TAX') AND
55805 NVL(p_source_84,'
55806 ') = 'D' AND
55807 NVL(p_source_108,'
55808 ') = 'O'
55809 THEN
55810
55811 --
55812 XLA_AE_LINES_PKG.SetNewLine;
55813
55814 p_balance_type_code := l_balance_type_code;
55815 -- set the flag so later we will know whether the gain loss line needs to be created
55816
55817 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
55818 p_actual_flag :='A';
55819 END IF;
55820
55821 --
55822 -- bulk performance
55823 --
55824 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
55825 p_header_num => 0); -- 4262811
55826 --
55827 -- set accounting line options
55828 --
55829 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
55830 p_natural_side_code => 'C'
55831 , p_gain_or_loss_flag => 'N'
55832 , p_gl_transfer_mode_code => 'S'
55833 , p_acct_entry_type_code => 'E'
55834 , p_switch_side_flag => 'Y'
55835 , p_merge_duplicate_code => 'N'
55836 );
55837 --
55838 l_acc_rev_natural_side_code := 'D'; -- 4262811
55839 --
55840 --
55841 -- set accounting line type info
55842 --
55843 xla_ae_lines_pkg.SetAcctLineType
55844 (p_component_type => l_component_type
55845 ,p_event_type_code => l_event_type_code
55846 ,p_line_definition_owner_code => l_line_definition_owner_code
55847 ,p_line_definition_code => l_line_definition_code
55848 ,p_accounting_line_code => l_component_code
55849 ,p_accounting_line_type_code => l_component_type_code
55850 ,p_accounting_line_appl_id => l_component_appl_id
55851 ,p_amb_context_code => l_amb_context_code
55852 ,p_entity_code => l_entity_code
55853 ,p_event_class_code => l_event_class_code);
55854 --
55855 -- set accounting class
55856 --
55857 xla_ae_lines_pkg.SetAcctClass(
55858 p_accounting_class_code => 'AP_PREPAY_APPL_BURDEN'
55859 , p_ae_header_id => l_ae_header_id
55860 );
55861
55862 --
55863 -- set rounding class
55864 --
55868 --
55865 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
55866 'AP_PREPAY_APPL_BURDEN';
55867
55869 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
55870 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
55871 --
55872 -- bulk performance
55873 --
55874 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
55875
55876 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
55877 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
55878
55879 -- 4955764
55880 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
55881 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
55882
55883 -- 4458381 Public Sector Enh
55884
55885 --
55886 -- set accounting attributes for the line type
55887 --
55888 l_entered_amt_idx := 27;
55889 l_accted_amt_idx := 29;
55890 l_bflow_applied_to_amt_idx := NULL; -- 5132302
55891 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
55892 l_rec_acct_attrs.array_char_value(1) := p_source_85;
55893 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
55894 l_rec_acct_attrs.array_num_value(2) := p_source_86;
55895 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
55896 l_rec_acct_attrs.array_char_value(3) := p_source_87;
55897 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
55898 l_rec_acct_attrs.array_char_value(4) := p_source_88;
55899 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
55900 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_89);
55901 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
55902 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_90);
55903 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
55904 l_rec_acct_attrs.array_num_value(7) := p_source_91;
55905 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
55906 l_rec_acct_attrs.array_char_value(8) := p_source_92;
55907 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
55908 l_rec_acct_attrs.array_char_value(9) := p_source_93;
55909 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
55910 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_94);
55911 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
55912 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_95);
55913 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_SECOND_DIST_ID';
55914 l_rec_acct_attrs.array_char_value(12) := p_source_104;
55915 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
55916 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_30);
55917 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_IDENTIFIER_2';
55918 l_rec_acct_attrs.array_char_value(14) := p_source_96;
55919 l_rec_acct_attrs.array_acct_attr_code(15) := 'DISTRIBUTION_TYPE';
55920 l_rec_acct_attrs.array_char_value(15) := p_source_21;
55921 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ACCT_CLASS';
55922 l_rec_acct_attrs.array_char_value(16) := p_source_97;
55923 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_CCID';
55924 l_rec_acct_attrs.array_num_value(17) := p_source_98;
55925 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_ENTERED_AMT';
55926 l_rec_acct_attrs.array_num_value(18) := p_source_57;
55927 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_CR_ENTERED_CURR';
55928 l_rec_acct_attrs.array_char_value(19) := p_source_33;
55929 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_CR_LEDGER_AMT';
55930 l_rec_acct_attrs.array_num_value(20) := p_source_99;
55931 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ACCT_CLASS';
55932 l_rec_acct_attrs.array_char_value(21) := p_source_100;
55933 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_CCID';
55934 l_rec_acct_attrs.array_num_value(22) := p_source_101;
55935 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_DR_ENTERED_AMT';
55936 l_rec_acct_attrs.array_num_value(23) := p_source_57;
55937 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENC_UPG_DR_ENTERED_CURR';
55938 l_rec_acct_attrs.array_char_value(24) := p_source_33;
55939 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENC_UPG_DR_LEDGER_AMT';
55940 l_rec_acct_attrs.array_num_value(25) := p_source_99;
55941 l_rec_acct_attrs.array_acct_attr_code(26) := 'ENC_UPG_OPTION';
55942 l_rec_acct_attrs.array_char_value(26) := p_source_102;
55943 l_rec_acct_attrs.array_acct_attr_code(27) := 'ENTERED_CURRENCY_AMOUNT';
55944 l_rec_acct_attrs.array_num_value(27) := p_source_57;
55945 l_rec_acct_attrs.array_acct_attr_code(28) := 'ENTERED_CURRENCY_CODE';
55946 l_rec_acct_attrs.array_char_value(28) := p_source_33;
55947 l_rec_acct_attrs.array_acct_attr_code(29) := 'LEDGER_AMOUNT';
55948 l_rec_acct_attrs.array_num_value(29) := p_source_99;
55949 l_rec_acct_attrs.array_acct_attr_code(30) := 'REVERSED_DISTRIBUTION_ID1';
55950 l_rec_acct_attrs.array_num_value(30) := to_char(p_source_103);
55951 l_rec_acct_attrs.array_acct_attr_code(31) := 'REVERSED_DISTRIBUTION_ID2';
55952 l_rec_acct_attrs.array_char_value(31) := p_source_104;
55953 l_rec_acct_attrs.array_acct_attr_code(32) := 'REVERSED_DISTRIBUTION_TYPE';
55954 l_rec_acct_attrs.array_char_value(32) := p_source_105;
55958 l_rec_acct_attrs.array_num_value(34) := p_source_107;
55955 l_rec_acct_attrs.array_acct_attr_code(33) := 'UPG_CR_ENC_TYPE_ID';
55956 l_rec_acct_attrs.array_num_value(33) := p_source_106;
55957 l_rec_acct_attrs.array_acct_attr_code(34) := 'UPG_DR_ENC_TYPE_ID';
55959
55960 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
55961 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
55962
55963 ---------------------------------------------------------------------------------------------------------------
55964 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
55965 ---------------------------------------------------------------------------------------------------------------
55966 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
55967
55968 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
55969 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
55970
55971 IF xla_accounting_cache_pkg.GetValueChar
55972 (p_source_code => 'LEDGER_CATEGORY_CODE'
55973 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
55974 AND l_bflow_method_code = 'PRIOR_ENTRY'
55975 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
55976 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
55977 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
55978 )
55979 THEN
55980 xla_ae_lines_pkg.BflowUpgEntry
55981 (p_business_method_code => l_bflow_method_code
55982 ,p_business_class_code => l_bflow_class_code
55983 ,p_balance_type => l_balance_type_code);
55984 ELSE
55985 NULL;
55986 XLA_AE_LINES_PKG.business_flow_validation(
55987 p_business_method_code => l_bflow_method_code
55988 ,p_business_class_code => l_bflow_class_code
55989 ,p_inherit_description_flag => l_inherit_desc_flag);
55990 END IF;
55991
55992 --
55993 -- call analytical criteria
55994 --
55995 -- Inherited Analytical Criteria for business flow method of Prior Entry.
55996 --
55997 -- call description
55998 --
55999
56000 xla_ae_lines_pkg.SetLineDescription(
56001 p_ae_header_id => l_ae_header_id
56002 ,p_description => Description_3 (
56003 p_application_id => p_application_id
56004 , p_ae_header_id => l_ae_header_id
56005 , p_source_2 => p_source_2
56006 , p_source_3 => p_source_3
56007 , p_source_4 => p_source_4
56008 , p_source_5 => p_source_5
56009 )
56010 );
56011
56012
56013 --
56014 -- call ADRs
56015 -- Bug 4922099
56016 --
56017 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
56018 (NVL(l_actual_upg_option, 'N') = 'O') OR
56019 (NVL(l_enc_upg_option, 'N') = 'O')
56020 )
56021 THEN
56022 NULL;
56023 --
56024 --
56025
56026 --
56027 --
56028 END IF;
56029 --
56030 -- Bug 4922099
56031 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
56032 (NVL(l_enc_upg_option, 'N') = 'O')
56033 ) AND
56034 (l_bflow_method_code = 'PRIOR_ENTRY')
56035 )
56036 THEN
56037 IF
56038 --
56039 1 = 1
56040 --
56041 THEN
56042 xla_accounting_err_pkg.build_message
56043 (p_appli_s_name => 'XLA'
56044 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
56045 ,p_token_1 => 'LINE_NUMBER'
56046 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
56047 ,p_token_2 => 'LINE_TYPE_NAME'
56048 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
56049 l_component_type
56050 ,l_component_code
56051 ,l_component_type_code
56052 ,l_component_appl_id
56053 ,l_amb_context_code
56054 ,l_entity_code
56055 ,l_event_class_code
56056 )
56057 ,p_token_3 => 'OWNER'
56058 ,p_value_3 => xla_lookups_pkg.get_meaning(
56059 p_lookup_type => 'XLA_OWNER_TYPE'
56060 ,p_lookup_code => l_component_type_code
56061 )
56062 ,p_token_4 => 'PRODUCT_NAME'
56066 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
56063 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
56064 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
56065 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
56067 ,p_ae_header_id => NULL
56068 );
56069
56070 IF (C_LEVEL_ERROR>= g_log_level) THEN
56071 trace
56072 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
56073 ,p_level => C_LEVEL_ERROR
56074 ,p_module => l_log_module);
56075 END IF;
56076 END IF;
56077 END IF;
56078 --
56079 --
56080 ------------------------------------------------------------------------------------------------
56081 -- 4219869 Business Flow
56082 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
56083 -- Prior Entry. Currently, the following code is always generated.
56084 ------------------------------------------------------------------------------------------------
56085 -- No ValidateCurrentLine for business flow method of Prior Entry
56086
56087 ------------------------------------------------------------------------------------
56088 -- 4219869 Business Flow
56089 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
56090 ------------------------------------------------------------------------------------
56091 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
56092
56093 ----------------------------------------------------------------------------------
56094 -- 4219869 Business Flow
56095 -- Update journal entry status -- Need to generate this within IF <condition>
56096 ----------------------------------------------------------------------------------
56097 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
56098 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
56099 ,p_balance_type_code => l_balance_type_code
56100 );
56101
56102 -------------------------------------------------------------------------------------------
56103 -- 4262811 - Generate the Accrual Reversal lines
56104 -------------------------------------------------------------------------------------------
56105 BEGIN
56106 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
56107 (g_array_event(p_event_id).array_value_num('header_index'));
56108 IF l_acc_rev_flag IS NULL THEN
56109 l_acc_rev_flag := 'N';
56110 END IF;
56111 EXCEPTION
56112 WHEN OTHERS THEN
56113 l_acc_rev_flag := 'N';
56114 END;
56115 --
56116 IF (l_acc_rev_flag = 'Y') THEN
56117
56118 -- 4645092 ------------------------------------------------------------------------------
56119 -- To allow MPA report to determine if it should generate report process
56120 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
56121 ------------------------------------------------------------------------------------------
56122
56123 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
56124 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
56125 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
56126 -- call ADRs
56127 -- Bug 4922099
56128 --
56129 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
56130 (NVL(l_actual_upg_option, 'N') = 'O') OR
56131 (NVL(l_enc_upg_option, 'N') = 'O')
56132 )
56133 THEN
56134 NULL;
56135 --
56136 --
56137
56138 --
56139 --
56140 END IF;
56141
56142 --
56143 -- Update the line information that should be overwritten
56144 --
56145 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
56146 p_header_num => 1);
56147 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
56148
56149 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
56150
56151 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
56152 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
56153 END IF;
56154
56155 --
56156 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
56157 --
56158 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
56159 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
56160 ELSE
56161 ---------------------------------------------------------------------------------------------------
56162 -- 4262811a Switch Sign
56163 ---------------------------------------------------------------------------------------------------
56164 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
56165 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
56166 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
56170 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
56167 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
56168 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
56169 -- 5132302
56171 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
56172
56173 END IF;
56174
56175 -- 4955764
56176 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
56177 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
56178
56179
56180 XLA_AE_LINES_PKG.ValidateCurrentLine;
56181 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
56182
56183 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
56184 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
56185 ,p_balance_type_code => l_balance_type_code);
56186
56187 END IF;
56188
56189 -----------------------------------------------------------------------------------------
56190 -- 4262811 Multiperiod Accounting
56191 -----------------------------------------------------------------------------------------
56192 -- No MPA option is assigned.
56193
56194
56195 END IF;
56196 END IF;
56197 --
56198
56199 --
56200 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
56201 trace
56202 (p_msg => 'END of AcctLineType_88'
56203 ,p_level => C_LEVEL_PROCEDURE
56204 ,p_module => l_log_module);
56205 END IF;
56206 --
56207 EXCEPTION
56208 WHEN xla_exceptions_pkg.application_exception THEN
56209 RAISE;
56210 WHEN OTHERS THEN
56211 xla_exceptions_pkg.raise_message
56212 (p_location => 'XLA_00200_AAD_S_000006_BC_PKG.AcctLineType_88');
56213 END AcctLineType_88;
56214 --
56215
56216 ---------------------------------------
56217 --
56218 -- PRIVATE FUNCTION
56219 -- AcctLineType_89
56220 --
56221 ---------------------------------------
56222 PROCEDURE AcctLineType_89 (
56223 p_application_id IN NUMBER
56224 ,p_event_id IN NUMBER
56225 ,p_calculate_acctd_flag IN VARCHAR2
56226 ,p_calculate_g_l_flag IN VARCHAR2
56227 ,p_actual_flag IN OUT VARCHAR2
56228 ,p_balance_type_code OUT VARCHAR2
56229 ,p_gain_or_loss_ref OUT VARCHAR2
56230
56231 --Document Distribution Type
56232 , p_source_2 IN VARCHAR2
56233 --Project Name
56234 , p_source_3 IN VARCHAR2
56235 --Task Number
56236 , p_source_4 IN VARCHAR2
56237 --Expenditure Organization
56238 , p_source_5 IN NUMBER
56239 --Invoice Distribution Account
56240 , p_source_11 IN NUMBER
56241 --Budget Account
56242 , p_source_14 IN NUMBER
56243 --Distribution Link Type
56244 , p_source_21 IN VARCHAR2
56245 --Invoice Distribution Identifier
56246 , p_source_30 IN NUMBER
56247 --Invoice Currency Code
56248 , p_source_33 IN VARCHAR2
56249 --Invoice Distribution Amount
56250 , p_source_57 IN NUMBER
56251 --Document Type
56252 , p_source_83 IN VARCHAR2
56253 --Burden Amount Display Method
56254 , p_source_84 IN VARCHAR2
56255 --Accounting reversal indicator for project invoice burden
56256 , p_source_85 IN VARCHAR2
56257 --Allocated to Application Identifier
56258 , p_source_86 IN NUMBER
56259 --Allocated to Distribution Type
56260 , p_source_87 IN VARCHAR2
56261 --Allocated to Entity Code
56262 , p_source_88 IN VARCHAR2
56263 --Allocated to First Distribution Identifier
56264 , p_source_89 IN NUMBER
56265 --Allocated to First System Transaction Identifier
56266 , p_source_90 IN NUMBER
56267 --Invoice Burden Applied to Application Identifier
56268 , p_source_91 IN NUMBER
56269 --Invoice Burden Applied to Distribution Type
56270 , p_source_92 IN VARCHAR2
56271 --Invoice Burden Applied to Entity Code
56272 , p_source_93 IN VARCHAR2
56273 --Invoice Burden Applied to First Distribution Identifier
56274 , p_source_94 IN NUMBER
56275 --Invoice Burden Applied to System Transaction Identifier
56276 , p_source_95 IN NUMBER
56277 --Invoice Distribution Expenditure Type
56278 , p_source_96 IN VARCHAR2
56279 --Encumbrance Upgrade Credit Accounting Class
56280 , p_source_97 IN VARCHAR2
56281 --Encumbrance Upgrade Credit Account
56282 , p_source_98 IN NUMBER
56283 --Invoice Distribution Ledger Amount Before Rounding
56284 , p_source_99 IN NUMBER
56285 --Encumbrance Upgrade Debit Accounting Class
56286 , p_source_100 IN VARCHAR2
56287 --Encumbrance Upgrade Debit Account
56288 , p_source_101 IN NUMBER
56289 --Use Encumbrances Upgrade Attributes Flag
56290 , p_source_102 IN VARCHAR2
56291 --Accounting reversal first distribution identifier for project invoice burden
56292 , p_source_103 IN NUMBER
56293 --Invoice Burden Applied to Second Distribution Identifier
56294 , p_source_104 IN VARCHAR2
56295 --Accounting reversal distribution type for project invoice burden
56296 , p_source_105 IN VARCHAR2
56300 , p_source_107 IN NUMBER
56297 --Encumbrance Upgrade Credit Encumbrance Type
56298 , p_source_106 IN NUMBER
56299 --Encumbrance Upgrade Debit Encumbrance Type
56301 --Burden Record Identifier
56302 , p_source_108 IN VARCHAR2
56303 , p_source_108_meaning IN VARCHAR2
56304 )
56305 IS
56306
56307 l_component_type VARCHAR2(80);
56308 l_component_code VARCHAR2(30);
56309 l_component_type_code VARCHAR2(1);
56310 l_component_appl_id INTEGER;
56311 l_amb_context_code VARCHAR2(30);
56312 l_entity_code VARCHAR2(30);
56313 l_event_class_code VARCHAR2(30);
56314 l_ae_header_id NUMBER;
56315 l_event_type_code VARCHAR2(30);
56316 l_line_definition_code VARCHAR2(30);
56317 l_line_definition_owner_code VARCHAR2(1);
56318 --
56319 -- adr variables
56320 l_segment VARCHAR2(30);
56321 l_ccid NUMBER;
56322 l_adr_transaction_coa_id NUMBER;
56323 l_adr_accounting_coa_id NUMBER;
56324 l_adr_flexfield_segment_code VARCHAR2(30);
56325 l_adr_flex_value_set_id NUMBER;
56326 l_adr_value_type_code VARCHAR2(30);
56327 l_adr_value_combination_id NUMBER;
56328 l_adr_value_segment_code VARCHAR2(30);
56329
56330 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
56331 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
56332 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
56333 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
56334
56335 -- 4262811 Variables ------------------------------------------------------------------------------------------
56336 l_entered_amt_idx NUMBER;
56337 l_accted_amt_idx NUMBER;
56338 l_acc_rev_flag VARCHAR2(1);
56339 l_accrual_line_num NUMBER;
56340 l_tmp_amt NUMBER;
56341 l_acc_rev_natural_side_code VARCHAR2(1);
56342
56343 l_num_entries NUMBER;
56344 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
56345 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
56346 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
56347 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
56348 l_recog_line_1 NUMBER;
56349 l_recog_line_2 NUMBER;
56350
56351 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
56352 l_bflow_applied_to_amt NUMBER; -- 5132302
56353 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
56354
56355 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
56356
56357 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
56358 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
56359
56360 ---------------------------------------------------------------------------------------------------------------
56361
56362
56363 --
56364 -- bulk performance
56365 --
56366 l_balance_type_code VARCHAR2(1);
56367 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
56368 l_log_module VARCHAR2(240);
56369
56370 --
56371 -- Upgrade strategy
56372 --
56373 l_actual_upg_option VARCHAR2(1);
56374 l_enc_upg_option VARCHAR2(1);
56375
56376 --
56377 BEGIN
56378 --
56379 IF g_log_enabled THEN
56380 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_89';
56381 END IF;
56382 --
56383 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
56384
56385 trace
56386 (p_msg => 'BEGIN of AcctLineType_89'
56387 ,p_level => C_LEVEL_PROCEDURE
56388 ,p_module => l_log_module);
56389
56390 END IF;
56391 --
56392 l_component_type := 'AMB_JLT';
56393 l_component_code := 'PREPAY_APPL_ENCUMBRANCE';
56394 l_component_type_code := 'S';
56395 l_component_appl_id := 200;
56396 l_amb_context_code := 'DEFAULT';
56397 l_entity_code := 'AP_INVOICES';
56398 l_event_class_code := 'PREPAY_APPLICATION_BURDEN';
56399 l_event_type_code := 'PREPAY_APPLICATION_BURDEN_ALL';
56400 l_line_definition_owner_code := 'S';
56401 l_line_definition_code := 'AP_PREPAY_APPLY_BURDEN_ENC_ALL';
56402 --
56403 l_balance_type_code := 'E';
56404 l_segment := NULL;
56405 l_ccid := NULL;
56406 l_adr_transaction_coa_id := NULL;
56407 l_adr_accounting_coa_id := NULL;
56408 l_adr_flexfield_segment_code := NULL;
56409 l_adr_flex_value_set_id := NULL;
56410 l_adr_value_type_code := NULL;
56411 l_adr_value_combination_id := NULL;
56412 l_adr_value_segment_code := NULL;
56413
56414 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
56415 l_bflow_class_code := 'AP_PREPAY_PA_ENC'; -- 4219869 Business Flow
56416 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
56417 l_budgetary_control_flag := 'Y';
56418
56419 l_bflow_applied_to_amt_idx := NULL; -- 5132302
56420 l_bflow_applied_to_amt := NULL; -- 5132302
56421 l_entered_amt_idx := NULL; -- 4262811
56422 l_accted_amt_idx := NULL; -- 4262811
56426 --
56423 l_acc_rev_flag := NULL; -- 4262811
56424 l_accrual_line_num := NULL; -- 4262811
56425 l_tmp_amt := NULL; -- 4262811
56427
56428 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
56429 l_balance_type_code <> 'B' THEN
56430 IF NVL(p_source_83,'
56431 ') = 'AP' AND
56432 (NVL(p_source_2,'
56433 ') = 'PREPAY APPL' OR
56434 NVL(p_source_2,'
56435 ') = 'TAX DIFF' OR
56436 NVL(p_source_2,'
56437 ') = 'FINAL APPLICATION ROUNDING' OR
56438 NVL(p_source_2,'
56439 ') = 'PREPAY APPL NONREC TAX') AND
56440 (NVL(p_source_84,'
56441 ') = 'N' OR
56442 (NVL(p_source_84,'
56443 ') = 'D' AND
56444 NVL(p_source_108,'
56445 ') = 'N')
56446 ) AND NVL(TO_NUMBER(p_source_14),9E125) <> NVL(TO_NUMBER(p_source_11),9E125)
56447 THEN
56448
56449 --
56450 XLA_AE_LINES_PKG.SetNewLine;
56451
56452 p_balance_type_code := l_balance_type_code;
56453 -- set the flag so later we will know whether the gain loss line needs to be created
56454
56455 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
56456 p_actual_flag :='A';
56457 END IF;
56458
56459 --
56460 -- bulk performance
56461 --
56462 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
56463 p_header_num => 0); -- 4262811
56464 --
56465 -- set accounting line options
56466 --
56467 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
56468 p_natural_side_code => 'C'
56469 , p_gain_or_loss_flag => 'N'
56470 , p_gl_transfer_mode_code => 'S'
56471 , p_acct_entry_type_code => 'E'
56472 , p_switch_side_flag => 'Y'
56473 , p_merge_duplicate_code => 'N'
56474 );
56475 --
56476 l_acc_rev_natural_side_code := 'D'; -- 4262811
56477 --
56478 --
56479 -- set accounting line type info
56480 --
56481 xla_ae_lines_pkg.SetAcctLineType
56482 (p_component_type => l_component_type
56483 ,p_event_type_code => l_event_type_code
56484 ,p_line_definition_owner_code => l_line_definition_owner_code
56485 ,p_line_definition_code => l_line_definition_code
56486 ,p_accounting_line_code => l_component_code
56487 ,p_accounting_line_type_code => l_component_type_code
56488 ,p_accounting_line_appl_id => l_component_appl_id
56489 ,p_amb_context_code => l_amb_context_code
56490 ,p_entity_code => l_entity_code
56491 ,p_event_class_code => l_event_class_code);
56492 --
56493 -- set accounting class
56494 --
56495 xla_ae_lines_pkg.SetAcctClass(
56496 p_accounting_class_code => 'AP_PREPAY_APPL_BURDEN'
56497 , p_ae_header_id => l_ae_header_id
56498 );
56499
56500 --
56501 -- set rounding class
56502 --
56503 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
56504 'AP_PREPAY_APPL_BURDEN';
56505
56506 --
56507 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
56508 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
56509 --
56510 -- bulk performance
56511 --
56512 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
56513
56514 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
56515 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
56516
56517 -- 4955764
56518 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
56519 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
56520
56521 -- 4458381 Public Sector Enh
56522
56523 --
56524 -- set accounting attributes for the line type
56525 --
56526 l_entered_amt_idx := 27;
56527 l_accted_amt_idx := 29;
56528 l_bflow_applied_to_amt_idx := NULL; -- 5132302
56529 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
56530 l_rec_acct_attrs.array_char_value(1) := p_source_85;
56531 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
56532 l_rec_acct_attrs.array_num_value(2) := p_source_86;
56533 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
56534 l_rec_acct_attrs.array_char_value(3) := p_source_87;
56535 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
56536 l_rec_acct_attrs.array_char_value(4) := p_source_88;
56537 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
56538 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_89);
56539 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
56540 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_90);
56541 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
56542 l_rec_acct_attrs.array_num_value(7) := p_source_91;
56543 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
56544 l_rec_acct_attrs.array_char_value(8) := p_source_92;
56545 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
56549 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
56546 l_rec_acct_attrs.array_char_value(9) := p_source_93;
56547 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
56548 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_94);
56550 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_95);
56551 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_SECOND_DIST_ID';
56552 l_rec_acct_attrs.array_char_value(12) := p_source_104;
56553 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
56554 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_30);
56555 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_IDENTIFIER_2';
56556 l_rec_acct_attrs.array_char_value(14) := p_source_96;
56557 l_rec_acct_attrs.array_acct_attr_code(15) := 'DISTRIBUTION_TYPE';
56558 l_rec_acct_attrs.array_char_value(15) := p_source_21;
56559 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ACCT_CLASS';
56560 l_rec_acct_attrs.array_char_value(16) := p_source_97;
56561 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_CCID';
56562 l_rec_acct_attrs.array_num_value(17) := p_source_98;
56563 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_ENTERED_AMT';
56564 l_rec_acct_attrs.array_num_value(18) := p_source_57;
56565 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_CR_ENTERED_CURR';
56566 l_rec_acct_attrs.array_char_value(19) := p_source_33;
56567 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_CR_LEDGER_AMT';
56568 l_rec_acct_attrs.array_num_value(20) := p_source_99;
56569 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ACCT_CLASS';
56570 l_rec_acct_attrs.array_char_value(21) := p_source_100;
56571 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_CCID';
56572 l_rec_acct_attrs.array_num_value(22) := p_source_101;
56573 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_DR_ENTERED_AMT';
56574 l_rec_acct_attrs.array_num_value(23) := p_source_57;
56575 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENC_UPG_DR_ENTERED_CURR';
56576 l_rec_acct_attrs.array_char_value(24) := p_source_33;
56577 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENC_UPG_DR_LEDGER_AMT';
56578 l_rec_acct_attrs.array_num_value(25) := p_source_99;
56579 l_rec_acct_attrs.array_acct_attr_code(26) := 'ENC_UPG_OPTION';
56580 l_rec_acct_attrs.array_char_value(26) := p_source_102;
56581 l_rec_acct_attrs.array_acct_attr_code(27) := 'ENTERED_CURRENCY_AMOUNT';
56582 l_rec_acct_attrs.array_num_value(27) := p_source_57;
56583 l_rec_acct_attrs.array_acct_attr_code(28) := 'ENTERED_CURRENCY_CODE';
56584 l_rec_acct_attrs.array_char_value(28) := p_source_33;
56585 l_rec_acct_attrs.array_acct_attr_code(29) := 'LEDGER_AMOUNT';
56586 l_rec_acct_attrs.array_num_value(29) := p_source_99;
56587 l_rec_acct_attrs.array_acct_attr_code(30) := 'REVERSED_DISTRIBUTION_ID1';
56588 l_rec_acct_attrs.array_num_value(30) := to_char(p_source_103);
56589 l_rec_acct_attrs.array_acct_attr_code(31) := 'REVERSED_DISTRIBUTION_ID2';
56590 l_rec_acct_attrs.array_char_value(31) := p_source_104;
56591 l_rec_acct_attrs.array_acct_attr_code(32) := 'REVERSED_DISTRIBUTION_TYPE';
56592 l_rec_acct_attrs.array_char_value(32) := p_source_105;
56593 l_rec_acct_attrs.array_acct_attr_code(33) := 'UPG_CR_ENC_TYPE_ID';
56594 l_rec_acct_attrs.array_num_value(33) := p_source_106;
56595 l_rec_acct_attrs.array_acct_attr_code(34) := 'UPG_DR_ENC_TYPE_ID';
56596 l_rec_acct_attrs.array_num_value(34) := p_source_107;
56597
56598 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
56599 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
56600
56601 ---------------------------------------------------------------------------------------------------------------
56602 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
56603 ---------------------------------------------------------------------------------------------------------------
56604 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
56605
56606 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
56607 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
56608
56609 IF xla_accounting_cache_pkg.GetValueChar
56610 (p_source_code => 'LEDGER_CATEGORY_CODE'
56611 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
56612 AND l_bflow_method_code = 'PRIOR_ENTRY'
56613 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
56614 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
56615 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
56616 )
56617 THEN
56618 xla_ae_lines_pkg.BflowUpgEntry
56619 (p_business_method_code => l_bflow_method_code
56620 ,p_business_class_code => l_bflow_class_code
56621 ,p_balance_type => l_balance_type_code);
56622 ELSE
56623 NULL;
56624 XLA_AE_LINES_PKG.business_flow_validation(
56625 p_business_method_code => l_bflow_method_code
56626 ,p_business_class_code => l_bflow_class_code
56627 ,p_inherit_description_flag => l_inherit_desc_flag);
56628 END IF;
56629
56630 --
56631 -- call analytical criteria
56632 --
56633 -- Inherited Analytical Criteria for business flow method of Prior Entry.
56634 --
56635 -- call description
56639 p_ae_header_id => l_ae_header_id
56636 --
56637
56638 xla_ae_lines_pkg.SetLineDescription(
56640 ,p_description => Description_3 (
56641 p_application_id => p_application_id
56642 , p_ae_header_id => l_ae_header_id
56643 , p_source_2 => p_source_2
56644 , p_source_3 => p_source_3
56645 , p_source_4 => p_source_4
56646 , p_source_5 => p_source_5
56647 )
56648 );
56649
56650
56651 --
56652 -- call ADRs
56653 -- Bug 4922099
56654 --
56655 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
56656 (NVL(l_actual_upg_option, 'N') = 'O') OR
56657 (NVL(l_enc_upg_option, 'N') = 'O')
56658 )
56659 THEN
56660 NULL;
56661 --
56662 --
56663
56664 --
56665 --
56666 END IF;
56667 --
56668 -- Bug 4922099
56669 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
56670 (NVL(l_enc_upg_option, 'N') = 'O')
56671 ) AND
56672 (l_bflow_method_code = 'PRIOR_ENTRY')
56673 )
56674 THEN
56675 IF
56676 --
56677 1 = 1
56678 --
56679 THEN
56680 xla_accounting_err_pkg.build_message
56681 (p_appli_s_name => 'XLA'
56682 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
56683 ,p_token_1 => 'LINE_NUMBER'
56684 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
56685 ,p_token_2 => 'LINE_TYPE_NAME'
56686 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
56687 l_component_type
56688 ,l_component_code
56689 ,l_component_type_code
56690 ,l_component_appl_id
56691 ,l_amb_context_code
56692 ,l_entity_code
56693 ,l_event_class_code
56694 )
56695 ,p_token_3 => 'OWNER'
56696 ,p_value_3 => xla_lookups_pkg.get_meaning(
56697 p_lookup_type => 'XLA_OWNER_TYPE'
56698 ,p_lookup_code => l_component_type_code
56699 )
56700 ,p_token_4 => 'PRODUCT_NAME'
56701 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
56702 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
56703 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
56704 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
56705 ,p_ae_header_id => NULL
56706 );
56707
56708 IF (C_LEVEL_ERROR>= g_log_level) THEN
56709 trace
56710 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
56711 ,p_level => C_LEVEL_ERROR
56712 ,p_module => l_log_module);
56713 END IF;
56714 END IF;
56715 END IF;
56716 --
56717 --
56718 ------------------------------------------------------------------------------------------------
56719 -- 4219869 Business Flow
56720 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
56721 -- Prior Entry. Currently, the following code is always generated.
56722 ------------------------------------------------------------------------------------------------
56723 -- No ValidateCurrentLine for business flow method of Prior Entry
56724
56725 ------------------------------------------------------------------------------------
56726 -- 4219869 Business Flow
56727 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
56728 ------------------------------------------------------------------------------------
56729 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
56730
56731 ----------------------------------------------------------------------------------
56732 -- 4219869 Business Flow
56733 -- Update journal entry status -- Need to generate this within IF <condition>
56734 ----------------------------------------------------------------------------------
56735 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
56736 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
56737 ,p_balance_type_code => l_balance_type_code
56738 );
56739
56740 -------------------------------------------------------------------------------------------
56741 -- 4262811 - Generate the Accrual Reversal lines
56742 -------------------------------------------------------------------------------------------
56746 IF l_acc_rev_flag IS NULL THEN
56743 BEGIN
56744 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
56745 (g_array_event(p_event_id).array_value_num('header_index'));
56747 l_acc_rev_flag := 'N';
56748 END IF;
56749 EXCEPTION
56750 WHEN OTHERS THEN
56751 l_acc_rev_flag := 'N';
56752 END;
56753 --
56754 IF (l_acc_rev_flag = 'Y') THEN
56755
56756 -- 4645092 ------------------------------------------------------------------------------
56757 -- To allow MPA report to determine if it should generate report process
56758 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
56759 ------------------------------------------------------------------------------------------
56760
56761 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
56762 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
56763 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
56764 -- call ADRs
56765 -- Bug 4922099
56766 --
56767 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
56768 (NVL(l_actual_upg_option, 'N') = 'O') OR
56769 (NVL(l_enc_upg_option, 'N') = 'O')
56770 )
56771 THEN
56772 NULL;
56773 --
56774 --
56775
56776 --
56777 --
56778 END IF;
56779
56780 --
56781 -- Update the line information that should be overwritten
56782 --
56783 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
56784 p_header_num => 1);
56785 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
56786
56787 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
56788
56789 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
56790 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
56791 END IF;
56792
56793 --
56794 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
56795 --
56796 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
56797 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
56798 ELSE
56799 ---------------------------------------------------------------------------------------------------
56800 -- 4262811a Switch Sign
56801 ---------------------------------------------------------------------------------------------------
56802 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
56803 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
56804 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
56805 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
56806 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
56807 -- 5132302
56808 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
56809 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
56810
56811 END IF;
56812
56813 -- 4955764
56814 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
56815 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
56816
56817
56818 XLA_AE_LINES_PKG.ValidateCurrentLine;
56819 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
56820
56821 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
56822 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
56823 ,p_balance_type_code => l_balance_type_code);
56824
56825 END IF;
56826
56827 -----------------------------------------------------------------------------------------
56828 -- 4262811 Multiperiod Accounting
56829 -----------------------------------------------------------------------------------------
56830 -- No MPA option is assigned.
56831
56832
56833 END IF;
56834 END IF;
56835 --
56836
56837 --
56838 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
56839 trace
56840 (p_msg => 'END of AcctLineType_89'
56841 ,p_level => C_LEVEL_PROCEDURE
56842 ,p_module => l_log_module);
56843 END IF;
56844 --
56845 EXCEPTION
56846 WHEN xla_exceptions_pkg.application_exception THEN
56847 RAISE;
56848 WHEN OTHERS THEN
56849 xla_exceptions_pkg.raise_message
56850 (p_location => 'XLA_00200_AAD_S_000006_BC_PKG.AcctLineType_89');
56851 END AcctLineType_89;
56852 --
56853
56854 ---------------------------------------
56855 --
56856 -- PRIVATE FUNCTION
56857 -- AcctLineType_90
56858 --
56859 ---------------------------------------
56860 PROCEDURE AcctLineType_90 (
56861 p_application_id IN NUMBER
56862 ,p_event_id IN NUMBER
56863 ,p_calculate_acctd_flag IN VARCHAR2
56864 ,p_calculate_g_l_flag IN VARCHAR2
56865 ,p_actual_flag IN OUT VARCHAR2
56866 ,p_balance_type_code OUT VARCHAR2
56867 ,p_gain_or_loss_ref OUT VARCHAR2
56868
56872 , p_source_3 IN VARCHAR2
56869 --Document Distribution Type
56870 , p_source_2 IN VARCHAR2
56871 --Project Name
56873 --Task Number
56874 , p_source_4 IN VARCHAR2
56875 --Expenditure Organization
56876 , p_source_5 IN NUMBER
56877 --Budget Account
56878 , p_source_14 IN NUMBER
56879 --Distribution Link Type
56880 , p_source_21 IN VARCHAR2
56881 --Invoice Distribution Identifier
56882 , p_source_30 IN NUMBER
56883 --Invoice Currency Code
56884 , p_source_33 IN VARCHAR2
56885 --Invoice Exchange Date
56886 , p_source_39 IN DATE
56887 --Invoice Exchange Rate
56888 , p_source_40 IN NUMBER
56889 --Invoice Exchange Rate Type
56890 , p_source_41 IN VARCHAR2
56891 --Invoice Distribution Amount
56892 , p_source_57 IN NUMBER
56893 --Document Type
56894 , p_source_83 IN VARCHAR2
56895 --Burden Amount Display Method
56896 , p_source_84 IN VARCHAR2
56897 --Accounting reversal indicator for project invoice burden
56898 , p_source_85 IN VARCHAR2
56899 --Allocated to Application Identifier
56900 , p_source_86 IN NUMBER
56901 --Allocated to Distribution Type
56902 , p_source_87 IN VARCHAR2
56903 --Allocated to Entity Code
56904 , p_source_88 IN VARCHAR2
56905 --Allocated to First Distribution Identifier
56906 , p_source_89 IN NUMBER
56907 --Allocated to First System Transaction Identifier
56908 , p_source_90 IN NUMBER
56909 --Invoice Burden Applied to Application Identifier
56910 , p_source_91 IN NUMBER
56911 --Invoice Burden Applied to Distribution Type
56912 , p_source_92 IN VARCHAR2
56913 --Invoice Burden Applied to Entity Code
56914 , p_source_93 IN VARCHAR2
56915 --Invoice Burden Applied to First Distribution Identifier
56916 , p_source_94 IN NUMBER
56917 --Invoice Burden Applied to System Transaction Identifier
56918 , p_source_95 IN NUMBER
56919 --Invoice Distribution Expenditure Type
56920 , p_source_96 IN VARCHAR2
56921 --Encumbrance Upgrade Credit Accounting Class
56922 , p_source_97 IN VARCHAR2
56923 --Encumbrance Upgrade Credit Account
56924 , p_source_98 IN NUMBER
56925 --Invoice Distribution Ledger Amount Before Rounding
56926 , p_source_99 IN NUMBER
56927 --Encumbrance Upgrade Debit Accounting Class
56928 , p_source_100 IN VARCHAR2
56929 --Encumbrance Upgrade Debit Account
56930 , p_source_101 IN NUMBER
56931 --Use Encumbrances Upgrade Attributes Flag
56932 , p_source_102 IN VARCHAR2
56933 --Accounting reversal first distribution identifier for project invoice burden
56934 , p_source_103 IN NUMBER
56935 --Invoice Burden Applied to Second Distribution Identifier
56936 , p_source_104 IN VARCHAR2
56937 --Accounting reversal distribution type for project invoice burden
56938 , p_source_105 IN VARCHAR2
56939 --Encumbrance Upgrade Credit Encumbrance Type
56940 , p_source_106 IN NUMBER
56941 --Encumbrance Upgrade Debit Encumbrance Type
56942 , p_source_107 IN NUMBER
56943 )
56944 IS
56945
56946 l_component_type VARCHAR2(80);
56947 l_component_code VARCHAR2(30);
56948 l_component_type_code VARCHAR2(1);
56949 l_component_appl_id INTEGER;
56950 l_amb_context_code VARCHAR2(30);
56951 l_entity_code VARCHAR2(30);
56952 l_event_class_code VARCHAR2(30);
56953 l_ae_header_id NUMBER;
56954 l_event_type_code VARCHAR2(30);
56955 l_line_definition_code VARCHAR2(30);
56956 l_line_definition_owner_code VARCHAR2(1);
56957 --
56958 -- adr variables
56959 l_segment VARCHAR2(30);
56960 l_ccid NUMBER;
56961 l_adr_transaction_coa_id NUMBER;
56962 l_adr_accounting_coa_id NUMBER;
56963 l_adr_flexfield_segment_code VARCHAR2(30);
56964 l_adr_flex_value_set_id NUMBER;
56965 l_adr_value_type_code VARCHAR2(30);
56966 l_adr_value_combination_id NUMBER;
56967 l_adr_value_segment_code VARCHAR2(30);
56968
56969 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
56970 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
56971 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
56972 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
56973
56974 -- 4262811 Variables ------------------------------------------------------------------------------------------
56975 l_entered_amt_idx NUMBER;
56976 l_accted_amt_idx NUMBER;
56977 l_acc_rev_flag VARCHAR2(1);
56978 l_accrual_line_num NUMBER;
56979 l_tmp_amt NUMBER;
56980 l_acc_rev_natural_side_code VARCHAR2(1);
56981
56982 l_num_entries NUMBER;
56983 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
56984 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
56985 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
56986 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
56987 l_recog_line_1 NUMBER;
56988 l_recog_line_2 NUMBER;
56989
56990 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
56994 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
56991 l_bflow_applied_to_amt NUMBER; -- 5132302
56992 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
56993
56995
56996 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
56997 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
56998
56999 ---------------------------------------------------------------------------------------------------------------
57000
57001
57002 --
57003 -- bulk performance
57004 --
57005 l_balance_type_code VARCHAR2(1);
57006 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
57007 l_log_module VARCHAR2(240);
57008
57009 --
57010 -- Upgrade strategy
57011 --
57012 l_actual_upg_option VARCHAR2(1);
57013 l_enc_upg_option VARCHAR2(1);
57014
57015 --
57016 BEGIN
57017 --
57018 IF g_log_enabled THEN
57019 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_90';
57020 END IF;
57021 --
57022 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
57023
57024 trace
57025 (p_msg => 'BEGIN of AcctLineType_90'
57026 ,p_level => C_LEVEL_PROCEDURE
57027 ,p_module => l_log_module);
57028
57029 END IF;
57030 --
57031 l_component_type := 'AMB_JLT';
57032 l_component_code := 'PREPAY_BURDENED_ENC';
57033 l_component_type_code := 'S';
57034 l_component_appl_id := 200;
57035 l_amb_context_code := 'DEFAULT';
57036 l_entity_code := 'AP_INVOICES';
57037 l_event_class_code := 'PREPAYMENT_BURDEN';
57038 l_event_type_code := 'PREPAYMENT_BURDEN_ALL';
57039 l_line_definition_owner_code := 'S';
57040 l_line_definition_code := 'AP_PREPAY_BURDEN_ENC_ALL';
57041 --
57042 l_balance_type_code := 'E';
57043 l_segment := NULL;
57044 l_ccid := NULL;
57045 l_adr_transaction_coa_id := NULL;
57046 l_adr_accounting_coa_id := NULL;
57047 l_adr_flexfield_segment_code := NULL;
57048 l_adr_flex_value_set_id := NULL;
57049 l_adr_value_type_code := NULL;
57050 l_adr_value_combination_id := NULL;
57051 l_adr_value_segment_code := NULL;
57052
57053 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
57054 l_bflow_class_code := 'AP_PREPAY_BURDENED_ENC'; -- 4219869 Business Flow
57055 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
57056 l_budgetary_control_flag := 'Y';
57057
57058 l_bflow_applied_to_amt_idx := NULL; -- 5132302
57059 l_bflow_applied_to_amt := NULL; -- 5132302
57060 l_entered_amt_idx := NULL; -- 4262811
57061 l_accted_amt_idx := NULL; -- 4262811
57062 l_acc_rev_flag := NULL; -- 4262811
57063 l_accrual_line_num := NULL; -- 4262811
57064 l_tmp_amt := NULL; -- 4262811
57065 --
57066
57067 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
57068 l_balance_type_code <> 'B' THEN
57069 IF NVL(p_source_83,'
57070 ') = 'AP' AND
57071 (NVL(p_source_2,'
57072 ') <> 'PREPAY APPL' OR
57073 NVL(p_source_2,'
57074 ') <> 'TAX DIFF' OR
57075 NVL(p_source_2,'
57076 ') <> 'FINAL APPLICATION ROUNDING') AND
57077 NVL(p_source_84,'
57078 ') = 'S'
57079 THEN
57080
57081 --
57082 XLA_AE_LINES_PKG.SetNewLine;
57083
57084 p_balance_type_code := l_balance_type_code;
57085 -- set the flag so later we will know whether the gain loss line needs to be created
57086
57087 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
57088 p_actual_flag :='A';
57089 END IF;
57090
57091 --
57092 -- bulk performance
57093 --
57094 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
57095 p_header_num => 0); -- 4262811
57096 --
57097 -- set accounting line options
57098 --
57099 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
57100 p_natural_side_code => 'D'
57101 , p_gain_or_loss_flag => 'N'
57102 , p_gl_transfer_mode_code => 'S'
57103 , p_acct_entry_type_code => 'E'
57104 , p_switch_side_flag => 'Y'
57105 , p_merge_duplicate_code => 'N'
57106 );
57107 --
57108 l_acc_rev_natural_side_code := 'C'; -- 4262811
57109 --
57110 --
57111 -- set accounting line type info
57112 --
57113 xla_ae_lines_pkg.SetAcctLineType
57114 (p_component_type => l_component_type
57115 ,p_event_type_code => l_event_type_code
57116 ,p_line_definition_owner_code => l_line_definition_owner_code
57117 ,p_line_definition_code => l_line_definition_code
57118 ,p_accounting_line_code => l_component_code
57119 ,p_accounting_line_type_code => l_component_type_code
57120 ,p_accounting_line_appl_id => l_component_appl_id
57121 ,p_amb_context_code => l_amb_context_code
57122 ,p_entity_code => l_entity_code
57123 ,p_event_class_code => l_event_class_code);
57124 --
57128 p_accounting_class_code => 'AP_PREPAY_BURDEN'
57125 -- set accounting class
57126 --
57127 xla_ae_lines_pkg.SetAcctClass(
57129 , p_ae_header_id => l_ae_header_id
57130 );
57131
57132 --
57133 -- set rounding class
57134 --
57135 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
57136 'AP_PREPAY_BURDEN';
57137
57138 --
57139 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
57140 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
57141 --
57142 -- bulk performance
57143 --
57144 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
57145
57146 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
57147 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
57148
57149 -- 4955764
57150 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
57151 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
57152
57153 -- 4458381 Public Sector Enh
57154 XLA_AE_LINES_PKG.g_rec_lines.array_encumbrance_type_id(XLA_AE_LINES_PKG.g_LineNumber) := 1060;
57155 --
57156 -- set accounting attributes for the line type
57157 --
57158 l_entered_amt_idx := 27;
57159 l_accted_amt_idx := 32;
57160 l_bflow_applied_to_amt_idx := NULL; -- 5132302
57161 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
57162 l_rec_acct_attrs.array_char_value(1) := p_source_85;
57163 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
57164 l_rec_acct_attrs.array_num_value(2) := p_source_86;
57165 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
57166 l_rec_acct_attrs.array_char_value(3) := p_source_87;
57167 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
57168 l_rec_acct_attrs.array_char_value(4) := p_source_88;
57169 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
57170 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_89);
57171 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
57172 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_90);
57173 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
57174 l_rec_acct_attrs.array_num_value(7) := p_source_91;
57175 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
57176 l_rec_acct_attrs.array_char_value(8) := p_source_92;
57177 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
57178 l_rec_acct_attrs.array_char_value(9) := p_source_93;
57179 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
57180 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_94);
57181 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
57182 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_95);
57183 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_SECOND_DIST_ID';
57184 l_rec_acct_attrs.array_char_value(12) := p_source_104;
57185 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
57186 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_30);
57187 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_IDENTIFIER_2';
57188 l_rec_acct_attrs.array_char_value(14) := p_source_96;
57189 l_rec_acct_attrs.array_acct_attr_code(15) := 'DISTRIBUTION_TYPE';
57190 l_rec_acct_attrs.array_char_value(15) := p_source_21;
57191 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ACCT_CLASS';
57192 l_rec_acct_attrs.array_char_value(16) := p_source_97;
57193 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_CCID';
57194 l_rec_acct_attrs.array_num_value(17) := p_source_98;
57195 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_ENTERED_AMT';
57196 l_rec_acct_attrs.array_num_value(18) := p_source_57;
57197 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_CR_ENTERED_CURR';
57198 l_rec_acct_attrs.array_char_value(19) := p_source_33;
57199 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_CR_LEDGER_AMT';
57200 l_rec_acct_attrs.array_num_value(20) := p_source_99;
57201 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ACCT_CLASS';
57202 l_rec_acct_attrs.array_char_value(21) := p_source_100;
57203 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_CCID';
57204 l_rec_acct_attrs.array_num_value(22) := p_source_101;
57205 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_DR_ENTERED_AMT';
57206 l_rec_acct_attrs.array_num_value(23) := p_source_57;
57207 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENC_UPG_DR_ENTERED_CURR';
57208 l_rec_acct_attrs.array_char_value(24) := p_source_33;
57209 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENC_UPG_DR_LEDGER_AMT';
57210 l_rec_acct_attrs.array_num_value(25) := p_source_99;
57211 l_rec_acct_attrs.array_acct_attr_code(26) := 'ENC_UPG_OPTION';
57212 l_rec_acct_attrs.array_char_value(26) := p_source_102;
57213 l_rec_acct_attrs.array_acct_attr_code(27) := 'ENTERED_CURRENCY_AMOUNT';
57214 l_rec_acct_attrs.array_num_value(27) := p_source_57;
57215 l_rec_acct_attrs.array_acct_attr_code(28) := 'ENTERED_CURRENCY_CODE';
57216 l_rec_acct_attrs.array_char_value(28) := p_source_33;
57217 l_rec_acct_attrs.array_acct_attr_code(29) := 'EXCHANGE_DATE';
57221 l_rec_acct_attrs.array_acct_attr_code(31) := 'EXCHANGE_RATE_TYPE';
57218 l_rec_acct_attrs.array_date_value(29) := p_source_39;
57219 l_rec_acct_attrs.array_acct_attr_code(30) := 'EXCHANGE_RATE';
57220 l_rec_acct_attrs.array_num_value(30) := p_source_40;
57222 l_rec_acct_attrs.array_char_value(31) := p_source_41;
57223 l_rec_acct_attrs.array_acct_attr_code(32) := 'LEDGER_AMOUNT';
57224 l_rec_acct_attrs.array_num_value(32) := p_source_99;
57225 l_rec_acct_attrs.array_acct_attr_code(33) := 'REVERSED_DISTRIBUTION_ID1';
57226 l_rec_acct_attrs.array_num_value(33) := to_char(p_source_103);
57227 l_rec_acct_attrs.array_acct_attr_code(34) := 'REVERSED_DISTRIBUTION_ID2';
57228 l_rec_acct_attrs.array_char_value(34) := p_source_104;
57229 l_rec_acct_attrs.array_acct_attr_code(35) := 'REVERSED_DISTRIBUTION_TYPE';
57230 l_rec_acct_attrs.array_char_value(35) := p_source_105;
57231 l_rec_acct_attrs.array_acct_attr_code(36) := 'UPG_CR_ENC_TYPE_ID';
57232 l_rec_acct_attrs.array_num_value(36) := p_source_106;
57233 l_rec_acct_attrs.array_acct_attr_code(37) := 'UPG_DR_ENC_TYPE_ID';
57234 l_rec_acct_attrs.array_num_value(37) := p_source_107;
57235
57236 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
57237 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
57238
57239 ---------------------------------------------------------------------------------------------------------------
57240 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
57241 ---------------------------------------------------------------------------------------------------------------
57242 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
57243
57244 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
57245 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
57246
57247 IF xla_accounting_cache_pkg.GetValueChar
57248 (p_source_code => 'LEDGER_CATEGORY_CODE'
57249 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
57250 AND l_bflow_method_code = 'PRIOR_ENTRY'
57251 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
57252 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
57253 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
57254 )
57255 THEN
57256 xla_ae_lines_pkg.BflowUpgEntry
57257 (p_business_method_code => l_bflow_method_code
57258 ,p_business_class_code => l_bflow_class_code
57259 ,p_balance_type => l_balance_type_code);
57260 ELSE
57261 NULL;
57262 -- No business flow processing for business flow method of NONE.
57263 END IF;
57264
57265 --
57266 -- call analytical criteria
57267 --
57268
57269 --
57270 -- call description
57271 --
57272
57273 xla_ae_lines_pkg.SetLineDescription(
57274 p_ae_header_id => l_ae_header_id
57275 ,p_description => Description_3 (
57276 p_application_id => p_application_id
57277 , p_ae_header_id => l_ae_header_id
57278 , p_source_2 => p_source_2
57279 , p_source_3 => p_source_3
57280 , p_source_4 => p_source_4
57281 , p_source_5 => p_source_5
57282 )
57283 );
57284
57285
57286 --
57287 -- call ADRs
57288 -- Bug 4922099
57289 --
57290 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
57291 (NVL(l_actual_upg_option, 'N') = 'O') OR
57292 (NVL(l_enc_upg_option, 'N') = 'O')
57293 )
57294 THEN
57295 NULL;
57296 --
57297 --
57298
57299 l_ccid := AcctDerRule_11(
57300 p_application_id => p_application_id
57301 , p_ae_header_id => l_ae_header_id
57302 , p_source_14 => p_source_14
57303 , x_transaction_coa_id => l_adr_transaction_coa_id
57304 , x_accounting_coa_id => l_adr_accounting_coa_id
57305 , x_value_type_code => l_adr_value_type_code
57306 , p_side => 'NA'
57307 );
57308
57309 xla_ae_lines_pkg.set_ccid(
57310 p_code_combination_id => l_ccid
57311 , p_value_type_code => l_adr_value_type_code
57312 , p_transaction_coa_id => l_adr_transaction_coa_id
57313 , p_accounting_coa_id => l_adr_accounting_coa_id
57314 , p_adr_code => 'PROJ_PREPAY_BURDENED_ENC_RULE'
57315 , p_adr_type_code => 'S'
57316 , p_component_type => l_component_type
57317 , p_component_code => l_component_code
57318 , p_component_type_code => l_component_type_code
57319 , p_component_appl_id => l_component_appl_id
57320 , p_amb_context_code => l_amb_context_code
57321 , p_side => 'NA'
57322 );
57323
57324
57325 --
57326 --
57327 END IF;
57328 --
57329 -- Bug 4922099
57330 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
57331 (NVL(l_enc_upg_option, 'N') = 'O')
57332 ) AND
57333 (l_bflow_method_code = 'PRIOR_ENTRY')
57334 )
57335 THEN
57336 IF
57337 --
57338 1 = 2
57339 --
57340 THEN
57341 xla_accounting_err_pkg.build_message
57342 (p_appli_s_name => 'XLA'
57346 ,p_token_2 => 'LINE_TYPE_NAME'
57343 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
57344 ,p_token_1 => 'LINE_NUMBER'
57345 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
57347 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
57348 l_component_type
57349 ,l_component_code
57350 ,l_component_type_code
57351 ,l_component_appl_id
57352 ,l_amb_context_code
57353 ,l_entity_code
57354 ,l_event_class_code
57355 )
57356 ,p_token_3 => 'OWNER'
57357 ,p_value_3 => xla_lookups_pkg.get_meaning(
57358 p_lookup_type => 'XLA_OWNER_TYPE'
57359 ,p_lookup_code => l_component_type_code
57360 )
57361 ,p_token_4 => 'PRODUCT_NAME'
57362 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
57363 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
57364 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
57365 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
57366 ,p_ae_header_id => NULL
57367 );
57368
57369 IF (C_LEVEL_ERROR>= g_log_level) THEN
57370 trace
57371 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
57372 ,p_level => C_LEVEL_ERROR
57373 ,p_module => l_log_module);
57374 END IF;
57375 END IF;
57376 END IF;
57377 --
57378 --
57379 ------------------------------------------------------------------------------------------------
57380 -- 4219869 Business Flow
57381 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
57382 -- Prior Entry. Currently, the following code is always generated.
57383 ------------------------------------------------------------------------------------------------
57384 XLA_AE_LINES_PKG.ValidateCurrentLine;
57385
57386 ------------------------------------------------------------------------------------
57387 -- 4219869 Business Flow
57388 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
57389 ------------------------------------------------------------------------------------
57390 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
57391
57392 ----------------------------------------------------------------------------------
57393 -- 4219869 Business Flow
57394 -- Update journal entry status -- Need to generate this within IF <condition>
57395 ----------------------------------------------------------------------------------
57396 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
57397 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
57398 ,p_balance_type_code => l_balance_type_code
57399 );
57400
57401 -------------------------------------------------------------------------------------------
57402 -- 4262811 - Generate the Accrual Reversal lines
57403 -------------------------------------------------------------------------------------------
57404 BEGIN
57405 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
57406 (g_array_event(p_event_id).array_value_num('header_index'));
57407 IF l_acc_rev_flag IS NULL THEN
57408 l_acc_rev_flag := 'N';
57409 END IF;
57410 EXCEPTION
57411 WHEN OTHERS THEN
57412 l_acc_rev_flag := 'N';
57413 END;
57414 --
57415 IF (l_acc_rev_flag = 'Y') THEN
57416
57417 -- 4645092 ------------------------------------------------------------------------------
57418 -- To allow MPA report to determine if it should generate report process
57419 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
57420 ------------------------------------------------------------------------------------------
57421
57422 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
57423 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
57424 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
57425 -- call ADRs
57426 -- Bug 4922099
57427 --
57428 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
57429 (NVL(l_actual_upg_option, 'N') = 'O') OR
57430 (NVL(l_enc_upg_option, 'N') = 'O')
57431 )
57432 THEN
57433 NULL;
57434 --
57435 --
57436
57440 , p_source_14 => p_source_14
57437 l_ccid := AcctDerRule_11(
57438 p_application_id => p_application_id
57439 , p_ae_header_id => l_ae_header_id
57441 , x_transaction_coa_id => l_adr_transaction_coa_id
57442 , x_accounting_coa_id => l_adr_accounting_coa_id
57443 , x_value_type_code => l_adr_value_type_code
57444 , p_side => 'NA'
57445 );
57446
57447 xla_ae_lines_pkg.set_ccid(
57448 p_code_combination_id => l_ccid
57449 , p_value_type_code => l_adr_value_type_code
57450 , p_transaction_coa_id => l_adr_transaction_coa_id
57451 , p_accounting_coa_id => l_adr_accounting_coa_id
57452 , p_adr_code => 'PROJ_PREPAY_BURDENED_ENC_RULE'
57453 , p_adr_type_code => 'S'
57454 , p_component_type => l_component_type
57455 , p_component_code => l_component_code
57456 , p_component_type_code => l_component_type_code
57457 , p_component_appl_id => l_component_appl_id
57458 , p_amb_context_code => l_amb_context_code
57459 , p_side => 'NA'
57460 );
57461
57462
57463 --
57464 --
57465 END IF;
57466
57467 --
57468 -- Update the line information that should be overwritten
57469 --
57470 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
57471 p_header_num => 1);
57472 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
57473
57474 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
57475
57476 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
57477 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
57478 END IF;
57479
57480 --
57481 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
57482 --
57483 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
57484 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
57485 ELSE
57486 ---------------------------------------------------------------------------------------------------
57487 -- 4262811a Switch Sign
57488 ---------------------------------------------------------------------------------------------------
57489 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
57490 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
57491 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
57492 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
57493 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
57494 -- 5132302
57495 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
57496 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
57497
57498 END IF;
57499
57500 -- 4955764
57501 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
57502 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
57503
57504
57505 XLA_AE_LINES_PKG.ValidateCurrentLine;
57506 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
57507
57508 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
57509 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
57510 ,p_balance_type_code => l_balance_type_code);
57511
57512 END IF;
57513
57514 -----------------------------------------------------------------------------------------
57515 -- 4262811 Multiperiod Accounting
57516 -----------------------------------------------------------------------------------------
57517 -- No MPA option is assigned.
57518
57519
57520 END IF;
57521 END IF;
57522 --
57523
57524 --
57525 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
57526 trace
57527 (p_msg => 'END of AcctLineType_90'
57528 ,p_level => C_LEVEL_PROCEDURE
57529 ,p_module => l_log_module);
57530 END IF;
57531 --
57532 EXCEPTION
57533 WHEN xla_exceptions_pkg.application_exception THEN
57534 RAISE;
57535 WHEN OTHERS THEN
57536 xla_exceptions_pkg.raise_message
57537 (p_location => 'XLA_00200_AAD_S_000006_BC_PKG.AcctLineType_90');
57538 END AcctLineType_90;
57539 --
57540
57541 ---------------------------------------
57542 --
57543 -- PRIVATE FUNCTION
57544 -- AcctLineType_91
57545 --
57546 ---------------------------------------
57547 PROCEDURE AcctLineType_91 (
57548 p_application_id IN NUMBER
57549 ,p_event_id IN NUMBER
57550 ,p_calculate_acctd_flag IN VARCHAR2
57551 ,p_calculate_g_l_flag IN VARCHAR2
57552 ,p_actual_flag IN OUT VARCHAR2
57553 ,p_balance_type_code OUT VARCHAR2
57554 ,p_gain_or_loss_ref OUT VARCHAR2
57555
57556 --Document Distribution Type
57557 , p_source_2 IN VARCHAR2
57558 --Project Name
57562 --Expenditure Organization
57559 , p_source_3 IN VARCHAR2
57560 --Task Number
57561 , p_source_4 IN VARCHAR2
57563 , p_source_5 IN NUMBER
57564 --Invoice Distribution Account
57565 , p_source_11 IN NUMBER
57566 --Budget Account
57567 , p_source_14 IN NUMBER
57568 --Distribution Link Type
57569 , p_source_21 IN VARCHAR2
57570 --Invoice Distribution Identifier
57571 , p_source_30 IN NUMBER
57572 --Invoice Currency Code
57573 , p_source_33 IN VARCHAR2
57574 --Invoice Exchange Date
57575 , p_source_39 IN DATE
57576 --Invoice Exchange Rate
57577 , p_source_40 IN NUMBER
57578 --Invoice Exchange Rate Type
57579 , p_source_41 IN VARCHAR2
57580 --Invoice Distribution Amount
57581 , p_source_57 IN NUMBER
57582 --Document Type
57583 , p_source_83 IN VARCHAR2
57584 --Burden Amount Display Method
57585 , p_source_84 IN VARCHAR2
57586 --Accounting reversal indicator for project invoice burden
57587 , p_source_85 IN VARCHAR2
57588 --Allocated to Application Identifier
57589 , p_source_86 IN NUMBER
57590 --Allocated to Distribution Type
57591 , p_source_87 IN VARCHAR2
57592 --Allocated to Entity Code
57593 , p_source_88 IN VARCHAR2
57594 --Allocated to First Distribution Identifier
57595 , p_source_89 IN NUMBER
57596 --Allocated to First System Transaction Identifier
57597 , p_source_90 IN NUMBER
57598 --Invoice Burden Applied to Application Identifier
57599 , p_source_91 IN NUMBER
57600 --Invoice Burden Applied to Distribution Type
57601 , p_source_92 IN VARCHAR2
57602 --Invoice Burden Applied to Entity Code
57603 , p_source_93 IN VARCHAR2
57604 --Invoice Burden Applied to First Distribution Identifier
57605 , p_source_94 IN NUMBER
57606 --Invoice Burden Applied to System Transaction Identifier
57607 , p_source_95 IN NUMBER
57608 --Invoice Distribution Expenditure Type
57609 , p_source_96 IN VARCHAR2
57610 --Encumbrance Upgrade Credit Accounting Class
57611 , p_source_97 IN VARCHAR2
57612 --Encumbrance Upgrade Credit Account
57613 , p_source_98 IN NUMBER
57614 --Invoice Distribution Ledger Amount Before Rounding
57615 , p_source_99 IN NUMBER
57616 --Encumbrance Upgrade Debit Accounting Class
57617 , p_source_100 IN VARCHAR2
57618 --Encumbrance Upgrade Debit Account
57619 , p_source_101 IN NUMBER
57620 --Use Encumbrances Upgrade Attributes Flag
57621 , p_source_102 IN VARCHAR2
57622 --Accounting reversal first distribution identifier for project invoice burden
57623 , p_source_103 IN NUMBER
57624 --Invoice Burden Applied to Second Distribution Identifier
57625 , p_source_104 IN VARCHAR2
57626 --Accounting reversal distribution type for project invoice burden
57627 , p_source_105 IN VARCHAR2
57628 --Encumbrance Upgrade Credit Encumbrance Type
57629 , p_source_106 IN NUMBER
57630 --Encumbrance Upgrade Debit Encumbrance Type
57631 , p_source_107 IN NUMBER
57632 --Burden Record Identifier
57633 , p_source_108 IN VARCHAR2
57634 , p_source_108_meaning IN VARCHAR2
57635 )
57636 IS
57637
57638 l_component_type VARCHAR2(80);
57639 l_component_code VARCHAR2(30);
57640 l_component_type_code VARCHAR2(1);
57641 l_component_appl_id INTEGER;
57642 l_amb_context_code VARCHAR2(30);
57643 l_entity_code VARCHAR2(30);
57644 l_event_class_code VARCHAR2(30);
57645 l_ae_header_id NUMBER;
57646 l_event_type_code VARCHAR2(30);
57647 l_line_definition_code VARCHAR2(30);
57648 l_line_definition_owner_code VARCHAR2(1);
57649 --
57650 -- adr variables
57651 l_segment VARCHAR2(30);
57652 l_ccid NUMBER;
57653 l_adr_transaction_coa_id NUMBER;
57654 l_adr_accounting_coa_id NUMBER;
57655 l_adr_flexfield_segment_code VARCHAR2(30);
57656 l_adr_flex_value_set_id NUMBER;
57657 l_adr_value_type_code VARCHAR2(30);
57658 l_adr_value_combination_id NUMBER;
57659 l_adr_value_segment_code VARCHAR2(30);
57660
57661 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
57662 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
57663 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
57664 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
57665
57666 -- 4262811 Variables ------------------------------------------------------------------------------------------
57667 l_entered_amt_idx NUMBER;
57668 l_accted_amt_idx NUMBER;
57669 l_acc_rev_flag VARCHAR2(1);
57670 l_accrual_line_num NUMBER;
57671 l_tmp_amt NUMBER;
57672 l_acc_rev_natural_side_code VARCHAR2(1);
57673
57674 l_num_entries NUMBER;
57675 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
57676 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
57677 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
57678 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
57679 l_recog_line_1 NUMBER;
57680 l_recog_line_2 NUMBER;
57681
57685
57682 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
57683 l_bflow_applied_to_amt NUMBER; -- 5132302
57684 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
57686 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
57687
57688 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
57689 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
57690
57691 ---------------------------------------------------------------------------------------------------------------
57692
57693
57694 --
57695 -- bulk performance
57696 --
57697 l_balance_type_code VARCHAR2(1);
57698 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
57699 l_log_module VARCHAR2(240);
57700
57701 --
57702 -- Upgrade strategy
57703 --
57704 l_actual_upg_option VARCHAR2(1);
57705 l_enc_upg_option VARCHAR2(1);
57706
57707 --
57708 BEGIN
57709 --
57710 IF g_log_enabled THEN
57711 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_91';
57712 END IF;
57713 --
57714 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
57715
57716 trace
57717 (p_msg => 'BEGIN of AcctLineType_91'
57718 ,p_level => C_LEVEL_PROCEDURE
57719 ,p_module => l_log_module);
57720
57721 END IF;
57722 --
57723 l_component_type := 'AMB_JLT';
57724 l_component_code := 'PREPAY_BURDEN_ENC';
57725 l_component_type_code := 'S';
57726 l_component_appl_id := 200;
57727 l_amb_context_code := 'DEFAULT';
57728 l_entity_code := 'AP_INVOICES';
57729 l_event_class_code := 'PREPAYMENT_BURDEN';
57730 l_event_type_code := 'PREPAYMENT_BURDEN_ALL';
57731 l_line_definition_owner_code := 'S';
57732 l_line_definition_code := 'AP_PREPAY_BURDEN_ENC_ALL';
57733 --
57734 l_balance_type_code := 'E';
57735 l_segment := NULL;
57736 l_ccid := NULL;
57737 l_adr_transaction_coa_id := NULL;
57738 l_adr_accounting_coa_id := NULL;
57739 l_adr_flexfield_segment_code := NULL;
57740 l_adr_flex_value_set_id := NULL;
57741 l_adr_value_type_code := NULL;
57742 l_adr_value_combination_id := NULL;
57743 l_adr_value_segment_code := NULL;
57744
57745 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
57746 l_bflow_class_code := 'AP_PREPAY_BURDEN_ENC'; -- 4219869 Business Flow
57747 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
57748 l_budgetary_control_flag := 'Y';
57749
57750 l_bflow_applied_to_amt_idx := NULL; -- 5132302
57751 l_bflow_applied_to_amt := NULL; -- 5132302
57752 l_entered_amt_idx := NULL; -- 4262811
57753 l_accted_amt_idx := NULL; -- 4262811
57754 l_acc_rev_flag := NULL; -- 4262811
57755 l_accrual_line_num := NULL; -- 4262811
57756 l_tmp_amt := NULL; -- 4262811
57757 --
57758
57759 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
57760 l_balance_type_code <> 'B' THEN
57761 IF NVL(p_source_83,'
57762 ') = 'AP' AND
57763 (NVL(p_source_2,'
57764 ') <> 'PREPAY APPL' OR
57765 NVL(p_source_2,'
57766 ') <> 'TAX DIFF' OR
57767 NVL(p_source_2,'
57768 ') <> 'FINAL APPLICATION ROUNDING') AND
57769 NVL(p_source_84,'
57770 ') = 'D' AND
57771 NVL(p_source_108,'
57772 ') = 'O' AND
57773 NVL(TO_NUMBER(p_source_14),9E125) <> NVL(TO_NUMBER(p_source_11),9E125)
57774 THEN
57775
57776 --
57777 XLA_AE_LINES_PKG.SetNewLine;
57778
57779 p_balance_type_code := l_balance_type_code;
57780 -- set the flag so later we will know whether the gain loss line needs to be created
57781
57782 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
57783 p_actual_flag :='A';
57784 END IF;
57785
57786 --
57787 -- bulk performance
57788 --
57789 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
57790 p_header_num => 0); -- 4262811
57791 --
57792 -- set accounting line options
57793 --
57794 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
57795 p_natural_side_code => 'D'
57796 , p_gain_or_loss_flag => 'N'
57797 , p_gl_transfer_mode_code => 'S'
57798 , p_acct_entry_type_code => 'E'
57799 , p_switch_side_flag => 'Y'
57800 , p_merge_duplicate_code => 'N'
57801 );
57802 --
57803 l_acc_rev_natural_side_code := 'C'; -- 4262811
57804 --
57805 --
57806 -- set accounting line type info
57807 --
57808 xla_ae_lines_pkg.SetAcctLineType
57809 (p_component_type => l_component_type
57810 ,p_event_type_code => l_event_type_code
57811 ,p_line_definition_owner_code => l_line_definition_owner_code
57812 ,p_line_definition_code => l_line_definition_code
57813 ,p_accounting_line_code => l_component_code
57814 ,p_accounting_line_type_code => l_component_type_code
57818 ,p_event_class_code => l_event_class_code);
57815 ,p_accounting_line_appl_id => l_component_appl_id
57816 ,p_amb_context_code => l_amb_context_code
57817 ,p_entity_code => l_entity_code
57819 --
57820 -- set accounting class
57821 --
57822 xla_ae_lines_pkg.SetAcctClass(
57823 p_accounting_class_code => 'AP_PREPAY_BURDEN'
57824 , p_ae_header_id => l_ae_header_id
57825 );
57826
57827 --
57828 -- set rounding class
57829 --
57830 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
57831 'AP_PREPAY_BURDEN';
57832
57833 --
57834 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
57835 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
57836 --
57837 -- bulk performance
57838 --
57839 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
57840
57841 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
57842 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
57843
57844 -- 4955764
57845 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
57846 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
57847
57848 -- 4458381 Public Sector Enh
57849 XLA_AE_LINES_PKG.g_rec_lines.array_encumbrance_type_id(XLA_AE_LINES_PKG.g_LineNumber) := 1060;
57850 --
57851 -- set accounting attributes for the line type
57852 --
57853 l_entered_amt_idx := 27;
57854 l_accted_amt_idx := 32;
57855 l_bflow_applied_to_amt_idx := NULL; -- 5132302
57856 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
57857 l_rec_acct_attrs.array_char_value(1) := p_source_85;
57858 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
57859 l_rec_acct_attrs.array_num_value(2) := p_source_86;
57860 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
57861 l_rec_acct_attrs.array_char_value(3) := p_source_87;
57862 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
57863 l_rec_acct_attrs.array_char_value(4) := p_source_88;
57864 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
57865 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_89);
57866 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
57867 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_90);
57868 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
57869 l_rec_acct_attrs.array_num_value(7) := p_source_91;
57870 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
57871 l_rec_acct_attrs.array_char_value(8) := p_source_92;
57872 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
57873 l_rec_acct_attrs.array_char_value(9) := p_source_93;
57874 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
57875 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_94);
57876 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
57877 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_95);
57878 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_SECOND_DIST_ID';
57879 l_rec_acct_attrs.array_char_value(12) := p_source_104;
57880 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
57881 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_30);
57882 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_IDENTIFIER_2';
57883 l_rec_acct_attrs.array_char_value(14) := p_source_96;
57884 l_rec_acct_attrs.array_acct_attr_code(15) := 'DISTRIBUTION_TYPE';
57885 l_rec_acct_attrs.array_char_value(15) := p_source_21;
57886 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ACCT_CLASS';
57887 l_rec_acct_attrs.array_char_value(16) := p_source_97;
57888 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_CCID';
57889 l_rec_acct_attrs.array_num_value(17) := p_source_98;
57890 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_ENTERED_AMT';
57891 l_rec_acct_attrs.array_num_value(18) := p_source_57;
57892 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_CR_ENTERED_CURR';
57893 l_rec_acct_attrs.array_char_value(19) := p_source_33;
57894 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_CR_LEDGER_AMT';
57895 l_rec_acct_attrs.array_num_value(20) := p_source_99;
57896 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ACCT_CLASS';
57897 l_rec_acct_attrs.array_char_value(21) := p_source_100;
57898 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_CCID';
57899 l_rec_acct_attrs.array_num_value(22) := p_source_101;
57900 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_DR_ENTERED_AMT';
57901 l_rec_acct_attrs.array_num_value(23) := p_source_57;
57902 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENC_UPG_DR_ENTERED_CURR';
57903 l_rec_acct_attrs.array_char_value(24) := p_source_33;
57904 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENC_UPG_DR_LEDGER_AMT';
57905 l_rec_acct_attrs.array_num_value(25) := p_source_99;
57906 l_rec_acct_attrs.array_acct_attr_code(26) := 'ENC_UPG_OPTION';
57907 l_rec_acct_attrs.array_char_value(26) := p_source_102;
57908 l_rec_acct_attrs.array_acct_attr_code(27) := 'ENTERED_CURRENCY_AMOUNT';
57909 l_rec_acct_attrs.array_num_value(27) := p_source_57;
57910 l_rec_acct_attrs.array_acct_attr_code(28) := 'ENTERED_CURRENCY_CODE';
57914 l_rec_acct_attrs.array_acct_attr_code(30) := 'EXCHANGE_RATE';
57911 l_rec_acct_attrs.array_char_value(28) := p_source_33;
57912 l_rec_acct_attrs.array_acct_attr_code(29) := 'EXCHANGE_DATE';
57913 l_rec_acct_attrs.array_date_value(29) := p_source_39;
57915 l_rec_acct_attrs.array_num_value(30) := p_source_40;
57916 l_rec_acct_attrs.array_acct_attr_code(31) := 'EXCHANGE_RATE_TYPE';
57917 l_rec_acct_attrs.array_char_value(31) := p_source_41;
57918 l_rec_acct_attrs.array_acct_attr_code(32) := 'LEDGER_AMOUNT';
57919 l_rec_acct_attrs.array_num_value(32) := p_source_99;
57920 l_rec_acct_attrs.array_acct_attr_code(33) := 'REVERSED_DISTRIBUTION_ID1';
57921 l_rec_acct_attrs.array_num_value(33) := to_char(p_source_103);
57922 l_rec_acct_attrs.array_acct_attr_code(34) := 'REVERSED_DISTRIBUTION_ID2';
57923 l_rec_acct_attrs.array_char_value(34) := p_source_104;
57924 l_rec_acct_attrs.array_acct_attr_code(35) := 'REVERSED_DISTRIBUTION_TYPE';
57925 l_rec_acct_attrs.array_char_value(35) := p_source_105;
57926 l_rec_acct_attrs.array_acct_attr_code(36) := 'UPG_CR_ENC_TYPE_ID';
57927 l_rec_acct_attrs.array_num_value(36) := p_source_106;
57928 l_rec_acct_attrs.array_acct_attr_code(37) := 'UPG_DR_ENC_TYPE_ID';
57929 l_rec_acct_attrs.array_num_value(37) := p_source_107;
57930
57931 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
57932 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
57933
57934 ---------------------------------------------------------------------------------------------------------------
57935 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
57936 ---------------------------------------------------------------------------------------------------------------
57937 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
57938
57939 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
57940 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
57941
57942 IF xla_accounting_cache_pkg.GetValueChar
57943 (p_source_code => 'LEDGER_CATEGORY_CODE'
57944 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
57945 AND l_bflow_method_code = 'PRIOR_ENTRY'
57946 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
57947 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
57948 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
57949 )
57950 THEN
57951 xla_ae_lines_pkg.BflowUpgEntry
57952 (p_business_method_code => l_bflow_method_code
57953 ,p_business_class_code => l_bflow_class_code
57954 ,p_balance_type => l_balance_type_code);
57955 ELSE
57956 NULL;
57957 -- No business flow processing for business flow method of NONE.
57958 END IF;
57959
57960 --
57961 -- call analytical criteria
57962 --
57963
57964 --
57965 -- call description
57966 --
57967
57968 xla_ae_lines_pkg.SetLineDescription(
57969 p_ae_header_id => l_ae_header_id
57970 ,p_description => Description_3 (
57971 p_application_id => p_application_id
57972 , p_ae_header_id => l_ae_header_id
57973 , p_source_2 => p_source_2
57974 , p_source_3 => p_source_3
57975 , p_source_4 => p_source_4
57976 , p_source_5 => p_source_5
57977 )
57978 );
57979
57980
57981 --
57982 -- call ADRs
57983 -- Bug 4922099
57984 --
57985 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
57986 (NVL(l_actual_upg_option, 'N') = 'O') OR
57987 (NVL(l_enc_upg_option, 'N') = 'O')
57988 )
57989 THEN
57990 NULL;
57991 --
57992 --
57993
57994 l_ccid := AcctDerRule_13(
57995 p_application_id => p_application_id
57996 , p_ae_header_id => l_ae_header_id
57997 , p_source_14 => p_source_14
57998 , x_transaction_coa_id => l_adr_transaction_coa_id
57999 , x_accounting_coa_id => l_adr_accounting_coa_id
58000 , x_value_type_code => l_adr_value_type_code
58001 , p_side => 'NA'
58002 );
58003
58004 xla_ae_lines_pkg.set_ccid(
58005 p_code_combination_id => l_ccid
58006 , p_value_type_code => l_adr_value_type_code
58007 , p_transaction_coa_id => l_adr_transaction_coa_id
58008 , p_accounting_coa_id => l_adr_accounting_coa_id
58009 , p_adr_code => 'PROJ_PROJ_BURDEN_ENC_ACCT_RULE'
58010 , p_adr_type_code => 'S'
58011 , p_component_type => l_component_type
58012 , p_component_code => l_component_code
58013 , p_component_type_code => l_component_type_code
58014 , p_component_appl_id => l_component_appl_id
58015 , p_amb_context_code => l_amb_context_code
58016 , p_side => 'NA'
58017 );
58018
58019
58020 --
58021 --
58022 END IF;
58023 --
58024 -- Bug 4922099
58025 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
58026 (NVL(l_enc_upg_option, 'N') = 'O')
58027 ) AND
58028 (l_bflow_method_code = 'PRIOR_ENTRY')
58029 )
58030 THEN
58031 IF
58032 --
58036 xla_accounting_err_pkg.build_message
58033 1 = 2
58034 --
58035 THEN
58037 (p_appli_s_name => 'XLA'
58038 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
58039 ,p_token_1 => 'LINE_NUMBER'
58040 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
58041 ,p_token_2 => 'LINE_TYPE_NAME'
58042 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
58043 l_component_type
58044 ,l_component_code
58045 ,l_component_type_code
58046 ,l_component_appl_id
58047 ,l_amb_context_code
58048 ,l_entity_code
58049 ,l_event_class_code
58050 )
58051 ,p_token_3 => 'OWNER'
58052 ,p_value_3 => xla_lookups_pkg.get_meaning(
58053 p_lookup_type => 'XLA_OWNER_TYPE'
58054 ,p_lookup_code => l_component_type_code
58055 )
58056 ,p_token_4 => 'PRODUCT_NAME'
58057 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
58058 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
58059 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
58060 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
58061 ,p_ae_header_id => NULL
58062 );
58063
58064 IF (C_LEVEL_ERROR>= g_log_level) THEN
58065 trace
58066 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
58067 ,p_level => C_LEVEL_ERROR
58068 ,p_module => l_log_module);
58069 END IF;
58070 END IF;
58071 END IF;
58072 --
58073 --
58074 ------------------------------------------------------------------------------------------------
58075 -- 4219869 Business Flow
58076 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
58077 -- Prior Entry. Currently, the following code is always generated.
58078 ------------------------------------------------------------------------------------------------
58079 XLA_AE_LINES_PKG.ValidateCurrentLine;
58080
58081 ------------------------------------------------------------------------------------
58082 -- 4219869 Business Flow
58083 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
58084 ------------------------------------------------------------------------------------
58085 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
58086
58087 ----------------------------------------------------------------------------------
58088 -- 4219869 Business Flow
58089 -- Update journal entry status -- Need to generate this within IF <condition>
58090 ----------------------------------------------------------------------------------
58091 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
58092 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
58093 ,p_balance_type_code => l_balance_type_code
58094 );
58095
58096 -------------------------------------------------------------------------------------------
58097 -- 4262811 - Generate the Accrual Reversal lines
58098 -------------------------------------------------------------------------------------------
58099 BEGIN
58100 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
58101 (g_array_event(p_event_id).array_value_num('header_index'));
58102 IF l_acc_rev_flag IS NULL THEN
58103 l_acc_rev_flag := 'N';
58104 END IF;
58105 EXCEPTION
58106 WHEN OTHERS THEN
58107 l_acc_rev_flag := 'N';
58108 END;
58109 --
58110 IF (l_acc_rev_flag = 'Y') THEN
58111
58112 -- 4645092 ------------------------------------------------------------------------------
58113 -- To allow MPA report to determine if it should generate report process
58114 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
58115 ------------------------------------------------------------------------------------------
58116
58117 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
58118 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
58119 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
58120 -- call ADRs
58121 -- Bug 4922099
58122 --
58123 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
58124 (NVL(l_actual_upg_option, 'N') = 'O') OR
58128 NULL;
58125 (NVL(l_enc_upg_option, 'N') = 'O')
58126 )
58127 THEN
58129 --
58130 --
58131
58132 l_ccid := AcctDerRule_13(
58133 p_application_id => p_application_id
58134 , p_ae_header_id => l_ae_header_id
58135 , p_source_14 => p_source_14
58136 , x_transaction_coa_id => l_adr_transaction_coa_id
58137 , x_accounting_coa_id => l_adr_accounting_coa_id
58138 , x_value_type_code => l_adr_value_type_code
58139 , p_side => 'NA'
58140 );
58141
58142 xla_ae_lines_pkg.set_ccid(
58143 p_code_combination_id => l_ccid
58144 , p_value_type_code => l_adr_value_type_code
58145 , p_transaction_coa_id => l_adr_transaction_coa_id
58146 , p_accounting_coa_id => l_adr_accounting_coa_id
58147 , p_adr_code => 'PROJ_PROJ_BURDEN_ENC_ACCT_RULE'
58148 , p_adr_type_code => 'S'
58149 , p_component_type => l_component_type
58150 , p_component_code => l_component_code
58151 , p_component_type_code => l_component_type_code
58152 , p_component_appl_id => l_component_appl_id
58153 , p_amb_context_code => l_amb_context_code
58154 , p_side => 'NA'
58155 );
58156
58157
58158 --
58159 --
58160 END IF;
58161
58162 --
58163 -- Update the line information that should be overwritten
58164 --
58165 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
58166 p_header_num => 1);
58167 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
58168
58169 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
58170
58171 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
58172 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
58173 END IF;
58174
58175 --
58176 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
58177 --
58178 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
58179 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
58180 ELSE
58181 ---------------------------------------------------------------------------------------------------
58182 -- 4262811a Switch Sign
58183 ---------------------------------------------------------------------------------------------------
58184 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
58185 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
58186 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
58187 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
58188 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
58189 -- 5132302
58190 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
58191 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
58192
58193 END IF;
58194
58195 -- 4955764
58196 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
58197 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
58198
58199
58200 XLA_AE_LINES_PKG.ValidateCurrentLine;
58201 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
58202
58203 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
58204 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
58205 ,p_balance_type_code => l_balance_type_code);
58206
58207 END IF;
58208
58209 -----------------------------------------------------------------------------------------
58210 -- 4262811 Multiperiod Accounting
58211 -----------------------------------------------------------------------------------------
58212 -- No MPA option is assigned.
58213
58214
58215 END IF;
58216 END IF;
58217 --
58218
58219 --
58220 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
58221 trace
58222 (p_msg => 'END of AcctLineType_91'
58223 ,p_level => C_LEVEL_PROCEDURE
58224 ,p_module => l_log_module);
58225 END IF;
58226 --
58227 EXCEPTION
58228 WHEN xla_exceptions_pkg.application_exception THEN
58229 RAISE;
58230 WHEN OTHERS THEN
58231 xla_exceptions_pkg.raise_message
58232 (p_location => 'XLA_00200_AAD_S_000006_BC_PKG.AcctLineType_91');
58233 END AcctLineType_91;
58234 --
58235
58236 ---------------------------------------
58237 --
58238 -- PRIVATE FUNCTION
58239 -- AcctLineType_92
58240 --
58241 ---------------------------------------
58242 PROCEDURE AcctLineType_92 (
58243 p_application_id IN NUMBER
58244 ,p_event_id IN NUMBER
58245 ,p_calculate_acctd_flag IN VARCHAR2
58246 ,p_calculate_g_l_flag IN VARCHAR2
58247 ,p_actual_flag IN OUT VARCHAR2
58251 --Document Distribution Type
58248 ,p_balance_type_code OUT VARCHAR2
58249 ,p_gain_or_loss_ref OUT VARCHAR2
58250
58252 , p_source_2 IN VARCHAR2
58253 --Project Name
58254 , p_source_3 IN VARCHAR2
58255 --Task Number
58256 , p_source_4 IN VARCHAR2
58257 --Expenditure Organization
58258 , p_source_5 IN NUMBER
58259 --Budget Account
58260 , p_source_14 IN NUMBER
58261 --Distribution Link Type
58262 , p_source_21 IN VARCHAR2
58263 --Invoice Distribution Identifier
58264 , p_source_30 IN NUMBER
58265 --Invoice Currency Code
58266 , p_source_33 IN VARCHAR2
58267 --Invoice Exchange Date
58268 , p_source_39 IN DATE
58269 --Invoice Exchange Rate
58270 , p_source_40 IN NUMBER
58271 --Invoice Exchange Rate Type
58272 , p_source_41 IN VARCHAR2
58273 --Invoice Distribution Amount
58274 , p_source_57 IN NUMBER
58275 --Document Type
58276 , p_source_83 IN VARCHAR2
58277 --Burden Amount Display Method
58278 , p_source_84 IN VARCHAR2
58279 --Accounting reversal indicator for project invoice burden
58280 , p_source_85 IN VARCHAR2
58281 --Allocated to Application Identifier
58282 , p_source_86 IN NUMBER
58283 --Allocated to Distribution Type
58284 , p_source_87 IN VARCHAR2
58285 --Allocated to Entity Code
58286 , p_source_88 IN VARCHAR2
58287 --Allocated to First Distribution Identifier
58288 , p_source_89 IN NUMBER
58289 --Allocated to First System Transaction Identifier
58290 , p_source_90 IN NUMBER
58291 --Invoice Burden Applied to Application Identifier
58292 , p_source_91 IN NUMBER
58293 --Invoice Burden Applied to Distribution Type
58294 , p_source_92 IN VARCHAR2
58295 --Invoice Burden Applied to Entity Code
58296 , p_source_93 IN VARCHAR2
58297 --Invoice Burden Applied to First Distribution Identifier
58298 , p_source_94 IN NUMBER
58299 --Invoice Burden Applied to System Transaction Identifier
58300 , p_source_95 IN NUMBER
58301 --Invoice Distribution Expenditure Type
58302 , p_source_96 IN VARCHAR2
58303 --Encumbrance Upgrade Credit Accounting Class
58304 , p_source_97 IN VARCHAR2
58305 --Encumbrance Upgrade Credit Account
58306 , p_source_98 IN NUMBER
58307 --Invoice Distribution Ledger Amount Before Rounding
58308 , p_source_99 IN NUMBER
58309 --Encumbrance Upgrade Debit Accounting Class
58310 , p_source_100 IN VARCHAR2
58311 --Encumbrance Upgrade Debit Account
58312 , p_source_101 IN NUMBER
58313 --Use Encumbrances Upgrade Attributes Flag
58314 , p_source_102 IN VARCHAR2
58315 --Accounting reversal first distribution identifier for project invoice burden
58316 , p_source_103 IN NUMBER
58317 --Invoice Burden Applied to Second Distribution Identifier
58318 , p_source_104 IN VARCHAR2
58319 --Accounting reversal distribution type for project invoice burden
58320 , p_source_105 IN VARCHAR2
58321 --Encumbrance Upgrade Credit Encumbrance Type
58322 , p_source_106 IN NUMBER
58323 --Encumbrance Upgrade Debit Encumbrance Type
58324 , p_source_107 IN NUMBER
58325 --Burden Record Identifier
58326 , p_source_108 IN VARCHAR2
58327 , p_source_108_meaning IN VARCHAR2
58328 )
58329 IS
58330
58331 l_component_type VARCHAR2(80);
58332 l_component_code VARCHAR2(30);
58333 l_component_type_code VARCHAR2(1);
58334 l_component_appl_id INTEGER;
58335 l_amb_context_code VARCHAR2(30);
58336 l_entity_code VARCHAR2(30);
58337 l_event_class_code VARCHAR2(30);
58338 l_ae_header_id NUMBER;
58339 l_event_type_code VARCHAR2(30);
58340 l_line_definition_code VARCHAR2(30);
58341 l_line_definition_owner_code VARCHAR2(1);
58342 --
58343 -- adr variables
58344 l_segment VARCHAR2(30);
58345 l_ccid NUMBER;
58346 l_adr_transaction_coa_id NUMBER;
58347 l_adr_accounting_coa_id NUMBER;
58348 l_adr_flexfield_segment_code VARCHAR2(30);
58349 l_adr_flex_value_set_id NUMBER;
58350 l_adr_value_type_code VARCHAR2(30);
58351 l_adr_value_combination_id NUMBER;
58352 l_adr_value_segment_code VARCHAR2(30);
58353
58354 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
58355 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
58356 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
58357 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
58358
58359 -- 4262811 Variables ------------------------------------------------------------------------------------------
58360 l_entered_amt_idx NUMBER;
58361 l_accted_amt_idx NUMBER;
58362 l_acc_rev_flag VARCHAR2(1);
58363 l_accrual_line_num NUMBER;
58364 l_tmp_amt NUMBER;
58365 l_acc_rev_natural_side_code VARCHAR2(1);
58366
58367 l_num_entries NUMBER;
58368 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
58369 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
58370 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
58374
58371 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
58372 l_recog_line_1 NUMBER;
58373 l_recog_line_2 NUMBER;
58375 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
58376 l_bflow_applied_to_amt NUMBER; -- 5132302
58377 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
58378
58379 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
58380
58381 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
58382 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
58383
58384 ---------------------------------------------------------------------------------------------------------------
58385
58386
58387 --
58388 -- bulk performance
58389 --
58390 l_balance_type_code VARCHAR2(1);
58391 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
58392 l_log_module VARCHAR2(240);
58393
58394 --
58395 -- Upgrade strategy
58396 --
58397 l_actual_upg_option VARCHAR2(1);
58398 l_enc_upg_option VARCHAR2(1);
58399
58400 --
58401 BEGIN
58402 --
58403 IF g_log_enabled THEN
58404 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_92';
58405 END IF;
58406 --
58407 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
58408
58409 trace
58410 (p_msg => 'BEGIN of AcctLineType_92'
58411 ,p_level => C_LEVEL_PROCEDURE
58412 ,p_module => l_log_module);
58413
58414 END IF;
58415 --
58416 l_component_type := 'AMB_JLT';
58417 l_component_code := 'PREPAY_ENCUMBRANCE';
58418 l_component_type_code := 'S';
58419 l_component_appl_id := 200;
58420 l_amb_context_code := 'DEFAULT';
58421 l_entity_code := 'AP_INVOICES';
58422 l_event_class_code := 'PREPAYMENT_BURDEN';
58423 l_event_type_code := 'PREPAYMENT_BURDEN_ALL';
58424 l_line_definition_owner_code := 'S';
58425 l_line_definition_code := 'AP_PREPAY_BURDEN_ENC_ALL';
58426 --
58427 l_balance_type_code := 'E';
58428 l_segment := NULL;
58429 l_ccid := NULL;
58430 l_adr_transaction_coa_id := NULL;
58431 l_adr_accounting_coa_id := NULL;
58432 l_adr_flexfield_segment_code := NULL;
58433 l_adr_flex_value_set_id := NULL;
58434 l_adr_value_type_code := NULL;
58435 l_adr_value_combination_id := NULL;
58436 l_adr_value_segment_code := NULL;
58437
58438 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
58439 l_bflow_class_code := 'AP_PREPAY_PA_ENC'; -- 4219869 Business Flow
58440 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
58441 l_budgetary_control_flag := 'Y';
58442
58443 l_bflow_applied_to_amt_idx := NULL; -- 5132302
58444 l_bflow_applied_to_amt := NULL; -- 5132302
58445 l_entered_amt_idx := NULL; -- 4262811
58446 l_accted_amt_idx := NULL; -- 4262811
58447 l_acc_rev_flag := NULL; -- 4262811
58448 l_accrual_line_num := NULL; -- 4262811
58449 l_tmp_amt := NULL; -- 4262811
58450 --
58451
58452 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
58453 l_balance_type_code <> 'B' THEN
58454 IF NVL(p_source_83,'
58455 ') = 'AP' AND
58456 (NVL(p_source_2,'
58457 ') <> 'PREPAY APPL' OR
58458 NVL(p_source_2,'
58459 ') <> 'TAX DIFF' OR
58460 NVL(p_source_2,'
58461 ') <> 'FINAL APPLICATION ROUNDING') AND
58462 (NVL(p_source_84,'
58463 ') = 'N' OR
58464 (NVL(p_source_84,'
58465 ') = 'D' AND
58466 NVL(p_source_108,'
58467 ') = 'N')
58468 ) THEN
58469
58470 --
58471 XLA_AE_LINES_PKG.SetNewLine;
58472
58473 p_balance_type_code := l_balance_type_code;
58474 -- set the flag so later we will know whether the gain loss line needs to be created
58475
58476 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
58477 p_actual_flag :='A';
58478 END IF;
58479
58480 --
58481 -- bulk performance
58482 --
58483 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
58484 p_header_num => 0); -- 4262811
58485 --
58486 -- set accounting line options
58487 --
58488 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
58489 p_natural_side_code => 'D'
58490 , p_gain_or_loss_flag => 'N'
58491 , p_gl_transfer_mode_code => 'S'
58492 , p_acct_entry_type_code => 'E'
58493 , p_switch_side_flag => 'Y'
58494 , p_merge_duplicate_code => 'N'
58495 );
58496 --
58497 l_acc_rev_natural_side_code := 'C'; -- 4262811
58498 --
58499 --
58500 -- set accounting line type info
58501 --
58502 xla_ae_lines_pkg.SetAcctLineType
58503 (p_component_type => l_component_type
58504 ,p_event_type_code => l_event_type_code
58505 ,p_line_definition_owner_code => l_line_definition_owner_code
58506 ,p_line_definition_code => l_line_definition_code
58510 ,p_amb_context_code => l_amb_context_code
58507 ,p_accounting_line_code => l_component_code
58508 ,p_accounting_line_type_code => l_component_type_code
58509 ,p_accounting_line_appl_id => l_component_appl_id
58511 ,p_entity_code => l_entity_code
58512 ,p_event_class_code => l_event_class_code);
58513 --
58514 -- set accounting class
58515 --
58516 xla_ae_lines_pkg.SetAcctClass(
58517 p_accounting_class_code => 'AP_PREPAY_BURDEN'
58518 , p_ae_header_id => l_ae_header_id
58519 );
58520
58521 --
58522 -- set rounding class
58523 --
58524 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
58525 'AP_PREPAY_BURDEN';
58526
58527 --
58528 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
58529 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
58530 --
58531 -- bulk performance
58532 --
58533 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
58534
58535 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
58536 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
58537
58538 -- 4955764
58539 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
58540 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
58541
58542 -- 4458381 Public Sector Enh
58543 XLA_AE_LINES_PKG.g_rec_lines.array_encumbrance_type_id(XLA_AE_LINES_PKG.g_LineNumber) := 1060;
58544 --
58545 -- set accounting attributes for the line type
58546 --
58547 l_entered_amt_idx := 27;
58548 l_accted_amt_idx := 32;
58549 l_bflow_applied_to_amt_idx := NULL; -- 5132302
58550 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
58551 l_rec_acct_attrs.array_char_value(1) := p_source_85;
58552 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
58553 l_rec_acct_attrs.array_num_value(2) := p_source_86;
58554 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
58555 l_rec_acct_attrs.array_char_value(3) := p_source_87;
58556 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
58557 l_rec_acct_attrs.array_char_value(4) := p_source_88;
58558 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
58559 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_89);
58560 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
58561 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_90);
58562 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
58563 l_rec_acct_attrs.array_num_value(7) := p_source_91;
58564 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
58565 l_rec_acct_attrs.array_char_value(8) := p_source_92;
58566 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
58567 l_rec_acct_attrs.array_char_value(9) := p_source_93;
58568 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
58569 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_94);
58570 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
58571 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_95);
58572 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_SECOND_DIST_ID';
58573 l_rec_acct_attrs.array_char_value(12) := p_source_104;
58574 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
58575 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_30);
58576 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_IDENTIFIER_2';
58577 l_rec_acct_attrs.array_char_value(14) := p_source_96;
58578 l_rec_acct_attrs.array_acct_attr_code(15) := 'DISTRIBUTION_TYPE';
58579 l_rec_acct_attrs.array_char_value(15) := p_source_21;
58580 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ACCT_CLASS';
58581 l_rec_acct_attrs.array_char_value(16) := p_source_97;
58582 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_CCID';
58583 l_rec_acct_attrs.array_num_value(17) := p_source_98;
58584 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_ENTERED_AMT';
58585 l_rec_acct_attrs.array_num_value(18) := p_source_57;
58586 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_CR_ENTERED_CURR';
58587 l_rec_acct_attrs.array_char_value(19) := p_source_33;
58588 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_CR_LEDGER_AMT';
58589 l_rec_acct_attrs.array_num_value(20) := p_source_99;
58590 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ACCT_CLASS';
58591 l_rec_acct_attrs.array_char_value(21) := p_source_100;
58592 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_CCID';
58593 l_rec_acct_attrs.array_num_value(22) := p_source_101;
58594 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_DR_ENTERED_AMT';
58595 l_rec_acct_attrs.array_num_value(23) := p_source_57;
58596 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENC_UPG_DR_ENTERED_CURR';
58597 l_rec_acct_attrs.array_char_value(24) := p_source_33;
58598 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENC_UPG_DR_LEDGER_AMT';
58599 l_rec_acct_attrs.array_num_value(25) := p_source_99;
58600 l_rec_acct_attrs.array_acct_attr_code(26) := 'ENC_UPG_OPTION';
58601 l_rec_acct_attrs.array_char_value(26) := p_source_102;
58602 l_rec_acct_attrs.array_acct_attr_code(27) := 'ENTERED_CURRENCY_AMOUNT';
58606 l_rec_acct_attrs.array_acct_attr_code(29) := 'EXCHANGE_DATE';
58603 l_rec_acct_attrs.array_num_value(27) := p_source_57;
58604 l_rec_acct_attrs.array_acct_attr_code(28) := 'ENTERED_CURRENCY_CODE';
58605 l_rec_acct_attrs.array_char_value(28) := p_source_33;
58607 l_rec_acct_attrs.array_date_value(29) := p_source_39;
58608 l_rec_acct_attrs.array_acct_attr_code(30) := 'EXCHANGE_RATE';
58609 l_rec_acct_attrs.array_num_value(30) := p_source_40;
58610 l_rec_acct_attrs.array_acct_attr_code(31) := 'EXCHANGE_RATE_TYPE';
58611 l_rec_acct_attrs.array_char_value(31) := p_source_41;
58612 l_rec_acct_attrs.array_acct_attr_code(32) := 'LEDGER_AMOUNT';
58613 l_rec_acct_attrs.array_num_value(32) := p_source_99;
58614 l_rec_acct_attrs.array_acct_attr_code(33) := 'REVERSED_DISTRIBUTION_ID1';
58615 l_rec_acct_attrs.array_num_value(33) := to_char(p_source_103);
58616 l_rec_acct_attrs.array_acct_attr_code(34) := 'REVERSED_DISTRIBUTION_ID2';
58617 l_rec_acct_attrs.array_char_value(34) := p_source_104;
58618 l_rec_acct_attrs.array_acct_attr_code(35) := 'REVERSED_DISTRIBUTION_TYPE';
58619 l_rec_acct_attrs.array_char_value(35) := p_source_105;
58620 l_rec_acct_attrs.array_acct_attr_code(36) := 'UPG_CR_ENC_TYPE_ID';
58621 l_rec_acct_attrs.array_num_value(36) := p_source_106;
58622 l_rec_acct_attrs.array_acct_attr_code(37) := 'UPG_DR_ENC_TYPE_ID';
58623 l_rec_acct_attrs.array_num_value(37) := p_source_107;
58624
58625 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
58626 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
58627
58628 ---------------------------------------------------------------------------------------------------------------
58629 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
58630 ---------------------------------------------------------------------------------------------------------------
58631 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
58632
58633 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
58634 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
58635
58636 IF xla_accounting_cache_pkg.GetValueChar
58637 (p_source_code => 'LEDGER_CATEGORY_CODE'
58638 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
58639 AND l_bflow_method_code = 'PRIOR_ENTRY'
58640 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
58641 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
58642 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
58643 )
58644 THEN
58645 xla_ae_lines_pkg.BflowUpgEntry
58646 (p_business_method_code => l_bflow_method_code
58647 ,p_business_class_code => l_bflow_class_code
58648 ,p_balance_type => l_balance_type_code);
58649 ELSE
58650 NULL;
58651 -- No business flow processing for business flow method of NONE.
58652 END IF;
58653
58654 --
58655 -- call analytical criteria
58656 --
58657
58658 --
58659 -- call description
58660 --
58661
58662 xla_ae_lines_pkg.SetLineDescription(
58663 p_ae_header_id => l_ae_header_id
58664 ,p_description => Description_3 (
58665 p_application_id => p_application_id
58666 , p_ae_header_id => l_ae_header_id
58667 , p_source_2 => p_source_2
58668 , p_source_3 => p_source_3
58669 , p_source_4 => p_source_4
58670 , p_source_5 => p_source_5
58671 )
58672 );
58673
58674
58675 --
58676 -- call ADRs
58677 -- Bug 4922099
58678 --
58679 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
58680 (NVL(l_actual_upg_option, 'N') = 'O') OR
58681 (NVL(l_enc_upg_option, 'N') = 'O')
58682 )
58683 THEN
58684 NULL;
58685 --
58686 --
58687
58688 l_ccid := AcctDerRule_12(
58689 p_application_id => p_application_id
58690 , p_ae_header_id => l_ae_header_id
58691 , p_source_14 => p_source_14
58692 , x_transaction_coa_id => l_adr_transaction_coa_id
58693 , x_accounting_coa_id => l_adr_accounting_coa_id
58694 , x_value_type_code => l_adr_value_type_code
58695 , p_side => 'NA'
58696 );
58697
58698 xla_ae_lines_pkg.set_ccid(
58699 p_code_combination_id => l_ccid
58700 , p_value_type_code => l_adr_value_type_code
58701 , p_transaction_coa_id => l_adr_transaction_coa_id
58702 , p_accounting_coa_id => l_adr_accounting_coa_id
58703 , p_adr_code => 'PROJ_PREPAY_ENC_ACCT_RULE'
58704 , p_adr_type_code => 'S'
58705 , p_component_type => l_component_type
58706 , p_component_code => l_component_code
58707 , p_component_type_code => l_component_type_code
58708 , p_component_appl_id => l_component_appl_id
58709 , p_amb_context_code => l_amb_context_code
58710 , p_side => 'NA'
58711 );
58712
58713
58714 --
58715 --
58716 END IF;
58717 --
58718 -- Bug 4922099
58719 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
58720 (NVL(l_enc_upg_option, 'N') = 'O')
58721 ) AND
58725 IF
58722 (l_bflow_method_code = 'PRIOR_ENTRY')
58723 )
58724 THEN
58726 --
58727 1 = 2
58728 --
58729 THEN
58730 xla_accounting_err_pkg.build_message
58731 (p_appli_s_name => 'XLA'
58732 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
58733 ,p_token_1 => 'LINE_NUMBER'
58734 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
58735 ,p_token_2 => 'LINE_TYPE_NAME'
58736 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
58737 l_component_type
58738 ,l_component_code
58739 ,l_component_type_code
58740 ,l_component_appl_id
58741 ,l_amb_context_code
58742 ,l_entity_code
58743 ,l_event_class_code
58744 )
58745 ,p_token_3 => 'OWNER'
58746 ,p_value_3 => xla_lookups_pkg.get_meaning(
58747 p_lookup_type => 'XLA_OWNER_TYPE'
58748 ,p_lookup_code => l_component_type_code
58749 )
58750 ,p_token_4 => 'PRODUCT_NAME'
58751 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
58752 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
58753 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
58754 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
58755 ,p_ae_header_id => NULL
58756 );
58757
58758 IF (C_LEVEL_ERROR>= g_log_level) THEN
58759 trace
58760 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
58761 ,p_level => C_LEVEL_ERROR
58762 ,p_module => l_log_module);
58763 END IF;
58764 END IF;
58765 END IF;
58766 --
58767 --
58768 ------------------------------------------------------------------------------------------------
58769 -- 4219869 Business Flow
58770 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
58771 -- Prior Entry. Currently, the following code is always generated.
58772 ------------------------------------------------------------------------------------------------
58773 XLA_AE_LINES_PKG.ValidateCurrentLine;
58774
58775 ------------------------------------------------------------------------------------
58776 -- 4219869 Business Flow
58777 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
58778 ------------------------------------------------------------------------------------
58779 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
58780
58781 ----------------------------------------------------------------------------------
58782 -- 4219869 Business Flow
58783 -- Update journal entry status -- Need to generate this within IF <condition>
58784 ----------------------------------------------------------------------------------
58785 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
58786 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
58787 ,p_balance_type_code => l_balance_type_code
58788 );
58789
58790 -------------------------------------------------------------------------------------------
58791 -- 4262811 - Generate the Accrual Reversal lines
58792 -------------------------------------------------------------------------------------------
58793 BEGIN
58794 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
58795 (g_array_event(p_event_id).array_value_num('header_index'));
58796 IF l_acc_rev_flag IS NULL THEN
58797 l_acc_rev_flag := 'N';
58798 END IF;
58799 EXCEPTION
58800 WHEN OTHERS THEN
58801 l_acc_rev_flag := 'N';
58802 END;
58803 --
58804 IF (l_acc_rev_flag = 'Y') THEN
58805
58806 -- 4645092 ------------------------------------------------------------------------------
58807 -- To allow MPA report to determine if it should generate report process
58808 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
58809 ------------------------------------------------------------------------------------------
58810
58811 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
58812 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
58813 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
58814 -- call ADRs
58815 -- Bug 4922099
58816 --
58820 )
58817 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
58818 (NVL(l_actual_upg_option, 'N') = 'O') OR
58819 (NVL(l_enc_upg_option, 'N') = 'O')
58821 THEN
58822 NULL;
58823 --
58824 --
58825
58826 l_ccid := AcctDerRule_12(
58827 p_application_id => p_application_id
58828 , p_ae_header_id => l_ae_header_id
58829 , p_source_14 => p_source_14
58830 , x_transaction_coa_id => l_adr_transaction_coa_id
58831 , x_accounting_coa_id => l_adr_accounting_coa_id
58832 , x_value_type_code => l_adr_value_type_code
58833 , p_side => 'NA'
58834 );
58835
58836 xla_ae_lines_pkg.set_ccid(
58837 p_code_combination_id => l_ccid
58838 , p_value_type_code => l_adr_value_type_code
58839 , p_transaction_coa_id => l_adr_transaction_coa_id
58840 , p_accounting_coa_id => l_adr_accounting_coa_id
58841 , p_adr_code => 'PROJ_PREPAY_ENC_ACCT_RULE'
58842 , p_adr_type_code => 'S'
58843 , p_component_type => l_component_type
58844 , p_component_code => l_component_code
58845 , p_component_type_code => l_component_type_code
58846 , p_component_appl_id => l_component_appl_id
58847 , p_amb_context_code => l_amb_context_code
58848 , p_side => 'NA'
58849 );
58850
58851
58852 --
58853 --
58854 END IF;
58855
58856 --
58857 -- Update the line information that should be overwritten
58858 --
58859 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
58860 p_header_num => 1);
58861 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
58862
58863 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
58864
58865 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
58866 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
58867 END IF;
58868
58869 --
58870 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
58871 --
58872 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
58873 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
58874 ELSE
58875 ---------------------------------------------------------------------------------------------------
58876 -- 4262811a Switch Sign
58877 ---------------------------------------------------------------------------------------------------
58878 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
58879 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
58880 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
58881 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
58882 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
58883 -- 5132302
58884 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
58885 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
58886
58887 END IF;
58888
58889 -- 4955764
58890 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
58891 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
58892
58893
58894 XLA_AE_LINES_PKG.ValidateCurrentLine;
58895 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
58896
58897 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
58898 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
58899 ,p_balance_type_code => l_balance_type_code);
58900
58901 END IF;
58902
58903 -----------------------------------------------------------------------------------------
58904 -- 4262811 Multiperiod Accounting
58905 -----------------------------------------------------------------------------------------
58906 -- No MPA option is assigned.
58907
58908
58909 END IF;
58910 END IF;
58911 --
58912
58913 --
58914 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
58915 trace
58916 (p_msg => 'END of AcctLineType_92'
58917 ,p_level => C_LEVEL_PROCEDURE
58918 ,p_module => l_log_module);
58919 END IF;
58920 --
58921 EXCEPTION
58922 WHEN xla_exceptions_pkg.application_exception THEN
58923 RAISE;
58924 WHEN OTHERS THEN
58925 xla_exceptions_pkg.raise_message
58926 (p_location => 'XLA_00200_AAD_S_000006_BC_PKG.AcctLineType_92');
58927 END AcctLineType_92;
58928 --
58929
58930 ---------------------------------------
58931 --
58932 -- PRIVATE FUNCTION
58933 -- AcctLineType_93
58934 --
58935 ---------------------------------------
58936 PROCEDURE AcctLineType_93 (
58937 p_application_id IN NUMBER
58938 ,p_event_id IN NUMBER
58942 ,p_balance_type_code OUT VARCHAR2
58939 ,p_calculate_acctd_flag IN VARCHAR2
58940 ,p_calculate_g_l_flag IN VARCHAR2
58941 ,p_actual_flag IN OUT VARCHAR2
58943 ,p_gain_or_loss_ref OUT VARCHAR2
58944
58945 --Document Distribution Type
58946 , p_source_2 IN VARCHAR2
58947 --Project Name
58948 , p_source_3 IN VARCHAR2
58949 --Task Number
58950 , p_source_4 IN VARCHAR2
58951 --Expenditure Organization
58952 , p_source_5 IN NUMBER
58953 --Distribution Link Type
58954 , p_source_21 IN VARCHAR2
58955 --Invoice Distribution Identifier
58956 , p_source_30 IN NUMBER
58957 --Invoice Currency Code
58958 , p_source_33 IN VARCHAR2
58959 --Invoice Distribution Amount
58960 , p_source_57 IN NUMBER
58961 --Document Type
58962 , p_source_83 IN VARCHAR2
58963 --Accounting reversal indicator for project invoice burden
58964 , p_source_85 IN VARCHAR2
58965 --Allocated to Application Identifier
58966 , p_source_86 IN NUMBER
58967 --Allocated to Distribution Type
58968 , p_source_87 IN VARCHAR2
58969 --Allocated to Entity Code
58970 , p_source_88 IN VARCHAR2
58971 --Allocated to First Distribution Identifier
58972 , p_source_89 IN NUMBER
58973 --Allocated to First System Transaction Identifier
58974 , p_source_90 IN NUMBER
58975 --Invoice Distribution Expenditure Type
58976 , p_source_96 IN VARCHAR2
58977 --Encumbrance Upgrade Credit Accounting Class
58978 , p_source_97 IN VARCHAR2
58979 --Encumbrance Upgrade Credit Account
58980 , p_source_98 IN NUMBER
58981 --Invoice Distribution Ledger Amount Before Rounding
58982 , p_source_99 IN NUMBER
58983 --Encumbrance Upgrade Debit Accounting Class
58984 , p_source_100 IN VARCHAR2
58985 --Encumbrance Upgrade Debit Account
58986 , p_source_101 IN NUMBER
58987 --Use Encumbrances Upgrade Attributes Flag
58988 , p_source_102 IN VARCHAR2
58989 --Accounting reversal first distribution identifier for project invoice burden
58990 , p_source_103 IN NUMBER
58991 --Invoice Burden Applied to Second Distribution Identifier
58992 , p_source_104 IN VARCHAR2
58993 --Accounting reversal distribution type for project invoice burden
58994 , p_source_105 IN VARCHAR2
58995 --Encumbrance Upgrade Credit Encumbrance Type
58996 , p_source_106 IN NUMBER
58997 --Encumbrance Upgrade Debit Encumbrance Type
58998 , p_source_107 IN NUMBER
58999 --Project Encumbrance Applied to Application Identifier
59000 , p_source_109 IN NUMBER
59001 --Project Encumbrance Applied to Distribution Type
59002 , p_source_110 IN VARCHAR2
59003 --Project Encumbrance Applied to Entity Code
59004 , p_source_111 IN VARCHAR2
59005 --Project Encumbrance First Distribution Identifier
59006 , p_source_112 IN NUMBER
59007 --Project Encumbrance First System Transaction Identifier
59008 , p_source_113 IN NUMBER
59009 --Project Encumbrance Second Distribution Identifier
59010 , p_source_114 IN VARCHAR2
59011 )
59012 IS
59013
59014 l_component_type VARCHAR2(80);
59015 l_component_code VARCHAR2(30);
59016 l_component_type_code VARCHAR2(1);
59017 l_component_appl_id INTEGER;
59018 l_amb_context_code VARCHAR2(30);
59019 l_entity_code VARCHAR2(30);
59020 l_event_class_code VARCHAR2(30);
59021 l_ae_header_id NUMBER;
59022 l_event_type_code VARCHAR2(30);
59023 l_line_definition_code VARCHAR2(30);
59024 l_line_definition_owner_code VARCHAR2(1);
59025 --
59026 -- adr variables
59027 l_segment VARCHAR2(30);
59028 l_ccid NUMBER;
59029 l_adr_transaction_coa_id NUMBER;
59030 l_adr_accounting_coa_id NUMBER;
59031 l_adr_flexfield_segment_code VARCHAR2(30);
59032 l_adr_flex_value_set_id NUMBER;
59033 l_adr_value_type_code VARCHAR2(30);
59034 l_adr_value_combination_id NUMBER;
59035 l_adr_value_segment_code VARCHAR2(30);
59036
59037 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
59038 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
59039 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
59040 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
59041
59042 -- 4262811 Variables ------------------------------------------------------------------------------------------
59043 l_entered_amt_idx NUMBER;
59044 l_accted_amt_idx NUMBER;
59045 l_acc_rev_flag VARCHAR2(1);
59046 l_accrual_line_num NUMBER;
59047 l_tmp_amt NUMBER;
59048 l_acc_rev_natural_side_code VARCHAR2(1);
59049
59050 l_num_entries NUMBER;
59051 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
59052 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
59053 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
59054 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
59055 l_recog_line_1 NUMBER;
59056 l_recog_line_2 NUMBER;
59057
59058 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
59062 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
59059 l_bflow_applied_to_amt NUMBER; -- 5132302
59060 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
59061
59063
59064 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
59065 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
59066
59067 ---------------------------------------------------------------------------------------------------------------
59068
59069
59070 --
59071 -- bulk performance
59072 --
59073 l_balance_type_code VARCHAR2(1);
59074 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
59075 l_log_module VARCHAR2(240);
59076
59077 --
59078 -- Upgrade strategy
59079 --
59080 l_actual_upg_option VARCHAR2(1);
59081 l_enc_upg_option VARCHAR2(1);
59082
59083 --
59084 BEGIN
59085 --
59086 IF g_log_enabled THEN
59087 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_93';
59088 END IF;
59089 --
59090 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
59091
59092 trace
59093 (p_msg => 'BEGIN of AcctLineType_93'
59094 ,p_level => C_LEVEL_PROCEDURE
59095 ,p_module => l_log_module);
59096
59097 END IF;
59098 --
59099 l_component_type := 'AMB_JLT';
59100 l_component_code := 'RELIEVE_PROJ_ENC';
59101 l_component_type_code := 'S';
59102 l_component_appl_id := 200;
59103 l_amb_context_code := 'DEFAULT';
59104 l_entity_code := 'AP_INVOICES';
59105 l_event_class_code := 'INVOICE_BURDEN';
59106 l_event_type_code := 'INVOICE_BURDEN_ALL';
59107 l_line_definition_owner_code := 'S';
59108 l_line_definition_code := 'AP_INV_BURDEN_ENC_ALL';
59109 --
59110 l_balance_type_code := 'E';
59111 l_segment := NULL;
59112 l_ccid := NULL;
59113 l_adr_transaction_coa_id := NULL;
59114 l_adr_accounting_coa_id := NULL;
59115 l_adr_flexfield_segment_code := NULL;
59116 l_adr_flex_value_set_id := NULL;
59117 l_adr_value_type_code := NULL;
59118 l_adr_value_combination_id := NULL;
59119 l_adr_value_segment_code := NULL;
59120
59121 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
59122 l_bflow_class_code := 'PA_BUDGET_ENC'; -- 4219869 Business Flow
59123 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
59124 l_budgetary_control_flag := 'Y';
59125
59126 l_bflow_applied_to_amt_idx := NULL; -- 5132302
59127 l_bflow_applied_to_amt := NULL; -- 5132302
59128 l_entered_amt_idx := NULL; -- 4262811
59129 l_accted_amt_idx := NULL; -- 4262811
59130 l_acc_rev_flag := NULL; -- 4262811
59131 l_accrual_line_num := NULL; -- 4262811
59132 l_tmp_amt := NULL; -- 4262811
59133 --
59134
59135 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
59136 l_balance_type_code <> 'B' THEN
59137 IF NVL(p_source_83,'
59138 ') = 'AP'
59139 THEN
59140
59141 --
59142 XLA_AE_LINES_PKG.SetNewLine;
59143
59144 p_balance_type_code := l_balance_type_code;
59145 -- set the flag so later we will know whether the gain loss line needs to be created
59146
59147 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
59148 p_actual_flag :='A';
59149 END IF;
59150
59151 --
59152 -- bulk performance
59153 --
59154 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
59155 p_header_num => 0); -- 4262811
59156 --
59157 -- set accounting line options
59158 --
59159 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
59160 p_natural_side_code => 'C'
59161 , p_gain_or_loss_flag => 'N'
59162 , p_gl_transfer_mode_code => 'S'
59163 , p_acct_entry_type_code => 'E'
59164 , p_switch_side_flag => 'Y'
59165 , p_merge_duplicate_code => 'N'
59166 );
59167 --
59168 l_acc_rev_natural_side_code := 'D'; -- 4262811
59169 --
59170 --
59171 -- set accounting line type info
59172 --
59173 xla_ae_lines_pkg.SetAcctLineType
59174 (p_component_type => l_component_type
59175 ,p_event_type_code => l_event_type_code
59176 ,p_line_definition_owner_code => l_line_definition_owner_code
59177 ,p_line_definition_code => l_line_definition_code
59178 ,p_accounting_line_code => l_component_code
59179 ,p_accounting_line_type_code => l_component_type_code
59180 ,p_accounting_line_appl_id => l_component_appl_id
59181 ,p_amb_context_code => l_amb_context_code
59182 ,p_entity_code => l_entity_code
59183 ,p_event_class_code => l_event_class_code);
59184 --
59185 -- set accounting class
59186 --
59187 xla_ae_lines_pkg.SetAcctClass(
59188 p_accounting_class_code => 'PA_BUDGET_ENC'
59189 , p_ae_header_id => l_ae_header_id
59190 );
59194 --
59191
59192 --
59193 -- set rounding class
59195 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
59196 'PA_BUDGET_ENC';
59197
59198 --
59199 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
59200 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
59201 --
59202 -- bulk performance
59203 --
59204 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
59205
59206 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
59207 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
59208
59209 -- 4955764
59210 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
59211 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
59212
59213 -- 4458381 Public Sector Enh
59214
59215 --
59216 -- set accounting attributes for the line type
59217 --
59218 l_entered_amt_idx := 27;
59219 l_accted_amt_idx := 29;
59220 l_bflow_applied_to_amt_idx := NULL; -- 5132302
59221 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
59222 l_rec_acct_attrs.array_char_value(1) := p_source_85;
59223 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
59224 l_rec_acct_attrs.array_num_value(2) := p_source_86;
59225 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
59226 l_rec_acct_attrs.array_char_value(3) := p_source_87;
59227 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
59228 l_rec_acct_attrs.array_char_value(4) := p_source_88;
59229 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
59230 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_89);
59231 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
59232 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_90);
59233 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
59234 l_rec_acct_attrs.array_num_value(7) := p_source_109;
59235 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
59236 l_rec_acct_attrs.array_char_value(8) := p_source_110;
59237 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
59238 l_rec_acct_attrs.array_char_value(9) := p_source_111;
59239 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
59240 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_112);
59241 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
59242 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_113);
59243 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_SECOND_DIST_ID';
59244 l_rec_acct_attrs.array_char_value(12) := p_source_114;
59245 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
59246 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_30);
59247 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_IDENTIFIER_2';
59248 l_rec_acct_attrs.array_char_value(14) := p_source_96;
59249 l_rec_acct_attrs.array_acct_attr_code(15) := 'DISTRIBUTION_TYPE';
59250 l_rec_acct_attrs.array_char_value(15) := p_source_21;
59251 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ACCT_CLASS';
59252 l_rec_acct_attrs.array_char_value(16) := p_source_97;
59253 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_CCID';
59254 l_rec_acct_attrs.array_num_value(17) := p_source_98;
59255 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_ENTERED_AMT';
59256 l_rec_acct_attrs.array_num_value(18) := p_source_57;
59257 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_CR_ENTERED_CURR';
59258 l_rec_acct_attrs.array_char_value(19) := p_source_33;
59259 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_CR_LEDGER_AMT';
59260 l_rec_acct_attrs.array_num_value(20) := p_source_99;
59261 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ACCT_CLASS';
59262 l_rec_acct_attrs.array_char_value(21) := p_source_100;
59263 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_CCID';
59264 l_rec_acct_attrs.array_num_value(22) := p_source_101;
59265 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_DR_ENTERED_AMT';
59266 l_rec_acct_attrs.array_num_value(23) := p_source_57;
59267 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENC_UPG_DR_ENTERED_CURR';
59268 l_rec_acct_attrs.array_char_value(24) := p_source_33;
59269 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENC_UPG_DR_LEDGER_AMT';
59270 l_rec_acct_attrs.array_num_value(25) := p_source_99;
59271 l_rec_acct_attrs.array_acct_attr_code(26) := 'ENC_UPG_OPTION';
59272 l_rec_acct_attrs.array_char_value(26) := p_source_102;
59273 l_rec_acct_attrs.array_acct_attr_code(27) := 'ENTERED_CURRENCY_AMOUNT';
59274 l_rec_acct_attrs.array_num_value(27) := p_source_57;
59275 l_rec_acct_attrs.array_acct_attr_code(28) := 'ENTERED_CURRENCY_CODE';
59276 l_rec_acct_attrs.array_char_value(28) := p_source_33;
59277 l_rec_acct_attrs.array_acct_attr_code(29) := 'LEDGER_AMOUNT';
59278 l_rec_acct_attrs.array_num_value(29) := p_source_99;
59279 l_rec_acct_attrs.array_acct_attr_code(30) := 'REVERSED_DISTRIBUTION_ID1';
59280 l_rec_acct_attrs.array_num_value(30) := to_char(p_source_103);
59281 l_rec_acct_attrs.array_acct_attr_code(31) := 'REVERSED_DISTRIBUTION_ID2';
59282 l_rec_acct_attrs.array_char_value(31) := p_source_104;
59283 l_rec_acct_attrs.array_acct_attr_code(32) := 'REVERSED_DISTRIBUTION_TYPE';
59287 l_rec_acct_attrs.array_acct_attr_code(34) := 'UPG_DR_ENC_TYPE_ID';
59284 l_rec_acct_attrs.array_char_value(32) := p_source_105;
59285 l_rec_acct_attrs.array_acct_attr_code(33) := 'UPG_CR_ENC_TYPE_ID';
59286 l_rec_acct_attrs.array_num_value(33) := p_source_106;
59288 l_rec_acct_attrs.array_num_value(34) := p_source_107;
59289
59290 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
59291 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
59292
59293 ---------------------------------------------------------------------------------------------------------------
59294 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
59295 ---------------------------------------------------------------------------------------------------------------
59296 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
59297
59298 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
59299 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
59300
59301 IF xla_accounting_cache_pkg.GetValueChar
59302 (p_source_code => 'LEDGER_CATEGORY_CODE'
59303 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
59304 AND l_bflow_method_code = 'PRIOR_ENTRY'
59305 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
59306 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
59307 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
59308 )
59309 THEN
59310 xla_ae_lines_pkg.BflowUpgEntry
59311 (p_business_method_code => l_bflow_method_code
59312 ,p_business_class_code => l_bflow_class_code
59313 ,p_balance_type => l_balance_type_code);
59314 ELSE
59315 NULL;
59316 XLA_AE_LINES_PKG.business_flow_validation(
59317 p_business_method_code => l_bflow_method_code
59318 ,p_business_class_code => l_bflow_class_code
59319 ,p_inherit_description_flag => l_inherit_desc_flag);
59320 END IF;
59321
59322 --
59323 -- call analytical criteria
59324 --
59325 -- Inherited Analytical Criteria for business flow method of Prior Entry.
59326 --
59327 -- call description
59328 --
59329
59330 xla_ae_lines_pkg.SetLineDescription(
59331 p_ae_header_id => l_ae_header_id
59332 ,p_description => Description_3 (
59333 p_application_id => p_application_id
59334 , p_ae_header_id => l_ae_header_id
59335 , p_source_2 => p_source_2
59336 , p_source_3 => p_source_3
59337 , p_source_4 => p_source_4
59338 , p_source_5 => p_source_5
59339 )
59340 );
59341
59342
59343 --
59344 -- call ADRs
59345 -- Bug 4922099
59346 --
59347 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
59348 (NVL(l_actual_upg_option, 'N') = 'O') OR
59349 (NVL(l_enc_upg_option, 'N') = 'O')
59350 )
59351 THEN
59352 NULL;
59353 --
59354 --
59355
59356 --
59357 --
59358 END IF;
59359 --
59360 -- Bug 4922099
59361 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
59362 (NVL(l_enc_upg_option, 'N') = 'O')
59363 ) AND
59364 (l_bflow_method_code = 'PRIOR_ENTRY')
59365 )
59366 THEN
59367 IF
59368 --
59369 1 = 1
59370 --
59371 THEN
59372 xla_accounting_err_pkg.build_message
59373 (p_appli_s_name => 'XLA'
59374 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
59375 ,p_token_1 => 'LINE_NUMBER'
59376 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
59377 ,p_token_2 => 'LINE_TYPE_NAME'
59378 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
59379 l_component_type
59380 ,l_component_code
59381 ,l_component_type_code
59382 ,l_component_appl_id
59383 ,l_amb_context_code
59384 ,l_entity_code
59385 ,l_event_class_code
59386 )
59387 ,p_token_3 => 'OWNER'
59388 ,p_value_3 => xla_lookups_pkg.get_meaning(
59389 p_lookup_type => 'XLA_OWNER_TYPE'
59390 ,p_lookup_code => l_component_type_code
59391 )
59392 ,p_token_4 => 'PRODUCT_NAME'
59396 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
59393 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
59394 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
59395 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
59397 ,p_ae_header_id => NULL
59398 );
59399
59400 IF (C_LEVEL_ERROR>= g_log_level) THEN
59401 trace
59402 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
59403 ,p_level => C_LEVEL_ERROR
59404 ,p_module => l_log_module);
59405 END IF;
59406 END IF;
59407 END IF;
59408 --
59409 --
59410 ------------------------------------------------------------------------------------------------
59411 -- 4219869 Business Flow
59412 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
59413 -- Prior Entry. Currently, the following code is always generated.
59414 ------------------------------------------------------------------------------------------------
59415 -- No ValidateCurrentLine for business flow method of Prior Entry
59416
59417 ------------------------------------------------------------------------------------
59418 -- 4219869 Business Flow
59419 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
59420 ------------------------------------------------------------------------------------
59421 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
59422
59423 ----------------------------------------------------------------------------------
59424 -- 4219869 Business Flow
59425 -- Update journal entry status -- Need to generate this within IF <condition>
59426 ----------------------------------------------------------------------------------
59427 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
59428 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
59429 ,p_balance_type_code => l_balance_type_code
59430 );
59431
59432 -------------------------------------------------------------------------------------------
59433 -- 4262811 - Generate the Accrual Reversal lines
59434 -------------------------------------------------------------------------------------------
59435 BEGIN
59436 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
59437 (g_array_event(p_event_id).array_value_num('header_index'));
59438 IF l_acc_rev_flag IS NULL THEN
59439 l_acc_rev_flag := 'N';
59440 END IF;
59441 EXCEPTION
59442 WHEN OTHERS THEN
59443 l_acc_rev_flag := 'N';
59444 END;
59445 --
59446 IF (l_acc_rev_flag = 'Y') THEN
59447
59448 -- 4645092 ------------------------------------------------------------------------------
59449 -- To allow MPA report to determine if it should generate report process
59450 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
59451 ------------------------------------------------------------------------------------------
59452
59453 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
59454 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
59455 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
59456 -- call ADRs
59457 -- Bug 4922099
59458 --
59459 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
59460 (NVL(l_actual_upg_option, 'N') = 'O') OR
59461 (NVL(l_enc_upg_option, 'N') = 'O')
59462 )
59463 THEN
59464 NULL;
59465 --
59466 --
59467
59468 --
59469 --
59470 END IF;
59471
59472 --
59473 -- Update the line information that should be overwritten
59474 --
59475 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
59476 p_header_num => 1);
59477 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
59478
59479 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
59480
59481 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
59482 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
59483 END IF;
59484
59485 --
59486 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
59487 --
59488 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
59489 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
59490 ELSE
59491 ---------------------------------------------------------------------------------------------------
59492 -- 4262811a Switch Sign
59493 ---------------------------------------------------------------------------------------------------
59494 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
59495 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
59496 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
59500 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
59497 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
59498 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
59499 -- 5132302
59501 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
59502
59503 END IF;
59504
59505 -- 4955764
59506 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
59507 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
59508
59509
59510 XLA_AE_LINES_PKG.ValidateCurrentLine;
59511 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
59512
59513 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
59514 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
59515 ,p_balance_type_code => l_balance_type_code);
59516
59517 END IF;
59518
59519 -----------------------------------------------------------------------------------------
59520 -- 4262811 Multiperiod Accounting
59521 -----------------------------------------------------------------------------------------
59522 -- No MPA option is assigned.
59523
59524
59525 END IF;
59526 END IF;
59527 --
59528
59529 --
59530 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
59531 trace
59532 (p_msg => 'END of AcctLineType_93'
59533 ,p_level => C_LEVEL_PROCEDURE
59534 ,p_module => l_log_module);
59535 END IF;
59536 --
59537 EXCEPTION
59538 WHEN xla_exceptions_pkg.application_exception THEN
59539 RAISE;
59540 WHEN OTHERS THEN
59541 xla_exceptions_pkg.raise_message
59542 (p_location => 'XLA_00200_AAD_S_000006_BC_PKG.AcctLineType_93');
59543 END AcctLineType_93;
59544 --
59545
59546 ---------------------------------------
59547 --
59548 -- PRIVATE FUNCTION
59549 -- AcctLineType_94
59550 --
59551 ---------------------------------------
59552 PROCEDURE AcctLineType_94 (
59553 p_application_id IN NUMBER
59554 ,p_event_id IN NUMBER
59555 ,p_calculate_acctd_flag IN VARCHAR2
59556 ,p_calculate_g_l_flag IN VARCHAR2
59557 ,p_actual_flag IN OUT VARCHAR2
59558 ,p_balance_type_code OUT VARCHAR2
59559 ,p_gain_or_loss_ref OUT VARCHAR2
59560
59561 --Document Distribution Type
59562 , p_source_2 IN VARCHAR2
59563 --Project Name
59564 , p_source_3 IN VARCHAR2
59565 --Task Number
59566 , p_source_4 IN VARCHAR2
59567 --Expenditure Organization
59568 , p_source_5 IN NUMBER
59569 --Distribution Link Type
59570 , p_source_21 IN VARCHAR2
59571 --Invoice Distribution Identifier
59572 , p_source_30 IN NUMBER
59573 --Invoice Currency Code
59574 , p_source_33 IN VARCHAR2
59575 --Invoice Distribution Amount
59576 , p_source_57 IN NUMBER
59577 --Document Type
59578 , p_source_83 IN VARCHAR2
59579 --Accounting reversal indicator for project invoice burden
59580 , p_source_85 IN VARCHAR2
59581 --Allocated to Application Identifier
59582 , p_source_86 IN NUMBER
59583 --Allocated to Distribution Type
59584 , p_source_87 IN VARCHAR2
59585 --Allocated to Entity Code
59586 , p_source_88 IN VARCHAR2
59587 --Allocated to First Distribution Identifier
59588 , p_source_89 IN NUMBER
59589 --Allocated to First System Transaction Identifier
59590 , p_source_90 IN NUMBER
59591 --Invoice Distribution Expenditure Type
59592 , p_source_96 IN VARCHAR2
59593 --Encumbrance Upgrade Credit Accounting Class
59594 , p_source_97 IN VARCHAR2
59595 --Encumbrance Upgrade Credit Account
59596 , p_source_98 IN NUMBER
59597 --Invoice Distribution Ledger Amount Before Rounding
59598 , p_source_99 IN NUMBER
59599 --Encumbrance Upgrade Debit Accounting Class
59600 , p_source_100 IN VARCHAR2
59601 --Encumbrance Upgrade Debit Account
59602 , p_source_101 IN NUMBER
59603 --Use Encumbrances Upgrade Attributes Flag
59604 , p_source_102 IN VARCHAR2
59605 --Accounting reversal first distribution identifier for project invoice burden
59606 , p_source_103 IN NUMBER
59607 --Invoice Burden Applied to Second Distribution Identifier
59608 , p_source_104 IN VARCHAR2
59609 --Accounting reversal distribution type for project invoice burden
59610 , p_source_105 IN VARCHAR2
59611 --Encumbrance Upgrade Credit Encumbrance Type
59612 , p_source_106 IN NUMBER
59613 --Encumbrance Upgrade Debit Encumbrance Type
59614 , p_source_107 IN NUMBER
59615 --Project Encumbrance Applied to Application Identifier
59616 , p_source_109 IN NUMBER
59617 --Project Encumbrance Applied to Distribution Type
59618 , p_source_110 IN VARCHAR2
59619 --Project Encumbrance Applied to Entity Code
59620 , p_source_111 IN VARCHAR2
59621 --Project Encumbrance First Distribution Identifier
59622 , p_source_112 IN NUMBER
59623 --Project Encumbrance First System Transaction Identifier
59624 , p_source_113 IN NUMBER
59625 --Project Encumbrance Second Distribution Identifier
59629
59626 , p_source_114 IN VARCHAR2
59627 )
59628 IS
59630 l_component_type VARCHAR2(80);
59631 l_component_code VARCHAR2(30);
59632 l_component_type_code VARCHAR2(1);
59633 l_component_appl_id INTEGER;
59634 l_amb_context_code VARCHAR2(30);
59635 l_entity_code VARCHAR2(30);
59636 l_event_class_code VARCHAR2(30);
59637 l_ae_header_id NUMBER;
59638 l_event_type_code VARCHAR2(30);
59639 l_line_definition_code VARCHAR2(30);
59640 l_line_definition_owner_code VARCHAR2(1);
59641 --
59642 -- adr variables
59643 l_segment VARCHAR2(30);
59644 l_ccid NUMBER;
59645 l_adr_transaction_coa_id NUMBER;
59646 l_adr_accounting_coa_id NUMBER;
59647 l_adr_flexfield_segment_code VARCHAR2(30);
59648 l_adr_flex_value_set_id NUMBER;
59649 l_adr_value_type_code VARCHAR2(30);
59650 l_adr_value_combination_id NUMBER;
59651 l_adr_value_segment_code VARCHAR2(30);
59652
59653 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
59654 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
59655 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
59656 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
59657
59658 -- 4262811 Variables ------------------------------------------------------------------------------------------
59659 l_entered_amt_idx NUMBER;
59660 l_accted_amt_idx NUMBER;
59661 l_acc_rev_flag VARCHAR2(1);
59662 l_accrual_line_num NUMBER;
59663 l_tmp_amt NUMBER;
59664 l_acc_rev_natural_side_code VARCHAR2(1);
59665
59666 l_num_entries NUMBER;
59667 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
59668 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
59669 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
59670 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
59671 l_recog_line_1 NUMBER;
59672 l_recog_line_2 NUMBER;
59673
59674 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
59675 l_bflow_applied_to_amt NUMBER; -- 5132302
59676 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
59677
59678 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
59679
59680 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
59681 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
59682
59683 ---------------------------------------------------------------------------------------------------------------
59684
59685
59686 --
59687 -- bulk performance
59688 --
59689 l_balance_type_code VARCHAR2(1);
59690 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
59691 l_log_module VARCHAR2(240);
59692
59693 --
59694 -- Upgrade strategy
59695 --
59696 l_actual_upg_option VARCHAR2(1);
59697 l_enc_upg_option VARCHAR2(1);
59698
59699 --
59700 BEGIN
59701 --
59702 IF g_log_enabled THEN
59703 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_94';
59704 END IF;
59705 --
59706 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
59707
59708 trace
59709 (p_msg => 'BEGIN of AcctLineType_94'
59710 ,p_level => C_LEVEL_PROCEDURE
59711 ,p_module => l_log_module);
59712
59713 END IF;
59714 --
59715 l_component_type := 'AMB_JLT';
59716 l_component_code := 'RELIEVE_PROJ_ENC';
59717 l_component_type_code := 'S';
59718 l_component_appl_id := 200;
59719 l_amb_context_code := 'DEFAULT';
59720 l_entity_code := 'AP_INVOICES';
59721 l_event_class_code := 'PREPAYMENT_BURDEN';
59722 l_event_type_code := 'PREPAYMENT_BURDEN_ALL';
59723 l_line_definition_owner_code := 'S';
59724 l_line_definition_code := 'AP_PREPAY_BURDEN_ENC_ALL';
59725 --
59726 l_balance_type_code := 'E';
59727 l_segment := NULL;
59728 l_ccid := NULL;
59729 l_adr_transaction_coa_id := NULL;
59730 l_adr_accounting_coa_id := NULL;
59731 l_adr_flexfield_segment_code := NULL;
59732 l_adr_flex_value_set_id := NULL;
59733 l_adr_value_type_code := NULL;
59734 l_adr_value_combination_id := NULL;
59735 l_adr_value_segment_code := NULL;
59736
59737 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
59738 l_bflow_class_code := 'PA_BUDGET_ENC'; -- 4219869 Business Flow
59739 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
59740 l_budgetary_control_flag := 'Y';
59741
59742 l_bflow_applied_to_amt_idx := NULL; -- 5132302
59743 l_bflow_applied_to_amt := NULL; -- 5132302
59744 l_entered_amt_idx := NULL; -- 4262811
59745 l_accted_amt_idx := NULL; -- 4262811
59746 l_acc_rev_flag := NULL; -- 4262811
59747 l_accrual_line_num := NULL; -- 4262811
59748 l_tmp_amt := NULL; -- 4262811
59749 --
59750
59754 ') = 'AP'
59751 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
59752 l_balance_type_code <> 'B' THEN
59753 IF NVL(p_source_83,'
59755 THEN
59756
59757 --
59758 XLA_AE_LINES_PKG.SetNewLine;
59759
59760 p_balance_type_code := l_balance_type_code;
59761 -- set the flag so later we will know whether the gain loss line needs to be created
59762
59763 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
59764 p_actual_flag :='A';
59765 END IF;
59766
59767 --
59768 -- bulk performance
59769 --
59770 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
59771 p_header_num => 0); -- 4262811
59772 --
59773 -- set accounting line options
59774 --
59775 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
59776 p_natural_side_code => 'C'
59777 , p_gain_or_loss_flag => 'N'
59778 , p_gl_transfer_mode_code => 'S'
59779 , p_acct_entry_type_code => 'E'
59780 , p_switch_side_flag => 'Y'
59781 , p_merge_duplicate_code => 'N'
59782 );
59783 --
59784 l_acc_rev_natural_side_code := 'D'; -- 4262811
59785 --
59786 --
59787 -- set accounting line type info
59788 --
59789 xla_ae_lines_pkg.SetAcctLineType
59790 (p_component_type => l_component_type
59791 ,p_event_type_code => l_event_type_code
59792 ,p_line_definition_owner_code => l_line_definition_owner_code
59793 ,p_line_definition_code => l_line_definition_code
59794 ,p_accounting_line_code => l_component_code
59795 ,p_accounting_line_type_code => l_component_type_code
59796 ,p_accounting_line_appl_id => l_component_appl_id
59797 ,p_amb_context_code => l_amb_context_code
59798 ,p_entity_code => l_entity_code
59799 ,p_event_class_code => l_event_class_code);
59800 --
59801 -- set accounting class
59802 --
59803 xla_ae_lines_pkg.SetAcctClass(
59804 p_accounting_class_code => 'PA_BUDGET_ENC'
59805 , p_ae_header_id => l_ae_header_id
59806 );
59807
59808 --
59809 -- set rounding class
59810 --
59811 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
59812 'PA_BUDGET_ENC';
59813
59814 --
59815 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
59816 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
59817 --
59818 -- bulk performance
59819 --
59820 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
59821
59822 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
59823 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
59824
59825 -- 4955764
59826 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
59827 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
59828
59829 -- 4458381 Public Sector Enh
59830
59831 --
59832 -- set accounting attributes for the line type
59833 --
59834 l_entered_amt_idx := 27;
59835 l_accted_amt_idx := 29;
59836 l_bflow_applied_to_amt_idx := NULL; -- 5132302
59837 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
59838 l_rec_acct_attrs.array_char_value(1) := p_source_85;
59839 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
59840 l_rec_acct_attrs.array_num_value(2) := p_source_86;
59841 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
59842 l_rec_acct_attrs.array_char_value(3) := p_source_87;
59843 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
59844 l_rec_acct_attrs.array_char_value(4) := p_source_88;
59845 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
59846 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_89);
59847 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
59848 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_90);
59849 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
59850 l_rec_acct_attrs.array_num_value(7) := p_source_109;
59851 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
59852 l_rec_acct_attrs.array_char_value(8) := p_source_110;
59853 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
59854 l_rec_acct_attrs.array_char_value(9) := p_source_111;
59855 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
59856 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_112);
59857 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
59858 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_113);
59859 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_SECOND_DIST_ID';
59860 l_rec_acct_attrs.array_char_value(12) := p_source_114;
59861 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
59862 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_30);
59866 l_rec_acct_attrs.array_char_value(15) := p_source_21;
59863 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_IDENTIFIER_2';
59864 l_rec_acct_attrs.array_char_value(14) := p_source_96;
59865 l_rec_acct_attrs.array_acct_attr_code(15) := 'DISTRIBUTION_TYPE';
59867 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ACCT_CLASS';
59868 l_rec_acct_attrs.array_char_value(16) := p_source_97;
59869 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_CCID';
59870 l_rec_acct_attrs.array_num_value(17) := p_source_98;
59871 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_ENTERED_AMT';
59872 l_rec_acct_attrs.array_num_value(18) := p_source_57;
59873 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_CR_ENTERED_CURR';
59874 l_rec_acct_attrs.array_char_value(19) := p_source_33;
59875 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_CR_LEDGER_AMT';
59876 l_rec_acct_attrs.array_num_value(20) := p_source_99;
59877 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ACCT_CLASS';
59878 l_rec_acct_attrs.array_char_value(21) := p_source_100;
59879 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_CCID';
59880 l_rec_acct_attrs.array_num_value(22) := p_source_101;
59881 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_DR_ENTERED_AMT';
59882 l_rec_acct_attrs.array_num_value(23) := p_source_57;
59883 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENC_UPG_DR_ENTERED_CURR';
59884 l_rec_acct_attrs.array_char_value(24) := p_source_33;
59885 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENC_UPG_DR_LEDGER_AMT';
59886 l_rec_acct_attrs.array_num_value(25) := p_source_99;
59887 l_rec_acct_attrs.array_acct_attr_code(26) := 'ENC_UPG_OPTION';
59888 l_rec_acct_attrs.array_char_value(26) := p_source_102;
59889 l_rec_acct_attrs.array_acct_attr_code(27) := 'ENTERED_CURRENCY_AMOUNT';
59890 l_rec_acct_attrs.array_num_value(27) := p_source_57;
59891 l_rec_acct_attrs.array_acct_attr_code(28) := 'ENTERED_CURRENCY_CODE';
59892 l_rec_acct_attrs.array_char_value(28) := p_source_33;
59893 l_rec_acct_attrs.array_acct_attr_code(29) := 'LEDGER_AMOUNT';
59894 l_rec_acct_attrs.array_num_value(29) := p_source_99;
59895 l_rec_acct_attrs.array_acct_attr_code(30) := 'REVERSED_DISTRIBUTION_ID1';
59896 l_rec_acct_attrs.array_num_value(30) := to_char(p_source_103);
59897 l_rec_acct_attrs.array_acct_attr_code(31) := 'REVERSED_DISTRIBUTION_ID2';
59898 l_rec_acct_attrs.array_char_value(31) := p_source_104;
59899 l_rec_acct_attrs.array_acct_attr_code(32) := 'REVERSED_DISTRIBUTION_TYPE';
59900 l_rec_acct_attrs.array_char_value(32) := p_source_105;
59901 l_rec_acct_attrs.array_acct_attr_code(33) := 'UPG_CR_ENC_TYPE_ID';
59902 l_rec_acct_attrs.array_num_value(33) := p_source_106;
59903 l_rec_acct_attrs.array_acct_attr_code(34) := 'UPG_DR_ENC_TYPE_ID';
59904 l_rec_acct_attrs.array_num_value(34) := p_source_107;
59905
59906 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
59907 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
59908
59909 ---------------------------------------------------------------------------------------------------------------
59910 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
59911 ---------------------------------------------------------------------------------------------------------------
59912 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
59913
59914 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
59915 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
59916
59917 IF xla_accounting_cache_pkg.GetValueChar
59918 (p_source_code => 'LEDGER_CATEGORY_CODE'
59919 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
59920 AND l_bflow_method_code = 'PRIOR_ENTRY'
59921 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
59922 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
59923 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
59924 )
59925 THEN
59926 xla_ae_lines_pkg.BflowUpgEntry
59927 (p_business_method_code => l_bflow_method_code
59928 ,p_business_class_code => l_bflow_class_code
59929 ,p_balance_type => l_balance_type_code);
59930 ELSE
59931 NULL;
59932 XLA_AE_LINES_PKG.business_flow_validation(
59933 p_business_method_code => l_bflow_method_code
59934 ,p_business_class_code => l_bflow_class_code
59935 ,p_inherit_description_flag => l_inherit_desc_flag);
59936 END IF;
59937
59938 --
59939 -- call analytical criteria
59940 --
59941 -- Inherited Analytical Criteria for business flow method of Prior Entry.
59942 --
59943 -- call description
59944 --
59945
59946 xla_ae_lines_pkg.SetLineDescription(
59947 p_ae_header_id => l_ae_header_id
59948 ,p_description => Description_3 (
59949 p_application_id => p_application_id
59950 , p_ae_header_id => l_ae_header_id
59951 , p_source_2 => p_source_2
59952 , p_source_3 => p_source_3
59953 , p_source_4 => p_source_4
59954 , p_source_5 => p_source_5
59955 )
59956 );
59957
59958
59959 --
59960 -- call ADRs
59961 -- Bug 4922099
59962 --
59963 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
59964 (NVL(l_actual_upg_option, 'N') = 'O') OR
59968 NULL;
59965 (NVL(l_enc_upg_option, 'N') = 'O')
59966 )
59967 THEN
59969 --
59970 --
59971
59972 --
59973 --
59974 END IF;
59975 --
59976 -- Bug 4922099
59977 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
59978 (NVL(l_enc_upg_option, 'N') = 'O')
59979 ) AND
59980 (l_bflow_method_code = 'PRIOR_ENTRY')
59981 )
59982 THEN
59983 IF
59984 --
59985 1 = 1
59986 --
59987 THEN
59988 xla_accounting_err_pkg.build_message
59989 (p_appli_s_name => 'XLA'
59990 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
59991 ,p_token_1 => 'LINE_NUMBER'
59992 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
59993 ,p_token_2 => 'LINE_TYPE_NAME'
59994 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
59995 l_component_type
59996 ,l_component_code
59997 ,l_component_type_code
59998 ,l_component_appl_id
59999 ,l_amb_context_code
60000 ,l_entity_code
60001 ,l_event_class_code
60002 )
60003 ,p_token_3 => 'OWNER'
60004 ,p_value_3 => xla_lookups_pkg.get_meaning(
60005 p_lookup_type => 'XLA_OWNER_TYPE'
60006 ,p_lookup_code => l_component_type_code
60007 )
60008 ,p_token_4 => 'PRODUCT_NAME'
60009 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
60010 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
60011 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
60012 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
60013 ,p_ae_header_id => NULL
60014 );
60015
60016 IF (C_LEVEL_ERROR>= g_log_level) THEN
60017 trace
60018 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
60019 ,p_level => C_LEVEL_ERROR
60020 ,p_module => l_log_module);
60021 END IF;
60022 END IF;
60023 END IF;
60024 --
60025 --
60026 ------------------------------------------------------------------------------------------------
60027 -- 4219869 Business Flow
60028 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
60029 -- Prior Entry. Currently, the following code is always generated.
60030 ------------------------------------------------------------------------------------------------
60031 -- No ValidateCurrentLine for business flow method of Prior Entry
60032
60033 ------------------------------------------------------------------------------------
60034 -- 4219869 Business Flow
60035 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
60036 ------------------------------------------------------------------------------------
60037 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
60038
60039 ----------------------------------------------------------------------------------
60040 -- 4219869 Business Flow
60041 -- Update journal entry status -- Need to generate this within IF <condition>
60042 ----------------------------------------------------------------------------------
60043 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
60044 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
60045 ,p_balance_type_code => l_balance_type_code
60046 );
60047
60048 -------------------------------------------------------------------------------------------
60049 -- 4262811 - Generate the Accrual Reversal lines
60050 -------------------------------------------------------------------------------------------
60051 BEGIN
60052 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
60053 (g_array_event(p_event_id).array_value_num('header_index'));
60054 IF l_acc_rev_flag IS NULL THEN
60055 l_acc_rev_flag := 'N';
60056 END IF;
60057 EXCEPTION
60058 WHEN OTHERS THEN
60059 l_acc_rev_flag := 'N';
60060 END;
60061 --
60062 IF (l_acc_rev_flag = 'Y') THEN
60063
60064 -- 4645092 ------------------------------------------------------------------------------
60068
60065 -- To allow MPA report to determine if it should generate report process
60066 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
60067 ------------------------------------------------------------------------------------------
60069 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
60070 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
60071 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
60072 -- call ADRs
60073 -- Bug 4922099
60074 --
60075 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
60076 (NVL(l_actual_upg_option, 'N') = 'O') OR
60077 (NVL(l_enc_upg_option, 'N') = 'O')
60078 )
60079 THEN
60080 NULL;
60081 --
60082 --
60083
60084 --
60085 --
60086 END IF;
60087
60088 --
60089 -- Update the line information that should be overwritten
60090 --
60091 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
60092 p_header_num => 1);
60093 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
60094
60095 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
60096
60097 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
60098 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
60099 END IF;
60100
60101 --
60102 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
60103 --
60104 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
60105 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
60106 ELSE
60107 ---------------------------------------------------------------------------------------------------
60108 -- 4262811a Switch Sign
60109 ---------------------------------------------------------------------------------------------------
60110 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
60111 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
60112 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
60113 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
60114 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
60115 -- 5132302
60116 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
60117 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
60118
60119 END IF;
60120
60121 -- 4955764
60122 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
60123 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
60124
60125
60126 XLA_AE_LINES_PKG.ValidateCurrentLine;
60127 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
60128
60129 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
60130 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
60131 ,p_balance_type_code => l_balance_type_code);
60132
60133 END IF;
60134
60135 -----------------------------------------------------------------------------------------
60136 -- 4262811 Multiperiod Accounting
60137 -----------------------------------------------------------------------------------------
60138 -- No MPA option is assigned.
60139
60140
60141 END IF;
60142 END IF;
60143 --
60144
60145 --
60146 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
60147 trace
60148 (p_msg => 'END of AcctLineType_94'
60149 ,p_level => C_LEVEL_PROCEDURE
60150 ,p_module => l_log_module);
60151 END IF;
60152 --
60153 EXCEPTION
60154 WHEN xla_exceptions_pkg.application_exception THEN
60155 RAISE;
60156 WHEN OTHERS THEN
60157 xla_exceptions_pkg.raise_message
60158 (p_location => 'XLA_00200_AAD_S_000006_BC_PKG.AcctLineType_94');
60159 END AcctLineType_94;
60160 --
60161
60162 ---------------------------------------
60163 --
60164 -- PRIVATE FUNCTION
60165 -- AcctLineType_95
60166 --
60167 ---------------------------------------
60168 PROCEDURE AcctLineType_95 (
60169 p_application_id IN NUMBER
60170 ,p_event_id IN NUMBER
60171 ,p_calculate_acctd_flag IN VARCHAR2
60172 ,p_calculate_g_l_flag IN VARCHAR2
60173 ,p_actual_flag IN OUT VARCHAR2
60174 ,p_balance_type_code OUT VARCHAR2
60175 ,p_gain_or_loss_ref OUT VARCHAR2
60176
60177 --Document Distribution Type
60178 , p_source_2 IN VARCHAR2
60179 --Project Name
60180 , p_source_3 IN VARCHAR2
60181 --Task Number
60182 , p_source_4 IN VARCHAR2
60183 --Expenditure Organization
60184 , p_source_5 IN NUMBER
60185 --Distribution Link Type
60186 , p_source_21 IN VARCHAR2
60187 --Invoice Distribution Identifier
60188 , p_source_30 IN NUMBER
60189 --Invoice Currency Code
60190 , p_source_33 IN VARCHAR2
60191 --Invoice Distribution Amount
60192 , p_source_57 IN NUMBER
60196 , p_source_85 IN VARCHAR2
60193 --Document Type
60194 , p_source_83 IN VARCHAR2
60195 --Accounting reversal indicator for project invoice burden
60197 --Allocated to Application Identifier
60198 , p_source_86 IN NUMBER
60199 --Allocated to Distribution Type
60200 , p_source_87 IN VARCHAR2
60201 --Allocated to Entity Code
60202 , p_source_88 IN VARCHAR2
60203 --Allocated to First Distribution Identifier
60204 , p_source_89 IN NUMBER
60205 --Allocated to First System Transaction Identifier
60206 , p_source_90 IN NUMBER
60207 --Invoice Distribution Expenditure Type
60208 , p_source_96 IN VARCHAR2
60209 --Encumbrance Upgrade Credit Accounting Class
60210 , p_source_97 IN VARCHAR2
60211 --Encumbrance Upgrade Credit Account
60212 , p_source_98 IN NUMBER
60213 --Invoice Distribution Ledger Amount Before Rounding
60214 , p_source_99 IN NUMBER
60215 --Encumbrance Upgrade Debit Accounting Class
60216 , p_source_100 IN VARCHAR2
60217 --Encumbrance Upgrade Debit Account
60218 , p_source_101 IN NUMBER
60219 --Use Encumbrances Upgrade Attributes Flag
60220 , p_source_102 IN VARCHAR2
60221 --Accounting reversal first distribution identifier for project invoice burden
60222 , p_source_103 IN NUMBER
60223 --Invoice Burden Applied to Second Distribution Identifier
60224 , p_source_104 IN VARCHAR2
60225 --Accounting reversal distribution type for project invoice burden
60226 , p_source_105 IN VARCHAR2
60227 --Encumbrance Upgrade Credit Encumbrance Type
60228 , p_source_106 IN NUMBER
60229 --Encumbrance Upgrade Debit Encumbrance Type
60230 , p_source_107 IN NUMBER
60231 --Project Encumbrance Applied to Application Identifier
60232 , p_source_109 IN NUMBER
60233 --Project Encumbrance Applied to Distribution Type
60234 , p_source_110 IN VARCHAR2
60235 --Project Encumbrance Applied to Entity Code
60236 , p_source_111 IN VARCHAR2
60237 --Project Encumbrance First Distribution Identifier
60238 , p_source_112 IN NUMBER
60239 --Project Encumbrance First System Transaction Identifier
60240 , p_source_113 IN NUMBER
60241 --Project Encumbrance Second Distribution Identifier
60242 , p_source_114 IN VARCHAR2
60243 )
60244 IS
60245
60246 l_component_type VARCHAR2(80);
60247 l_component_code VARCHAR2(30);
60248 l_component_type_code VARCHAR2(1);
60249 l_component_appl_id INTEGER;
60250 l_amb_context_code VARCHAR2(30);
60251 l_entity_code VARCHAR2(30);
60252 l_event_class_code VARCHAR2(30);
60253 l_ae_header_id NUMBER;
60254 l_event_type_code VARCHAR2(30);
60255 l_line_definition_code VARCHAR2(30);
60256 l_line_definition_owner_code VARCHAR2(1);
60257 --
60258 -- adr variables
60259 l_segment VARCHAR2(30);
60260 l_ccid NUMBER;
60261 l_adr_transaction_coa_id NUMBER;
60262 l_adr_accounting_coa_id NUMBER;
60263 l_adr_flexfield_segment_code VARCHAR2(30);
60264 l_adr_flex_value_set_id NUMBER;
60265 l_adr_value_type_code VARCHAR2(30);
60266 l_adr_value_combination_id NUMBER;
60267 l_adr_value_segment_code VARCHAR2(30);
60268
60269 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
60270 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
60271 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
60272 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
60273
60274 -- 4262811 Variables ------------------------------------------------------------------------------------------
60275 l_entered_amt_idx NUMBER;
60276 l_accted_amt_idx NUMBER;
60277 l_acc_rev_flag VARCHAR2(1);
60278 l_accrual_line_num NUMBER;
60279 l_tmp_amt NUMBER;
60280 l_acc_rev_natural_side_code VARCHAR2(1);
60281
60282 l_num_entries NUMBER;
60283 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
60284 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
60285 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
60286 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
60287 l_recog_line_1 NUMBER;
60288 l_recog_line_2 NUMBER;
60289
60290 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
60291 l_bflow_applied_to_amt NUMBER; -- 5132302
60292 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
60293
60294 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
60295
60296 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
60297 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
60298
60299 ---------------------------------------------------------------------------------------------------------------
60300
60301
60302 --
60303 -- bulk performance
60304 --
60305 l_balance_type_code VARCHAR2(1);
60306 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
60307 l_log_module VARCHAR2(240);
60308
60309 --
60310 -- Upgrade strategy
60311 --
60315 --
60312 l_actual_upg_option VARCHAR2(1);
60313 l_enc_upg_option VARCHAR2(1);
60314
60316 BEGIN
60317 --
60318 IF g_log_enabled THEN
60319 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_95';
60320 END IF;
60321 --
60322 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
60323
60324 trace
60325 (p_msg => 'BEGIN of AcctLineType_95'
60326 ,p_level => C_LEVEL_PROCEDURE
60327 ,p_module => l_log_module);
60328
60329 END IF;
60330 --
60331 l_component_type := 'AMB_JLT';
60332 l_component_code := 'RELIEVE_PROJ_ENC';
60333 l_component_type_code := 'S';
60334 l_component_appl_id := 200;
60335 l_amb_context_code := 'DEFAULT';
60336 l_entity_code := 'AP_INVOICES';
60337 l_event_class_code := 'PREPAY_APPLICATION_BURDEN';
60338 l_event_type_code := 'PREPAY_APPLICATION_BURDEN_ALL';
60339 l_line_definition_owner_code := 'S';
60340 l_line_definition_code := 'AP_PREPAY_APPLY_BURDEN_ENC_ALL';
60341 --
60342 l_balance_type_code := 'E';
60343 l_segment := NULL;
60344 l_ccid := NULL;
60345 l_adr_transaction_coa_id := NULL;
60346 l_adr_accounting_coa_id := NULL;
60347 l_adr_flexfield_segment_code := NULL;
60348 l_adr_flex_value_set_id := NULL;
60349 l_adr_value_type_code := NULL;
60350 l_adr_value_combination_id := NULL;
60351 l_adr_value_segment_code := NULL;
60352
60353 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
60354 l_bflow_class_code := 'PA_BUDGET_ENC'; -- 4219869 Business Flow
60355 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
60356 l_budgetary_control_flag := 'Y';
60357
60358 l_bflow_applied_to_amt_idx := NULL; -- 5132302
60359 l_bflow_applied_to_amt := NULL; -- 5132302
60360 l_entered_amt_idx := NULL; -- 4262811
60361 l_accted_amt_idx := NULL; -- 4262811
60362 l_acc_rev_flag := NULL; -- 4262811
60363 l_accrual_line_num := NULL; -- 4262811
60364 l_tmp_amt := NULL; -- 4262811
60365 --
60366
60367 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
60368 l_balance_type_code <> 'B' THEN
60369 IF NVL(p_source_83,'
60370 ') = 'PO'
60371 THEN
60372
60373 --
60374 XLA_AE_LINES_PKG.SetNewLine;
60375
60376 p_balance_type_code := l_balance_type_code;
60377 -- set the flag so later we will know whether the gain loss line needs to be created
60378
60379 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
60380 p_actual_flag :='A';
60381 END IF;
60382
60383 --
60384 -- bulk performance
60385 --
60386 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
60387 p_header_num => 0); -- 4262811
60388 --
60389 -- set accounting line options
60390 --
60391 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
60392 p_natural_side_code => 'C'
60393 , p_gain_or_loss_flag => 'N'
60394 , p_gl_transfer_mode_code => 'S'
60395 , p_acct_entry_type_code => 'E'
60396 , p_switch_side_flag => 'Y'
60397 , p_merge_duplicate_code => 'N'
60398 );
60399 --
60400 l_acc_rev_natural_side_code := 'D'; -- 4262811
60401 --
60402 --
60403 -- set accounting line type info
60404 --
60405 xla_ae_lines_pkg.SetAcctLineType
60406 (p_component_type => l_component_type
60407 ,p_event_type_code => l_event_type_code
60408 ,p_line_definition_owner_code => l_line_definition_owner_code
60409 ,p_line_definition_code => l_line_definition_code
60410 ,p_accounting_line_code => l_component_code
60411 ,p_accounting_line_type_code => l_component_type_code
60412 ,p_accounting_line_appl_id => l_component_appl_id
60413 ,p_amb_context_code => l_amb_context_code
60414 ,p_entity_code => l_entity_code
60415 ,p_event_class_code => l_event_class_code);
60416 --
60417 -- set accounting class
60418 --
60419 xla_ae_lines_pkg.SetAcctClass(
60420 p_accounting_class_code => 'PA_BUDGET_ENC'
60421 , p_ae_header_id => l_ae_header_id
60422 );
60423
60424 --
60425 -- set rounding class
60426 --
60427 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
60428 'PA_BUDGET_ENC';
60429
60430 --
60431 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
60432 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
60433 --
60434 -- bulk performance
60435 --
60436 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
60437
60438 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
60439 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
60440
60441 -- 4955764
60445 -- 4458381 Public Sector Enh
60442 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
60443 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
60444
60446
60447 --
60448 -- set accounting attributes for the line type
60449 --
60450 l_entered_amt_idx := 27;
60451 l_accted_amt_idx := 29;
60452 l_bflow_applied_to_amt_idx := NULL; -- 5132302
60453 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
60454 l_rec_acct_attrs.array_char_value(1) := p_source_85;
60455 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
60456 l_rec_acct_attrs.array_num_value(2) := p_source_86;
60457 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
60458 l_rec_acct_attrs.array_char_value(3) := p_source_87;
60459 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
60460 l_rec_acct_attrs.array_char_value(4) := p_source_88;
60461 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
60462 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_89);
60463 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
60464 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_90);
60465 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
60466 l_rec_acct_attrs.array_num_value(7) := p_source_109;
60467 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
60468 l_rec_acct_attrs.array_char_value(8) := p_source_110;
60469 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
60470 l_rec_acct_attrs.array_char_value(9) := p_source_111;
60471 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
60472 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_112);
60473 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
60474 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_113);
60475 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_SECOND_DIST_ID';
60476 l_rec_acct_attrs.array_char_value(12) := p_source_114;
60477 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
60478 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_30);
60479 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_IDENTIFIER_2';
60480 l_rec_acct_attrs.array_char_value(14) := p_source_96;
60481 l_rec_acct_attrs.array_acct_attr_code(15) := 'DISTRIBUTION_TYPE';
60482 l_rec_acct_attrs.array_char_value(15) := p_source_21;
60483 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ACCT_CLASS';
60484 l_rec_acct_attrs.array_char_value(16) := p_source_97;
60485 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_CCID';
60486 l_rec_acct_attrs.array_num_value(17) := p_source_98;
60487 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_ENTERED_AMT';
60488 l_rec_acct_attrs.array_num_value(18) := p_source_57;
60489 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_CR_ENTERED_CURR';
60490 l_rec_acct_attrs.array_char_value(19) := p_source_33;
60491 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_CR_LEDGER_AMT';
60492 l_rec_acct_attrs.array_num_value(20) := p_source_99;
60493 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ACCT_CLASS';
60494 l_rec_acct_attrs.array_char_value(21) := p_source_100;
60495 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_CCID';
60496 l_rec_acct_attrs.array_num_value(22) := p_source_101;
60497 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_DR_ENTERED_AMT';
60498 l_rec_acct_attrs.array_num_value(23) := p_source_57;
60499 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENC_UPG_DR_ENTERED_CURR';
60500 l_rec_acct_attrs.array_char_value(24) := p_source_33;
60501 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENC_UPG_DR_LEDGER_AMT';
60502 l_rec_acct_attrs.array_num_value(25) := p_source_99;
60503 l_rec_acct_attrs.array_acct_attr_code(26) := 'ENC_UPG_OPTION';
60504 l_rec_acct_attrs.array_char_value(26) := p_source_102;
60505 l_rec_acct_attrs.array_acct_attr_code(27) := 'ENTERED_CURRENCY_AMOUNT';
60506 l_rec_acct_attrs.array_num_value(27) := p_source_57;
60507 l_rec_acct_attrs.array_acct_attr_code(28) := 'ENTERED_CURRENCY_CODE';
60508 l_rec_acct_attrs.array_char_value(28) := p_source_33;
60509 l_rec_acct_attrs.array_acct_attr_code(29) := 'LEDGER_AMOUNT';
60510 l_rec_acct_attrs.array_num_value(29) := p_source_99;
60511 l_rec_acct_attrs.array_acct_attr_code(30) := 'REVERSED_DISTRIBUTION_ID1';
60512 l_rec_acct_attrs.array_num_value(30) := to_char(p_source_103);
60513 l_rec_acct_attrs.array_acct_attr_code(31) := 'REVERSED_DISTRIBUTION_ID2';
60514 l_rec_acct_attrs.array_char_value(31) := p_source_104;
60515 l_rec_acct_attrs.array_acct_attr_code(32) := 'REVERSED_DISTRIBUTION_TYPE';
60516 l_rec_acct_attrs.array_char_value(32) := p_source_105;
60517 l_rec_acct_attrs.array_acct_attr_code(33) := 'UPG_CR_ENC_TYPE_ID';
60518 l_rec_acct_attrs.array_num_value(33) := p_source_106;
60519 l_rec_acct_attrs.array_acct_attr_code(34) := 'UPG_DR_ENC_TYPE_ID';
60520 l_rec_acct_attrs.array_num_value(34) := p_source_107;
60521
60522 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
60523 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
60524
60525 ---------------------------------------------------------------------------------------------------------------
60526 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
60530 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
60527 ---------------------------------------------------------------------------------------------------------------
60528 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
60529
60531 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
60532
60533 IF xla_accounting_cache_pkg.GetValueChar
60534 (p_source_code => 'LEDGER_CATEGORY_CODE'
60535 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
60536 AND l_bflow_method_code = 'PRIOR_ENTRY'
60537 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
60538 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
60539 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
60540 )
60541 THEN
60542 xla_ae_lines_pkg.BflowUpgEntry
60543 (p_business_method_code => l_bflow_method_code
60544 ,p_business_class_code => l_bflow_class_code
60545 ,p_balance_type => l_balance_type_code);
60546 ELSE
60547 NULL;
60548 XLA_AE_LINES_PKG.business_flow_validation(
60549 p_business_method_code => l_bflow_method_code
60550 ,p_business_class_code => l_bflow_class_code
60551 ,p_inherit_description_flag => l_inherit_desc_flag);
60552 END IF;
60553
60554 --
60555 -- call analytical criteria
60556 --
60557 -- Inherited Analytical Criteria for business flow method of Prior Entry.
60558 --
60559 -- call description
60560 --
60561
60562 xla_ae_lines_pkg.SetLineDescription(
60563 p_ae_header_id => l_ae_header_id
60564 ,p_description => Description_3 (
60565 p_application_id => p_application_id
60566 , p_ae_header_id => l_ae_header_id
60567 , p_source_2 => p_source_2
60568 , p_source_3 => p_source_3
60569 , p_source_4 => p_source_4
60570 , p_source_5 => p_source_5
60571 )
60572 );
60573
60574
60575 --
60576 -- call ADRs
60577 -- Bug 4922099
60578 --
60579 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
60580 (NVL(l_actual_upg_option, 'N') = 'O') OR
60581 (NVL(l_enc_upg_option, 'N') = 'O')
60582 )
60583 THEN
60584 NULL;
60585 --
60586 --
60587
60588 --
60589 --
60590 END IF;
60591 --
60592 -- Bug 4922099
60593 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
60594 (NVL(l_enc_upg_option, 'N') = 'O')
60595 ) AND
60596 (l_bflow_method_code = 'PRIOR_ENTRY')
60597 )
60598 THEN
60599 IF
60600 --
60601 1 = 1
60602 --
60603 THEN
60604 xla_accounting_err_pkg.build_message
60605 (p_appli_s_name => 'XLA'
60606 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
60607 ,p_token_1 => 'LINE_NUMBER'
60608 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
60609 ,p_token_2 => 'LINE_TYPE_NAME'
60610 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
60611 l_component_type
60612 ,l_component_code
60613 ,l_component_type_code
60614 ,l_component_appl_id
60615 ,l_amb_context_code
60616 ,l_entity_code
60617 ,l_event_class_code
60618 )
60619 ,p_token_3 => 'OWNER'
60620 ,p_value_3 => xla_lookups_pkg.get_meaning(
60621 p_lookup_type => 'XLA_OWNER_TYPE'
60622 ,p_lookup_code => l_component_type_code
60623 )
60624 ,p_token_4 => 'PRODUCT_NAME'
60625 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
60626 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
60627 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
60628 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
60629 ,p_ae_header_id => NULL
60630 );
60631
60632 IF (C_LEVEL_ERROR>= g_log_level) THEN
60633 trace
60634 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
60635 ,p_level => C_LEVEL_ERROR
60639 END IF;
60636 ,p_module => l_log_module);
60637 END IF;
60638 END IF;
60640 --
60641 --
60642 ------------------------------------------------------------------------------------------------
60643 -- 4219869 Business Flow
60644 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
60645 -- Prior Entry. Currently, the following code is always generated.
60646 ------------------------------------------------------------------------------------------------
60647 -- No ValidateCurrentLine for business flow method of Prior Entry
60648
60649 ------------------------------------------------------------------------------------
60650 -- 4219869 Business Flow
60651 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
60652 ------------------------------------------------------------------------------------
60653 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
60654
60655 ----------------------------------------------------------------------------------
60656 -- 4219869 Business Flow
60657 -- Update journal entry status -- Need to generate this within IF <condition>
60658 ----------------------------------------------------------------------------------
60659 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
60660 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
60661 ,p_balance_type_code => l_balance_type_code
60662 );
60663
60664 -------------------------------------------------------------------------------------------
60665 -- 4262811 - Generate the Accrual Reversal lines
60666 -------------------------------------------------------------------------------------------
60667 BEGIN
60668 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
60669 (g_array_event(p_event_id).array_value_num('header_index'));
60670 IF l_acc_rev_flag IS NULL THEN
60671 l_acc_rev_flag := 'N';
60672 END IF;
60673 EXCEPTION
60674 WHEN OTHERS THEN
60675 l_acc_rev_flag := 'N';
60676 END;
60677 --
60678 IF (l_acc_rev_flag = 'Y') THEN
60679
60680 -- 4645092 ------------------------------------------------------------------------------
60681 -- To allow MPA report to determine if it should generate report process
60682 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
60683 ------------------------------------------------------------------------------------------
60684
60685 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
60686 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
60687 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
60688 -- call ADRs
60689 -- Bug 4922099
60690 --
60691 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
60692 (NVL(l_actual_upg_option, 'N') = 'O') OR
60693 (NVL(l_enc_upg_option, 'N') = 'O')
60694 )
60695 THEN
60696 NULL;
60697 --
60698 --
60699
60700 --
60701 --
60702 END IF;
60703
60704 --
60705 -- Update the line information that should be overwritten
60706 --
60707 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
60708 p_header_num => 1);
60709 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
60710
60711 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
60712
60713 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
60714 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
60715 END IF;
60716
60717 --
60718 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
60719 --
60720 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
60721 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
60722 ELSE
60723 ---------------------------------------------------------------------------------------------------
60724 -- 4262811a Switch Sign
60725 ---------------------------------------------------------------------------------------------------
60726 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
60727 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
60728 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
60729 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
60730 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
60731 -- 5132302
60732 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
60733 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
60734
60735 END IF;
60736
60737 -- 4955764
60738 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
60739 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
60740
60741
60742 XLA_AE_LINES_PKG.ValidateCurrentLine;
60746 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
60743 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
60744
60745 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
60747 ,p_balance_type_code => l_balance_type_code);
60748
60749 END IF;
60750
60751 -----------------------------------------------------------------------------------------
60752 -- 4262811 Multiperiod Accounting
60753 -----------------------------------------------------------------------------------------
60754 -- No MPA option is assigned.
60755
60756
60757 END IF;
60758 END IF;
60759 --
60760
60761 --
60762 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
60763 trace
60764 (p_msg => 'END of AcctLineType_95'
60765 ,p_level => C_LEVEL_PROCEDURE
60766 ,p_module => l_log_module);
60767 END IF;
60768 --
60769 EXCEPTION
60770 WHEN xla_exceptions_pkg.application_exception THEN
60771 RAISE;
60772 WHEN OTHERS THEN
60773 xla_exceptions_pkg.raise_message
60774 (p_location => 'XLA_00200_AAD_S_000006_BC_PKG.AcctLineType_95');
60775 END AcctLineType_95;
60776 --
60777
60778 ---------------------------------------
60779 --
60780 -- PRIVATE FUNCTION
60781 -- AcctLineType_96
60782 --
60783 ---------------------------------------
60784 PROCEDURE AcctLineType_96 (
60785 p_application_id IN NUMBER
60786 ,p_event_id IN NUMBER
60787 ,p_calculate_acctd_flag IN VARCHAR2
60788 ,p_calculate_g_l_flag IN VARCHAR2
60789 ,p_actual_flag IN OUT VARCHAR2
60790 ,p_balance_type_code OUT VARCHAR2
60791 ,p_gain_or_loss_ref OUT VARCHAR2
60792
60793 --Document Distribution Type
60794 , p_source_2 IN VARCHAR2
60795 --Project Name
60796 , p_source_3 IN VARCHAR2
60797 --Task Number
60798 , p_source_4 IN VARCHAR2
60799 --Expenditure Organization
60800 , p_source_5 IN NUMBER
60801 --Distribution Link Type
60802 , p_source_21 IN VARCHAR2
60803 --Invoice Distribution Identifier
60804 , p_source_30 IN NUMBER
60805 --Invoice Currency Code
60806 , p_source_33 IN VARCHAR2
60807 --Invoice Distribution Amount
60808 , p_source_57 IN NUMBER
60809 --Document Type
60810 , p_source_83 IN VARCHAR2
60811 --Accounting reversal indicator for project invoice burden
60812 , p_source_85 IN VARCHAR2
60813 --Allocated to Application Identifier
60814 , p_source_86 IN NUMBER
60815 --Allocated to Distribution Type
60816 , p_source_87 IN VARCHAR2
60817 --Allocated to Entity Code
60818 , p_source_88 IN VARCHAR2
60819 --Allocated to First Distribution Identifier
60820 , p_source_89 IN NUMBER
60821 --Allocated to First System Transaction Identifier
60822 , p_source_90 IN NUMBER
60823 --Invoice Distribution Expenditure Type
60824 , p_source_96 IN VARCHAR2
60825 --Encumbrance Upgrade Credit Accounting Class
60826 , p_source_97 IN VARCHAR2
60827 --Encumbrance Upgrade Credit Account
60828 , p_source_98 IN NUMBER
60829 --Invoice Distribution Ledger Amount Before Rounding
60830 , p_source_99 IN NUMBER
60831 --Encumbrance Upgrade Debit Accounting Class
60832 , p_source_100 IN VARCHAR2
60833 --Encumbrance Upgrade Debit Account
60834 , p_source_101 IN NUMBER
60835 --Use Encumbrances Upgrade Attributes Flag
60836 , p_source_102 IN VARCHAR2
60837 --Accounting reversal first distribution identifier for project invoice burden
60838 , p_source_103 IN NUMBER
60839 --Invoice Burden Applied to Second Distribution Identifier
60840 , p_source_104 IN VARCHAR2
60841 --Accounting reversal distribution type for project invoice burden
60842 , p_source_105 IN VARCHAR2
60843 --Encumbrance Upgrade Credit Encumbrance Type
60844 , p_source_106 IN NUMBER
60845 --Encumbrance Upgrade Debit Encumbrance Type
60846 , p_source_107 IN NUMBER
60847 --Project Encumbrance Applied to Application Identifier
60848 , p_source_109 IN NUMBER
60849 --Project Encumbrance Applied to Distribution Type
60850 , p_source_110 IN VARCHAR2
60851 --Project Encumbrance Applied to Entity Code
60852 , p_source_111 IN VARCHAR2
60853 --Project Encumbrance First Distribution Identifier
60854 , p_source_112 IN NUMBER
60855 --Project Encumbrance First System Transaction Identifier
60856 , p_source_113 IN NUMBER
60857 --Project Encumbrance Second Distribution Identifier
60858 , p_source_114 IN VARCHAR2
60859 )
60860 IS
60861
60862 l_component_type VARCHAR2(80);
60863 l_component_code VARCHAR2(30);
60864 l_component_type_code VARCHAR2(1);
60865 l_component_appl_id INTEGER;
60866 l_amb_context_code VARCHAR2(30);
60867 l_entity_code VARCHAR2(30);
60868 l_event_class_code VARCHAR2(30);
60869 l_ae_header_id NUMBER;
60870 l_event_type_code VARCHAR2(30);
60871 l_line_definition_code VARCHAR2(30);
60872 l_line_definition_owner_code VARCHAR2(1);
60873 --
60874 -- adr variables
60875 l_segment VARCHAR2(30);
60876 l_ccid NUMBER;
60877 l_adr_transaction_coa_id NUMBER;
60878 l_adr_accounting_coa_id NUMBER;
60879 l_adr_flexfield_segment_code VARCHAR2(30);
60883 l_adr_value_segment_code VARCHAR2(30);
60880 l_adr_flex_value_set_id NUMBER;
60881 l_adr_value_type_code VARCHAR2(30);
60882 l_adr_value_combination_id NUMBER;
60884
60885 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
60886 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
60887 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
60888 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
60889
60890 -- 4262811 Variables ------------------------------------------------------------------------------------------
60891 l_entered_amt_idx NUMBER;
60892 l_accted_amt_idx NUMBER;
60893 l_acc_rev_flag VARCHAR2(1);
60894 l_accrual_line_num NUMBER;
60895 l_tmp_amt NUMBER;
60896 l_acc_rev_natural_side_code VARCHAR2(1);
60897
60898 l_num_entries NUMBER;
60899 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
60900 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
60901 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
60902 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
60903 l_recog_line_1 NUMBER;
60904 l_recog_line_2 NUMBER;
60905
60906 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
60907 l_bflow_applied_to_amt NUMBER; -- 5132302
60908 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
60909
60910 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
60911
60912 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
60913 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
60914
60915 ---------------------------------------------------------------------------------------------------------------
60916
60917
60918 --
60919 -- bulk performance
60920 --
60921 l_balance_type_code VARCHAR2(1);
60922 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
60923 l_log_module VARCHAR2(240);
60924
60925 --
60926 -- Upgrade strategy
60927 --
60928 l_actual_upg_option VARCHAR2(1);
60929 l_enc_upg_option VARCHAR2(1);
60930
60931 --
60932 BEGIN
60933 --
60934 IF g_log_enabled THEN
60935 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_96';
60936 END IF;
60937 --
60938 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
60939
60940 trace
60941 (p_msg => 'BEGIN of AcctLineType_96'
60942 ,p_level => C_LEVEL_PROCEDURE
60943 ,p_module => l_log_module);
60944
60945 END IF;
60946 --
60947 l_component_type := 'AMB_JLT';
60948 l_component_code := 'RESERVE_PROJ_ENC';
60949 l_component_type_code := 'S';
60950 l_component_appl_id := 200;
60951 l_amb_context_code := 'DEFAULT';
60952 l_entity_code := 'AP_INVOICES';
60953 l_event_class_code := 'INVOICE_BURDEN';
60954 l_event_type_code := 'INVOICE_BURDEN_ALL';
60955 l_line_definition_owner_code := 'S';
60956 l_line_definition_code := 'AP_INV_BURDEN_ENC_ALL';
60957 --
60958 l_balance_type_code := 'E';
60959 l_segment := NULL;
60960 l_ccid := NULL;
60961 l_adr_transaction_coa_id := NULL;
60962 l_adr_accounting_coa_id := NULL;
60963 l_adr_flexfield_segment_code := NULL;
60964 l_adr_flex_value_set_id := NULL;
60965 l_adr_value_type_code := NULL;
60966 l_adr_value_combination_id := NULL;
60967 l_adr_value_segment_code := NULL;
60968
60969 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
60970 l_bflow_class_code := 'PA_BUDGET_ENC'; -- 4219869 Business Flow
60971 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
60972 l_budgetary_control_flag := 'Y';
60973
60974 l_bflow_applied_to_amt_idx := NULL; -- 5132302
60975 l_bflow_applied_to_amt := NULL; -- 5132302
60976 l_entered_amt_idx := NULL; -- 4262811
60977 l_accted_amt_idx := NULL; -- 4262811
60978 l_acc_rev_flag := NULL; -- 4262811
60979 l_accrual_line_num := NULL; -- 4262811
60980 l_tmp_amt := NULL; -- 4262811
60981 --
60982
60983 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
60984 l_balance_type_code <> 'B' THEN
60985 IF NVL(p_source_83,'
60986 ') = 'PO'
60987 THEN
60988
60989 --
60990 XLA_AE_LINES_PKG.SetNewLine;
60991
60992 p_balance_type_code := l_balance_type_code;
60993 -- set the flag so later we will know whether the gain loss line needs to be created
60994
60995 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
60996 p_actual_flag :='A';
60997 END IF;
60998
60999 --
61000 -- bulk performance
61001 --
61002 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
61003 p_header_num => 0); -- 4262811
61004 --
61005 -- set accounting line options
61006 --
61007 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
61011 , p_acct_entry_type_code => 'E'
61008 p_natural_side_code => 'D'
61009 , p_gain_or_loss_flag => 'N'
61010 , p_gl_transfer_mode_code => 'S'
61012 , p_switch_side_flag => 'Y'
61013 , p_merge_duplicate_code => 'N'
61014 );
61015 --
61016 l_acc_rev_natural_side_code := 'C'; -- 4262811
61017 --
61018 --
61019 -- set accounting line type info
61020 --
61021 xla_ae_lines_pkg.SetAcctLineType
61022 (p_component_type => l_component_type
61023 ,p_event_type_code => l_event_type_code
61024 ,p_line_definition_owner_code => l_line_definition_owner_code
61025 ,p_line_definition_code => l_line_definition_code
61026 ,p_accounting_line_code => l_component_code
61027 ,p_accounting_line_type_code => l_component_type_code
61028 ,p_accounting_line_appl_id => l_component_appl_id
61029 ,p_amb_context_code => l_amb_context_code
61030 ,p_entity_code => l_entity_code
61031 ,p_event_class_code => l_event_class_code);
61032 --
61033 -- set accounting class
61034 --
61035 xla_ae_lines_pkg.SetAcctClass(
61036 p_accounting_class_code => 'PA_BUDGET_ENC'
61037 , p_ae_header_id => l_ae_header_id
61038 );
61039
61040 --
61041 -- set rounding class
61042 --
61043 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
61044 'PA_BUDGET_ENC';
61045
61046 --
61047 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
61048 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
61049 --
61050 -- bulk performance
61051 --
61052 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
61053
61054 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
61055 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
61056
61057 -- 4955764
61058 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
61059 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
61060
61061 -- 4458381 Public Sector Enh
61062
61063 --
61064 -- set accounting attributes for the line type
61065 --
61066 l_entered_amt_idx := 27;
61067 l_accted_amt_idx := 29;
61068 l_bflow_applied_to_amt_idx := NULL; -- 5132302
61069 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
61070 l_rec_acct_attrs.array_char_value(1) := p_source_85;
61071 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
61072 l_rec_acct_attrs.array_num_value(2) := p_source_86;
61073 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
61074 l_rec_acct_attrs.array_char_value(3) := p_source_87;
61075 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
61076 l_rec_acct_attrs.array_char_value(4) := p_source_88;
61077 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
61078 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_89);
61079 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
61080 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_90);
61081 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
61082 l_rec_acct_attrs.array_num_value(7) := p_source_109;
61083 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
61084 l_rec_acct_attrs.array_char_value(8) := p_source_110;
61085 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
61086 l_rec_acct_attrs.array_char_value(9) := p_source_111;
61087 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
61088 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_112);
61089 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
61090 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_113);
61091 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_SECOND_DIST_ID';
61092 l_rec_acct_attrs.array_char_value(12) := p_source_114;
61093 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
61094 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_30);
61095 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_IDENTIFIER_2';
61096 l_rec_acct_attrs.array_char_value(14) := p_source_96;
61097 l_rec_acct_attrs.array_acct_attr_code(15) := 'DISTRIBUTION_TYPE';
61098 l_rec_acct_attrs.array_char_value(15) := p_source_21;
61099 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ACCT_CLASS';
61100 l_rec_acct_attrs.array_char_value(16) := p_source_97;
61101 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_CCID';
61102 l_rec_acct_attrs.array_num_value(17) := p_source_98;
61103 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_ENTERED_AMT';
61104 l_rec_acct_attrs.array_num_value(18) := p_source_57;
61105 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_CR_ENTERED_CURR';
61106 l_rec_acct_attrs.array_char_value(19) := p_source_33;
61107 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_CR_LEDGER_AMT';
61108 l_rec_acct_attrs.array_num_value(20) := p_source_99;
61109 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ACCT_CLASS';
61113 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_DR_ENTERED_AMT';
61110 l_rec_acct_attrs.array_char_value(21) := p_source_100;
61111 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_CCID';
61112 l_rec_acct_attrs.array_num_value(22) := p_source_101;
61114 l_rec_acct_attrs.array_num_value(23) := p_source_57;
61115 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENC_UPG_DR_ENTERED_CURR';
61116 l_rec_acct_attrs.array_char_value(24) := p_source_33;
61117 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENC_UPG_DR_LEDGER_AMT';
61118 l_rec_acct_attrs.array_num_value(25) := p_source_99;
61119 l_rec_acct_attrs.array_acct_attr_code(26) := 'ENC_UPG_OPTION';
61120 l_rec_acct_attrs.array_char_value(26) := p_source_102;
61121 l_rec_acct_attrs.array_acct_attr_code(27) := 'ENTERED_CURRENCY_AMOUNT';
61122 l_rec_acct_attrs.array_num_value(27) := p_source_57;
61123 l_rec_acct_attrs.array_acct_attr_code(28) := 'ENTERED_CURRENCY_CODE';
61124 l_rec_acct_attrs.array_char_value(28) := p_source_33;
61125 l_rec_acct_attrs.array_acct_attr_code(29) := 'LEDGER_AMOUNT';
61126 l_rec_acct_attrs.array_num_value(29) := p_source_99;
61127 l_rec_acct_attrs.array_acct_attr_code(30) := 'REVERSED_DISTRIBUTION_ID1';
61128 l_rec_acct_attrs.array_num_value(30) := to_char(p_source_103);
61129 l_rec_acct_attrs.array_acct_attr_code(31) := 'REVERSED_DISTRIBUTION_ID2';
61130 l_rec_acct_attrs.array_char_value(31) := p_source_104;
61131 l_rec_acct_attrs.array_acct_attr_code(32) := 'REVERSED_DISTRIBUTION_TYPE';
61132 l_rec_acct_attrs.array_char_value(32) := p_source_105;
61133 l_rec_acct_attrs.array_acct_attr_code(33) := 'UPG_CR_ENC_TYPE_ID';
61134 l_rec_acct_attrs.array_num_value(33) := p_source_106;
61135 l_rec_acct_attrs.array_acct_attr_code(34) := 'UPG_DR_ENC_TYPE_ID';
61136 l_rec_acct_attrs.array_num_value(34) := p_source_107;
61137
61138 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
61139 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
61140
61141 ---------------------------------------------------------------------------------------------------------------
61142 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
61143 ---------------------------------------------------------------------------------------------------------------
61144 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
61145
61146 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
61147 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
61148
61149 IF xla_accounting_cache_pkg.GetValueChar
61150 (p_source_code => 'LEDGER_CATEGORY_CODE'
61151 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
61152 AND l_bflow_method_code = 'PRIOR_ENTRY'
61153 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
61154 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
61155 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
61156 )
61157 THEN
61158 xla_ae_lines_pkg.BflowUpgEntry
61159 (p_business_method_code => l_bflow_method_code
61160 ,p_business_class_code => l_bflow_class_code
61161 ,p_balance_type => l_balance_type_code);
61162 ELSE
61163 NULL;
61164 XLA_AE_LINES_PKG.business_flow_validation(
61165 p_business_method_code => l_bflow_method_code
61166 ,p_business_class_code => l_bflow_class_code
61167 ,p_inherit_description_flag => l_inherit_desc_flag);
61168 END IF;
61169
61170 --
61171 -- call analytical criteria
61172 --
61173 -- Inherited Analytical Criteria for business flow method of Prior Entry.
61174 --
61175 -- call description
61176 --
61177
61178 xla_ae_lines_pkg.SetLineDescription(
61179 p_ae_header_id => l_ae_header_id
61180 ,p_description => Description_3 (
61181 p_application_id => p_application_id
61182 , p_ae_header_id => l_ae_header_id
61183 , p_source_2 => p_source_2
61184 , p_source_3 => p_source_3
61185 , p_source_4 => p_source_4
61186 , p_source_5 => p_source_5
61187 )
61188 );
61189
61190
61191 --
61192 -- call ADRs
61193 -- Bug 4922099
61194 --
61195 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
61196 (NVL(l_actual_upg_option, 'N') = 'O') OR
61197 (NVL(l_enc_upg_option, 'N') = 'O')
61198 )
61199 THEN
61200 NULL;
61201 --
61202 --
61203
61204 --
61205 --
61206 END IF;
61207 --
61208 -- Bug 4922099
61209 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
61210 (NVL(l_enc_upg_option, 'N') = 'O')
61211 ) AND
61212 (l_bflow_method_code = 'PRIOR_ENTRY')
61213 )
61214 THEN
61215 IF
61216 --
61217 1 = 1
61218 --
61219 THEN
61220 xla_accounting_err_pkg.build_message
61221 (p_appli_s_name => 'XLA'
61222 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
61223 ,p_token_1 => 'LINE_NUMBER'
61227 l_component_type
61224 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
61225 ,p_token_2 => 'LINE_TYPE_NAME'
61226 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
61228 ,l_component_code
61229 ,l_component_type_code
61230 ,l_component_appl_id
61231 ,l_amb_context_code
61232 ,l_entity_code
61233 ,l_event_class_code
61234 )
61235 ,p_token_3 => 'OWNER'
61236 ,p_value_3 => xla_lookups_pkg.get_meaning(
61237 p_lookup_type => 'XLA_OWNER_TYPE'
61238 ,p_lookup_code => l_component_type_code
61239 )
61240 ,p_token_4 => 'PRODUCT_NAME'
61241 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
61242 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
61243 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
61244 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
61245 ,p_ae_header_id => NULL
61246 );
61247
61248 IF (C_LEVEL_ERROR>= g_log_level) THEN
61249 trace
61250 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
61251 ,p_level => C_LEVEL_ERROR
61252 ,p_module => l_log_module);
61253 END IF;
61254 END IF;
61255 END IF;
61256 --
61257 --
61258 ------------------------------------------------------------------------------------------------
61259 -- 4219869 Business Flow
61260 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
61261 -- Prior Entry. Currently, the following code is always generated.
61262 ------------------------------------------------------------------------------------------------
61263 -- No ValidateCurrentLine for business flow method of Prior Entry
61264
61265 ------------------------------------------------------------------------------------
61266 -- 4219869 Business Flow
61267 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
61268 ------------------------------------------------------------------------------------
61269 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
61270
61271 ----------------------------------------------------------------------------------
61272 -- 4219869 Business Flow
61273 -- Update journal entry status -- Need to generate this within IF <condition>
61274 ----------------------------------------------------------------------------------
61275 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
61276 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
61277 ,p_balance_type_code => l_balance_type_code
61278 );
61279
61280 -------------------------------------------------------------------------------------------
61281 -- 4262811 - Generate the Accrual Reversal lines
61282 -------------------------------------------------------------------------------------------
61283 BEGIN
61284 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
61285 (g_array_event(p_event_id).array_value_num('header_index'));
61286 IF l_acc_rev_flag IS NULL THEN
61287 l_acc_rev_flag := 'N';
61288 END IF;
61289 EXCEPTION
61290 WHEN OTHERS THEN
61291 l_acc_rev_flag := 'N';
61292 END;
61293 --
61294 IF (l_acc_rev_flag = 'Y') THEN
61295
61296 -- 4645092 ------------------------------------------------------------------------------
61297 -- To allow MPA report to determine if it should generate report process
61298 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
61299 ------------------------------------------------------------------------------------------
61300
61301 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
61302 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
61303 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
61304 -- call ADRs
61305 -- Bug 4922099
61306 --
61307 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
61308 (NVL(l_actual_upg_option, 'N') = 'O') OR
61309 (NVL(l_enc_upg_option, 'N') = 'O')
61310 )
61311 THEN
61312 NULL;
61313 --
61314 --
61315
61316 --
61317 --
61318 END IF;
61319
61320 --
61321 -- Update the line information that should be overwritten
61322 --
61326
61323 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
61324 p_header_num => 1);
61325 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
61327 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
61328
61329 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
61330 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
61331 END IF;
61332
61333 --
61334 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
61335 --
61336 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
61337 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
61338 ELSE
61339 ---------------------------------------------------------------------------------------------------
61340 -- 4262811a Switch Sign
61341 ---------------------------------------------------------------------------------------------------
61342 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
61343 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
61344 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
61345 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
61346 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
61347 -- 5132302
61348 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
61349 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
61350
61351 END IF;
61352
61353 -- 4955764
61354 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
61355 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
61356
61357
61358 XLA_AE_LINES_PKG.ValidateCurrentLine;
61359 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
61360
61361 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
61362 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
61363 ,p_balance_type_code => l_balance_type_code);
61364
61365 END IF;
61366
61367 -----------------------------------------------------------------------------------------
61368 -- 4262811 Multiperiod Accounting
61369 -----------------------------------------------------------------------------------------
61370 -- No MPA option is assigned.
61371
61372
61373 END IF;
61374 END IF;
61375 --
61376
61377 --
61378 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
61379 trace
61380 (p_msg => 'END of AcctLineType_96'
61381 ,p_level => C_LEVEL_PROCEDURE
61382 ,p_module => l_log_module);
61383 END IF;
61384 --
61385 EXCEPTION
61386 WHEN xla_exceptions_pkg.application_exception THEN
61387 RAISE;
61388 WHEN OTHERS THEN
61389 xla_exceptions_pkg.raise_message
61390 (p_location => 'XLA_00200_AAD_S_000006_BC_PKG.AcctLineType_96');
61391 END AcctLineType_96;
61392 --
61393
61394 ---------------------------------------
61395 --
61396 -- PRIVATE FUNCTION
61397 -- AcctLineType_97
61398 --
61399 ---------------------------------------
61400 PROCEDURE AcctLineType_97 (
61401 p_application_id IN NUMBER
61402 ,p_event_id IN NUMBER
61403 ,p_calculate_acctd_flag IN VARCHAR2
61404 ,p_calculate_g_l_flag IN VARCHAR2
61405 ,p_actual_flag IN OUT VARCHAR2
61406 ,p_balance_type_code OUT VARCHAR2
61407 ,p_gain_or_loss_ref OUT VARCHAR2
61408
61409 --Document Distribution Type
61410 , p_source_2 IN VARCHAR2
61411 --Project Name
61412 , p_source_3 IN VARCHAR2
61413 --Task Number
61414 , p_source_4 IN VARCHAR2
61415 --Expenditure Organization
61416 , p_source_5 IN NUMBER
61417 --Distribution Link Type
61418 , p_source_21 IN VARCHAR2
61419 --Invoice Distribution Identifier
61420 , p_source_30 IN NUMBER
61421 --Invoice Currency Code
61422 , p_source_33 IN VARCHAR2
61423 --Invoice Distribution Amount
61424 , p_source_57 IN NUMBER
61425 --Document Type
61426 , p_source_83 IN VARCHAR2
61427 --Accounting reversal indicator for project invoice burden
61428 , p_source_85 IN VARCHAR2
61429 --Allocated to Application Identifier
61430 , p_source_86 IN NUMBER
61431 --Allocated to Distribution Type
61432 , p_source_87 IN VARCHAR2
61433 --Allocated to Entity Code
61434 , p_source_88 IN VARCHAR2
61435 --Allocated to First Distribution Identifier
61436 , p_source_89 IN NUMBER
61437 --Allocated to First System Transaction Identifier
61438 , p_source_90 IN NUMBER
61439 --Invoice Distribution Expenditure Type
61440 , p_source_96 IN VARCHAR2
61441 --Encumbrance Upgrade Credit Accounting Class
61442 , p_source_97 IN VARCHAR2
61443 --Encumbrance Upgrade Credit Account
61444 , p_source_98 IN NUMBER
61448 , p_source_100 IN VARCHAR2
61445 --Invoice Distribution Ledger Amount Before Rounding
61446 , p_source_99 IN NUMBER
61447 --Encumbrance Upgrade Debit Accounting Class
61449 --Encumbrance Upgrade Debit Account
61450 , p_source_101 IN NUMBER
61451 --Use Encumbrances Upgrade Attributes Flag
61452 , p_source_102 IN VARCHAR2
61453 --Accounting reversal first distribution identifier for project invoice burden
61454 , p_source_103 IN NUMBER
61455 --Invoice Burden Applied to Second Distribution Identifier
61456 , p_source_104 IN VARCHAR2
61457 --Accounting reversal distribution type for project invoice burden
61458 , p_source_105 IN VARCHAR2
61459 --Encumbrance Upgrade Credit Encumbrance Type
61460 , p_source_106 IN NUMBER
61461 --Encumbrance Upgrade Debit Encumbrance Type
61462 , p_source_107 IN NUMBER
61463 --Project Encumbrance Applied to Application Identifier
61464 , p_source_109 IN NUMBER
61465 --Project Encumbrance Applied to Distribution Type
61466 , p_source_110 IN VARCHAR2
61467 --Project Encumbrance Applied to Entity Code
61468 , p_source_111 IN VARCHAR2
61469 --Project Encumbrance First Distribution Identifier
61470 , p_source_112 IN NUMBER
61471 --Project Encumbrance First System Transaction Identifier
61472 , p_source_113 IN NUMBER
61473 --Project Encumbrance Second Distribution Identifier
61474 , p_source_114 IN VARCHAR2
61475 )
61476 IS
61477
61478 l_component_type VARCHAR2(80);
61479 l_component_code VARCHAR2(30);
61480 l_component_type_code VARCHAR2(1);
61481 l_component_appl_id INTEGER;
61482 l_amb_context_code VARCHAR2(30);
61483 l_entity_code VARCHAR2(30);
61484 l_event_class_code VARCHAR2(30);
61485 l_ae_header_id NUMBER;
61486 l_event_type_code VARCHAR2(30);
61487 l_line_definition_code VARCHAR2(30);
61488 l_line_definition_owner_code VARCHAR2(1);
61489 --
61490 -- adr variables
61491 l_segment VARCHAR2(30);
61492 l_ccid NUMBER;
61493 l_adr_transaction_coa_id NUMBER;
61494 l_adr_accounting_coa_id NUMBER;
61495 l_adr_flexfield_segment_code VARCHAR2(30);
61496 l_adr_flex_value_set_id NUMBER;
61497 l_adr_value_type_code VARCHAR2(30);
61498 l_adr_value_combination_id NUMBER;
61499 l_adr_value_segment_code VARCHAR2(30);
61500
61501 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
61502 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
61503 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
61504 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
61505
61506 -- 4262811 Variables ------------------------------------------------------------------------------------------
61507 l_entered_amt_idx NUMBER;
61508 l_accted_amt_idx NUMBER;
61509 l_acc_rev_flag VARCHAR2(1);
61510 l_accrual_line_num NUMBER;
61511 l_tmp_amt NUMBER;
61512 l_acc_rev_natural_side_code VARCHAR2(1);
61513
61514 l_num_entries NUMBER;
61515 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
61516 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
61517 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
61518 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
61519 l_recog_line_1 NUMBER;
61520 l_recog_line_2 NUMBER;
61521
61522 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
61523 l_bflow_applied_to_amt NUMBER; -- 5132302
61524 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
61525
61526 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
61527
61528 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
61529 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
61530
61531 ---------------------------------------------------------------------------------------------------------------
61532
61533
61534 --
61535 -- bulk performance
61536 --
61537 l_balance_type_code VARCHAR2(1);
61538 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
61539 l_log_module VARCHAR2(240);
61540
61541 --
61542 -- Upgrade strategy
61543 --
61544 l_actual_upg_option VARCHAR2(1);
61545 l_enc_upg_option VARCHAR2(1);
61546
61547 --
61548 BEGIN
61549 --
61550 IF g_log_enabled THEN
61551 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_97';
61552 END IF;
61553 --
61554 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
61555
61556 trace
61557 (p_msg => 'BEGIN of AcctLineType_97'
61558 ,p_level => C_LEVEL_PROCEDURE
61559 ,p_module => l_log_module);
61560
61561 END IF;
61562 --
61563 l_component_type := 'AMB_JLT';
61564 l_component_code := 'RESERVE_PROJ_ENC';
61565 l_component_type_code := 'S';
61566 l_component_appl_id := 200;
61567 l_amb_context_code := 'DEFAULT';
61568 l_entity_code := 'AP_INVOICES';
61569 l_event_class_code := 'PREPAY_APPLICATION_BURDEN';
61570 l_event_type_code := 'PREPAY_APPLICATION_BURDEN_ALL';
61574 l_balance_type_code := 'E';
61571 l_line_definition_owner_code := 'S';
61572 l_line_definition_code := 'AP_PREPAY_APPLY_BURDEN_ENC_ALL';
61573 --
61575 l_segment := NULL;
61576 l_ccid := NULL;
61577 l_adr_transaction_coa_id := NULL;
61578 l_adr_accounting_coa_id := NULL;
61579 l_adr_flexfield_segment_code := NULL;
61580 l_adr_flex_value_set_id := NULL;
61581 l_adr_value_type_code := NULL;
61582 l_adr_value_combination_id := NULL;
61583 l_adr_value_segment_code := NULL;
61584
61585 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
61586 l_bflow_class_code := 'PA_BUDGET_ENC'; -- 4219869 Business Flow
61587 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
61588 l_budgetary_control_flag := 'Y';
61589
61590 l_bflow_applied_to_amt_idx := NULL; -- 5132302
61591 l_bflow_applied_to_amt := NULL; -- 5132302
61592 l_entered_amt_idx := NULL; -- 4262811
61593 l_accted_amt_idx := NULL; -- 4262811
61594 l_acc_rev_flag := NULL; -- 4262811
61595 l_accrual_line_num := NULL; -- 4262811
61596 l_tmp_amt := NULL; -- 4262811
61597 --
61598
61599 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
61600 l_balance_type_code <> 'B' THEN
61601 IF NVL(p_source_83,'
61602 ') = 'PO' OR
61603 (NVL(p_source_83,'
61604 ') = 'AP' AND
61605 NVL(p_source_2,'
61606 ') = 'PREPAY APPL' OR
61607 NVL(p_source_2,'
61608 ') = 'PREPAY APPL NONREC TAX')
61609 THEN
61610
61611 --
61612 XLA_AE_LINES_PKG.SetNewLine;
61613
61614 p_balance_type_code := l_balance_type_code;
61615 -- set the flag so later we will know whether the gain loss line needs to be created
61616
61617 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
61618 p_actual_flag :='A';
61619 END IF;
61620
61621 --
61622 -- bulk performance
61623 --
61624 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
61625 p_header_num => 0); -- 4262811
61626 --
61627 -- set accounting line options
61628 --
61629 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
61630 p_natural_side_code => 'D'
61631 , p_gain_or_loss_flag => 'N'
61632 , p_gl_transfer_mode_code => 'S'
61633 , p_acct_entry_type_code => 'E'
61634 , p_switch_side_flag => 'Y'
61635 , p_merge_duplicate_code => 'N'
61636 );
61637 --
61638 l_acc_rev_natural_side_code := 'C'; -- 4262811
61639 --
61640 --
61641 -- set accounting line type info
61642 --
61643 xla_ae_lines_pkg.SetAcctLineType
61644 (p_component_type => l_component_type
61645 ,p_event_type_code => l_event_type_code
61646 ,p_line_definition_owner_code => l_line_definition_owner_code
61647 ,p_line_definition_code => l_line_definition_code
61648 ,p_accounting_line_code => l_component_code
61649 ,p_accounting_line_type_code => l_component_type_code
61650 ,p_accounting_line_appl_id => l_component_appl_id
61651 ,p_amb_context_code => l_amb_context_code
61652 ,p_entity_code => l_entity_code
61653 ,p_event_class_code => l_event_class_code);
61654 --
61655 -- set accounting class
61656 --
61657 xla_ae_lines_pkg.SetAcctClass(
61658 p_accounting_class_code => 'PA_BUDGET_ENC'
61659 , p_ae_header_id => l_ae_header_id
61660 );
61661
61662 --
61663 -- set rounding class
61664 --
61665 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
61666 'PA_BUDGET_ENC';
61667
61668 --
61669 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
61670 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
61671 --
61672 -- bulk performance
61673 --
61674 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
61675
61676 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
61677 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
61678
61679 -- 4955764
61680 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
61681 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
61682
61683 -- 4458381 Public Sector Enh
61684
61685 --
61686 -- set accounting attributes for the line type
61687 --
61688 l_entered_amt_idx := 27;
61689 l_accted_amt_idx := 29;
61690 l_bflow_applied_to_amt_idx := NULL; -- 5132302
61691 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
61692 l_rec_acct_attrs.array_char_value(1) := p_source_85;
61693 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
61694 l_rec_acct_attrs.array_num_value(2) := p_source_86;
61695 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
61699 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
61696 l_rec_acct_attrs.array_char_value(3) := p_source_87;
61697 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
61698 l_rec_acct_attrs.array_char_value(4) := p_source_88;
61700 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_89);
61701 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
61702 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_90);
61703 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
61704 l_rec_acct_attrs.array_num_value(7) := p_source_109;
61705 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
61706 l_rec_acct_attrs.array_char_value(8) := p_source_110;
61707 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
61708 l_rec_acct_attrs.array_char_value(9) := p_source_111;
61709 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
61710 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_112);
61711 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
61712 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_113);
61713 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_SECOND_DIST_ID';
61714 l_rec_acct_attrs.array_char_value(12) := p_source_114;
61715 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
61716 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_30);
61717 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_IDENTIFIER_2';
61718 l_rec_acct_attrs.array_char_value(14) := p_source_96;
61719 l_rec_acct_attrs.array_acct_attr_code(15) := 'DISTRIBUTION_TYPE';
61720 l_rec_acct_attrs.array_char_value(15) := p_source_21;
61721 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ACCT_CLASS';
61722 l_rec_acct_attrs.array_char_value(16) := p_source_97;
61723 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_CCID';
61724 l_rec_acct_attrs.array_num_value(17) := p_source_98;
61725 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_ENTERED_AMT';
61726 l_rec_acct_attrs.array_num_value(18) := p_source_57;
61727 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_CR_ENTERED_CURR';
61728 l_rec_acct_attrs.array_char_value(19) := p_source_33;
61729 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_CR_LEDGER_AMT';
61730 l_rec_acct_attrs.array_num_value(20) := p_source_99;
61731 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ACCT_CLASS';
61732 l_rec_acct_attrs.array_char_value(21) := p_source_100;
61733 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_CCID';
61734 l_rec_acct_attrs.array_num_value(22) := p_source_101;
61735 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_DR_ENTERED_AMT';
61736 l_rec_acct_attrs.array_num_value(23) := p_source_57;
61737 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENC_UPG_DR_ENTERED_CURR';
61738 l_rec_acct_attrs.array_char_value(24) := p_source_33;
61739 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENC_UPG_DR_LEDGER_AMT';
61740 l_rec_acct_attrs.array_num_value(25) := p_source_99;
61741 l_rec_acct_attrs.array_acct_attr_code(26) := 'ENC_UPG_OPTION';
61742 l_rec_acct_attrs.array_char_value(26) := p_source_102;
61743 l_rec_acct_attrs.array_acct_attr_code(27) := 'ENTERED_CURRENCY_AMOUNT';
61744 l_rec_acct_attrs.array_num_value(27) := p_source_57;
61745 l_rec_acct_attrs.array_acct_attr_code(28) := 'ENTERED_CURRENCY_CODE';
61746 l_rec_acct_attrs.array_char_value(28) := p_source_33;
61747 l_rec_acct_attrs.array_acct_attr_code(29) := 'LEDGER_AMOUNT';
61748 l_rec_acct_attrs.array_num_value(29) := p_source_99;
61749 l_rec_acct_attrs.array_acct_attr_code(30) := 'REVERSED_DISTRIBUTION_ID1';
61750 l_rec_acct_attrs.array_num_value(30) := to_char(p_source_103);
61751 l_rec_acct_attrs.array_acct_attr_code(31) := 'REVERSED_DISTRIBUTION_ID2';
61752 l_rec_acct_attrs.array_char_value(31) := p_source_104;
61753 l_rec_acct_attrs.array_acct_attr_code(32) := 'REVERSED_DISTRIBUTION_TYPE';
61754 l_rec_acct_attrs.array_char_value(32) := p_source_105;
61755 l_rec_acct_attrs.array_acct_attr_code(33) := 'UPG_CR_ENC_TYPE_ID';
61756 l_rec_acct_attrs.array_num_value(33) := p_source_106;
61757 l_rec_acct_attrs.array_acct_attr_code(34) := 'UPG_DR_ENC_TYPE_ID';
61758 l_rec_acct_attrs.array_num_value(34) := p_source_107;
61759
61760 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
61761 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
61762
61763 ---------------------------------------------------------------------------------------------------------------
61764 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
61765 ---------------------------------------------------------------------------------------------------------------
61766 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
61767
61768 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
61769 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
61770
61771 IF xla_accounting_cache_pkg.GetValueChar
61772 (p_source_code => 'LEDGER_CATEGORY_CODE'
61773 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
61774 AND l_bflow_method_code = 'PRIOR_ENTRY'
61775 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
61776 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
61780 xla_ae_lines_pkg.BflowUpgEntry
61777 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
61778 )
61779 THEN
61781 (p_business_method_code => l_bflow_method_code
61782 ,p_business_class_code => l_bflow_class_code
61783 ,p_balance_type => l_balance_type_code);
61784 ELSE
61785 NULL;
61786 XLA_AE_LINES_PKG.business_flow_validation(
61787 p_business_method_code => l_bflow_method_code
61788 ,p_business_class_code => l_bflow_class_code
61789 ,p_inherit_description_flag => l_inherit_desc_flag);
61790 END IF;
61791
61792 --
61793 -- call analytical criteria
61794 --
61795 -- Inherited Analytical Criteria for business flow method of Prior Entry.
61796 --
61797 -- call description
61798 --
61799
61800 xla_ae_lines_pkg.SetLineDescription(
61801 p_ae_header_id => l_ae_header_id
61802 ,p_description => Description_3 (
61803 p_application_id => p_application_id
61804 , p_ae_header_id => l_ae_header_id
61805 , p_source_2 => p_source_2
61806 , p_source_3 => p_source_3
61807 , p_source_4 => p_source_4
61808 , p_source_5 => p_source_5
61809 )
61810 );
61811
61812
61813 --
61814 -- call ADRs
61815 -- Bug 4922099
61816 --
61817 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
61818 (NVL(l_actual_upg_option, 'N') = 'O') OR
61819 (NVL(l_enc_upg_option, 'N') = 'O')
61820 )
61821 THEN
61822 NULL;
61823 --
61824 --
61825
61826 --
61827 --
61828 END IF;
61829 --
61830 -- Bug 4922099
61831 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
61832 (NVL(l_enc_upg_option, 'N') = 'O')
61833 ) AND
61834 (l_bflow_method_code = 'PRIOR_ENTRY')
61835 )
61836 THEN
61837 IF
61838 --
61839 1 = 1
61840 --
61841 THEN
61842 xla_accounting_err_pkg.build_message
61843 (p_appli_s_name => 'XLA'
61844 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
61845 ,p_token_1 => 'LINE_NUMBER'
61846 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
61847 ,p_token_2 => 'LINE_TYPE_NAME'
61848 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
61849 l_component_type
61850 ,l_component_code
61851 ,l_component_type_code
61852 ,l_component_appl_id
61853 ,l_amb_context_code
61854 ,l_entity_code
61855 ,l_event_class_code
61856 )
61857 ,p_token_3 => 'OWNER'
61858 ,p_value_3 => xla_lookups_pkg.get_meaning(
61859 p_lookup_type => 'XLA_OWNER_TYPE'
61860 ,p_lookup_code => l_component_type_code
61861 )
61862 ,p_token_4 => 'PRODUCT_NAME'
61863 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
61864 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
61865 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
61866 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
61867 ,p_ae_header_id => NULL
61868 );
61869
61870 IF (C_LEVEL_ERROR>= g_log_level) THEN
61871 trace
61872 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
61873 ,p_level => C_LEVEL_ERROR
61874 ,p_module => l_log_module);
61875 END IF;
61876 END IF;
61877 END IF;
61878 --
61879 --
61880 ------------------------------------------------------------------------------------------------
61881 -- 4219869 Business Flow
61882 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
61883 -- Prior Entry. Currently, the following code is always generated.
61884 ------------------------------------------------------------------------------------------------
61885 -- No ValidateCurrentLine for business flow method of Prior Entry
61886
61887 ------------------------------------------------------------------------------------
61888 -- 4219869 Business Flow
61892
61889 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
61890 ------------------------------------------------------------------------------------
61891 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
61893 ----------------------------------------------------------------------------------
61894 -- 4219869 Business Flow
61895 -- Update journal entry status -- Need to generate this within IF <condition>
61896 ----------------------------------------------------------------------------------
61897 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
61898 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
61899 ,p_balance_type_code => l_balance_type_code
61900 );
61901
61902 -------------------------------------------------------------------------------------------
61903 -- 4262811 - Generate the Accrual Reversal lines
61904 -------------------------------------------------------------------------------------------
61905 BEGIN
61906 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
61907 (g_array_event(p_event_id).array_value_num('header_index'));
61908 IF l_acc_rev_flag IS NULL THEN
61909 l_acc_rev_flag := 'N';
61910 END IF;
61911 EXCEPTION
61912 WHEN OTHERS THEN
61913 l_acc_rev_flag := 'N';
61914 END;
61915 --
61916 IF (l_acc_rev_flag = 'Y') THEN
61917
61918 -- 4645092 ------------------------------------------------------------------------------
61919 -- To allow MPA report to determine if it should generate report process
61920 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
61921 ------------------------------------------------------------------------------------------
61922
61923 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
61924 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
61925 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
61926 -- call ADRs
61927 -- Bug 4922099
61928 --
61929 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
61930 (NVL(l_actual_upg_option, 'N') = 'O') OR
61931 (NVL(l_enc_upg_option, 'N') = 'O')
61932 )
61933 THEN
61934 NULL;
61935 --
61936 --
61937
61938 --
61939 --
61940 END IF;
61941
61942 --
61943 -- Update the line information that should be overwritten
61944 --
61945 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
61946 p_header_num => 1);
61947 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
61948
61949 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
61950
61951 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
61952 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
61953 END IF;
61954
61955 --
61956 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
61957 --
61958 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
61959 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
61960 ELSE
61961 ---------------------------------------------------------------------------------------------------
61962 -- 4262811a Switch Sign
61963 ---------------------------------------------------------------------------------------------------
61964 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
61965 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
61966 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
61967 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
61968 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
61969 -- 5132302
61970 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
61971 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
61972
61973 END IF;
61974
61975 -- 4955764
61976 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
61977 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
61978
61979
61980 XLA_AE_LINES_PKG.ValidateCurrentLine;
61981 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
61982
61983 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
61984 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
61985 ,p_balance_type_code => l_balance_type_code);
61986
61987 END IF;
61988
61989 -----------------------------------------------------------------------------------------
61990 -- 4262811 Multiperiod Accounting
61991 -----------------------------------------------------------------------------------------
61992 -- No MPA option is assigned.
61993
61994
61995 END IF;
61996 END IF;
61997 --
61998
61999 --
62000 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
62001 trace
62002 (p_msg => 'END of AcctLineType_97'
62006 --
62003 ,p_level => C_LEVEL_PROCEDURE
62004 ,p_module => l_log_module);
62005 END IF;
62007 EXCEPTION
62008 WHEN xla_exceptions_pkg.application_exception THEN
62009 RAISE;
62010 WHEN OTHERS THEN
62011 xla_exceptions_pkg.raise_message
62012 (p_location => 'XLA_00200_AAD_S_000006_BC_PKG.AcctLineType_97');
62013 END AcctLineType_97;
62014 --
62015
62016 ---------------------------------------
62017 --
62018 -- PRIVATE FUNCTION
62019 -- AcctLineType_98
62020 --
62021 ---------------------------------------
62022 PROCEDURE AcctLineType_98 (
62023 p_application_id IN NUMBER
62024 ,p_event_id IN NUMBER
62025 ,p_calculate_acctd_flag IN VARCHAR2
62026 ,p_calculate_g_l_flag IN VARCHAR2
62027 ,p_actual_flag IN OUT VARCHAR2
62028 ,p_balance_type_code OUT VARCHAR2
62029 ,p_gain_or_loss_ref OUT VARCHAR2
62030
62031 --Document Distribution Type
62032 , p_source_2 IN VARCHAR2
62033 --Project Name
62034 , p_source_3 IN VARCHAR2
62035 --Task Number
62036 , p_source_4 IN VARCHAR2
62037 --Expenditure Organization
62038 , p_source_5 IN NUMBER
62039 --Distribution Link Type
62040 , p_source_21 IN VARCHAR2
62041 --Invoice Distribution Identifier
62042 , p_source_30 IN NUMBER
62043 --Invoice Currency Code
62044 , p_source_33 IN VARCHAR2
62045 --Invoice Distribution Amount
62046 , p_source_57 IN NUMBER
62047 --Document Type
62048 , p_source_83 IN VARCHAR2
62049 --Accounting reversal indicator for project invoice burden
62050 , p_source_85 IN VARCHAR2
62051 --Allocated to Application Identifier
62052 , p_source_86 IN NUMBER
62053 --Allocated to Distribution Type
62054 , p_source_87 IN VARCHAR2
62055 --Allocated to Entity Code
62056 , p_source_88 IN VARCHAR2
62057 --Allocated to First Distribution Identifier
62058 , p_source_89 IN NUMBER
62059 --Allocated to First System Transaction Identifier
62060 , p_source_90 IN NUMBER
62061 --Invoice Distribution Expenditure Type
62062 , p_source_96 IN VARCHAR2
62063 --Encumbrance Upgrade Credit Accounting Class
62064 , p_source_97 IN VARCHAR2
62065 --Encumbrance Upgrade Credit Account
62066 , p_source_98 IN NUMBER
62067 --Invoice Distribution Ledger Amount Before Rounding
62068 , p_source_99 IN NUMBER
62069 --Encumbrance Upgrade Debit Accounting Class
62070 , p_source_100 IN VARCHAR2
62071 --Encumbrance Upgrade Debit Account
62072 , p_source_101 IN NUMBER
62073 --Use Encumbrances Upgrade Attributes Flag
62074 , p_source_102 IN VARCHAR2
62075 --Accounting reversal first distribution identifier for project invoice burden
62076 , p_source_103 IN NUMBER
62077 --Invoice Burden Applied to Second Distribution Identifier
62078 , p_source_104 IN VARCHAR2
62079 --Accounting reversal distribution type for project invoice burden
62080 , p_source_105 IN VARCHAR2
62081 --Encumbrance Upgrade Credit Encumbrance Type
62082 , p_source_106 IN NUMBER
62083 --Encumbrance Upgrade Debit Encumbrance Type
62084 , p_source_107 IN NUMBER
62085 --Project Encumbrance Applied to Application Identifier
62086 , p_source_109 IN NUMBER
62087 --Project Encumbrance Applied to Distribution Type
62088 , p_source_110 IN VARCHAR2
62089 --Project Encumbrance Applied to Entity Code
62090 , p_source_111 IN VARCHAR2
62091 --Project Encumbrance First Distribution Identifier
62092 , p_source_112 IN NUMBER
62093 --Project Encumbrance First System Transaction Identifier
62094 , p_source_113 IN NUMBER
62095 --Project Encumbrance Second Distribution Identifier
62096 , p_source_114 IN VARCHAR2
62097 )
62098 IS
62099
62100 l_component_type VARCHAR2(80);
62101 l_component_code VARCHAR2(30);
62102 l_component_type_code VARCHAR2(1);
62103 l_component_appl_id INTEGER;
62104 l_amb_context_code VARCHAR2(30);
62105 l_entity_code VARCHAR2(30);
62106 l_event_class_code VARCHAR2(30);
62107 l_ae_header_id NUMBER;
62108 l_event_type_code VARCHAR2(30);
62109 l_line_definition_code VARCHAR2(30);
62110 l_line_definition_owner_code VARCHAR2(1);
62111 --
62112 -- adr variables
62113 l_segment VARCHAR2(30);
62114 l_ccid NUMBER;
62115 l_adr_transaction_coa_id NUMBER;
62116 l_adr_accounting_coa_id NUMBER;
62117 l_adr_flexfield_segment_code VARCHAR2(30);
62118 l_adr_flex_value_set_id NUMBER;
62119 l_adr_value_type_code VARCHAR2(30);
62120 l_adr_value_combination_id NUMBER;
62121 l_adr_value_segment_code VARCHAR2(30);
62122
62123 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
62124 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
62125 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
62126 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
62127
62128 -- 4262811 Variables ------------------------------------------------------------------------------------------
62129 l_entered_amt_idx NUMBER;
62130 l_accted_amt_idx NUMBER;
62131 l_acc_rev_flag VARCHAR2(1);
62132 l_accrual_line_num NUMBER;
62136 l_num_entries NUMBER;
62133 l_tmp_amt NUMBER;
62134 l_acc_rev_natural_side_code VARCHAR2(1);
62135
62137 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
62138 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
62139 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
62140 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
62141 l_recog_line_1 NUMBER;
62142 l_recog_line_2 NUMBER;
62143
62144 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
62145 l_bflow_applied_to_amt NUMBER; -- 5132302
62146 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
62147
62148 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
62149
62150 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
62151 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
62152
62153 ---------------------------------------------------------------------------------------------------------------
62154
62155
62156 --
62157 -- bulk performance
62158 --
62159 l_balance_type_code VARCHAR2(1);
62160 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
62161 l_log_module VARCHAR2(240);
62162
62163 --
62164 -- Upgrade strategy
62165 --
62166 l_actual_upg_option VARCHAR2(1);
62167 l_enc_upg_option VARCHAR2(1);
62168
62169 --
62170 BEGIN
62171 --
62172 IF g_log_enabled THEN
62173 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_98';
62174 END IF;
62175 --
62176 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
62177
62178 trace
62179 (p_msg => 'BEGIN of AcctLineType_98'
62180 ,p_level => C_LEVEL_PROCEDURE
62181 ,p_module => l_log_module);
62182
62183 END IF;
62184 --
62185 l_component_type := 'AMB_JLT';
62186 l_component_code := 'RESERVE_PROJ_ENC';
62187 l_component_type_code := 'S';
62188 l_component_appl_id := 200;
62189 l_amb_context_code := 'DEFAULT';
62190 l_entity_code := 'AP_INVOICES';
62191 l_event_class_code := 'PREPAYMENT_BURDEN';
62192 l_event_type_code := 'PREPAYMENT_BURDEN_ALL';
62193 l_line_definition_owner_code := 'S';
62194 l_line_definition_code := 'AP_PREPAY_BURDEN_ENC_ALL';
62195 --
62196 l_balance_type_code := 'E';
62197 l_segment := NULL;
62198 l_ccid := NULL;
62199 l_adr_transaction_coa_id := NULL;
62200 l_adr_accounting_coa_id := NULL;
62201 l_adr_flexfield_segment_code := NULL;
62202 l_adr_flex_value_set_id := NULL;
62203 l_adr_value_type_code := NULL;
62204 l_adr_value_combination_id := NULL;
62205 l_adr_value_segment_code := NULL;
62206
62207 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
62208 l_bflow_class_code := 'PA_BUDGET_ENC'; -- 4219869 Business Flow
62209 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
62210 l_budgetary_control_flag := 'Y';
62211
62212 l_bflow_applied_to_amt_idx := NULL; -- 5132302
62213 l_bflow_applied_to_amt := NULL; -- 5132302
62214 l_entered_amt_idx := NULL; -- 4262811
62215 l_accted_amt_idx := NULL; -- 4262811
62216 l_acc_rev_flag := NULL; -- 4262811
62217 l_accrual_line_num := NULL; -- 4262811
62218 l_tmp_amt := NULL; -- 4262811
62219 --
62220
62221 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
62222 l_balance_type_code <> 'B' THEN
62223 IF NVL(p_source_83,'
62224 ') = 'PO'
62225 THEN
62226
62227 --
62228 XLA_AE_LINES_PKG.SetNewLine;
62229
62230 p_balance_type_code := l_balance_type_code;
62231 -- set the flag so later we will know whether the gain loss line needs to be created
62232
62233 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
62234 p_actual_flag :='A';
62235 END IF;
62236
62237 --
62238 -- bulk performance
62239 --
62240 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
62241 p_header_num => 0); -- 4262811
62242 --
62243 -- set accounting line options
62244 --
62245 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
62246 p_natural_side_code => 'D'
62247 , p_gain_or_loss_flag => 'N'
62248 , p_gl_transfer_mode_code => 'S'
62249 , p_acct_entry_type_code => 'E'
62250 , p_switch_side_flag => 'Y'
62251 , p_merge_duplicate_code => 'N'
62252 );
62253 --
62254 l_acc_rev_natural_side_code := 'C'; -- 4262811
62255 --
62256 --
62257 -- set accounting line type info
62258 --
62259 xla_ae_lines_pkg.SetAcctLineType
62260 (p_component_type => l_component_type
62261 ,p_event_type_code => l_event_type_code
62262 ,p_line_definition_owner_code => l_line_definition_owner_code
62263 ,p_line_definition_code => l_line_definition_code
62264 ,p_accounting_line_code => l_component_code
62265 ,p_accounting_line_type_code => l_component_type_code
62269 ,p_event_class_code => l_event_class_code);
62266 ,p_accounting_line_appl_id => l_component_appl_id
62267 ,p_amb_context_code => l_amb_context_code
62268 ,p_entity_code => l_entity_code
62270 --
62271 -- set accounting class
62272 --
62273 xla_ae_lines_pkg.SetAcctClass(
62274 p_accounting_class_code => 'PA_BUDGET_ENC'
62275 , p_ae_header_id => l_ae_header_id
62276 );
62277
62278 --
62279 -- set rounding class
62280 --
62281 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
62282 'PA_BUDGET_ENC';
62283
62284 --
62285 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
62286 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
62287 --
62288 -- bulk performance
62289 --
62290 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
62291
62292 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
62293 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
62294
62295 -- 4955764
62296 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
62297 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
62298
62299 -- 4458381 Public Sector Enh
62300
62301 --
62302 -- set accounting attributes for the line type
62303 --
62304 l_entered_amt_idx := 27;
62305 l_accted_amt_idx := 29;
62306 l_bflow_applied_to_amt_idx := NULL; -- 5132302
62307 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
62308 l_rec_acct_attrs.array_char_value(1) := p_source_85;
62309 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
62310 l_rec_acct_attrs.array_num_value(2) := p_source_86;
62311 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
62312 l_rec_acct_attrs.array_char_value(3) := p_source_87;
62313 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
62314 l_rec_acct_attrs.array_char_value(4) := p_source_88;
62315 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
62316 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_89);
62317 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
62318 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_90);
62319 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
62320 l_rec_acct_attrs.array_num_value(7) := p_source_109;
62321 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
62322 l_rec_acct_attrs.array_char_value(8) := p_source_110;
62323 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
62324 l_rec_acct_attrs.array_char_value(9) := p_source_111;
62325 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
62326 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_112);
62327 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
62328 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_113);
62329 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_SECOND_DIST_ID';
62330 l_rec_acct_attrs.array_char_value(12) := p_source_114;
62331 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
62332 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_30);
62333 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_IDENTIFIER_2';
62334 l_rec_acct_attrs.array_char_value(14) := p_source_96;
62335 l_rec_acct_attrs.array_acct_attr_code(15) := 'DISTRIBUTION_TYPE';
62336 l_rec_acct_attrs.array_char_value(15) := p_source_21;
62337 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ACCT_CLASS';
62338 l_rec_acct_attrs.array_char_value(16) := p_source_97;
62339 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_CCID';
62340 l_rec_acct_attrs.array_num_value(17) := p_source_98;
62341 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_ENTERED_AMT';
62342 l_rec_acct_attrs.array_num_value(18) := p_source_57;
62343 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_CR_ENTERED_CURR';
62344 l_rec_acct_attrs.array_char_value(19) := p_source_33;
62345 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_CR_LEDGER_AMT';
62346 l_rec_acct_attrs.array_num_value(20) := p_source_99;
62347 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ACCT_CLASS';
62348 l_rec_acct_attrs.array_char_value(21) := p_source_100;
62349 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_CCID';
62350 l_rec_acct_attrs.array_num_value(22) := p_source_101;
62351 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_DR_ENTERED_AMT';
62352 l_rec_acct_attrs.array_num_value(23) := p_source_57;
62353 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENC_UPG_DR_ENTERED_CURR';
62354 l_rec_acct_attrs.array_char_value(24) := p_source_33;
62355 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENC_UPG_DR_LEDGER_AMT';
62356 l_rec_acct_attrs.array_num_value(25) := p_source_99;
62357 l_rec_acct_attrs.array_acct_attr_code(26) := 'ENC_UPG_OPTION';
62358 l_rec_acct_attrs.array_char_value(26) := p_source_102;
62359 l_rec_acct_attrs.array_acct_attr_code(27) := 'ENTERED_CURRENCY_AMOUNT';
62360 l_rec_acct_attrs.array_num_value(27) := p_source_57;
62364 l_rec_acct_attrs.array_num_value(29) := p_source_99;
62361 l_rec_acct_attrs.array_acct_attr_code(28) := 'ENTERED_CURRENCY_CODE';
62362 l_rec_acct_attrs.array_char_value(28) := p_source_33;
62363 l_rec_acct_attrs.array_acct_attr_code(29) := 'LEDGER_AMOUNT';
62365 l_rec_acct_attrs.array_acct_attr_code(30) := 'REVERSED_DISTRIBUTION_ID1';
62366 l_rec_acct_attrs.array_num_value(30) := to_char(p_source_103);
62367 l_rec_acct_attrs.array_acct_attr_code(31) := 'REVERSED_DISTRIBUTION_ID2';
62368 l_rec_acct_attrs.array_char_value(31) := p_source_104;
62369 l_rec_acct_attrs.array_acct_attr_code(32) := 'REVERSED_DISTRIBUTION_TYPE';
62370 l_rec_acct_attrs.array_char_value(32) := p_source_105;
62371 l_rec_acct_attrs.array_acct_attr_code(33) := 'UPG_CR_ENC_TYPE_ID';
62372 l_rec_acct_attrs.array_num_value(33) := p_source_106;
62373 l_rec_acct_attrs.array_acct_attr_code(34) := 'UPG_DR_ENC_TYPE_ID';
62374 l_rec_acct_attrs.array_num_value(34) := p_source_107;
62375
62376 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
62377 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
62378
62379 ---------------------------------------------------------------------------------------------------------------
62380 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
62381 ---------------------------------------------------------------------------------------------------------------
62382 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
62383
62384 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
62385 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
62386
62387 IF xla_accounting_cache_pkg.GetValueChar
62388 (p_source_code => 'LEDGER_CATEGORY_CODE'
62389 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
62390 AND l_bflow_method_code = 'PRIOR_ENTRY'
62391 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
62392 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
62393 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
62394 )
62395 THEN
62396 xla_ae_lines_pkg.BflowUpgEntry
62397 (p_business_method_code => l_bflow_method_code
62398 ,p_business_class_code => l_bflow_class_code
62399 ,p_balance_type => l_balance_type_code);
62400 ELSE
62401 NULL;
62402 XLA_AE_LINES_PKG.business_flow_validation(
62403 p_business_method_code => l_bflow_method_code
62404 ,p_business_class_code => l_bflow_class_code
62405 ,p_inherit_description_flag => l_inherit_desc_flag);
62406 END IF;
62407
62408 --
62409 -- call analytical criteria
62410 --
62411 -- Inherited Analytical Criteria for business flow method of Prior Entry.
62412 --
62413 -- call description
62414 --
62415
62416 xla_ae_lines_pkg.SetLineDescription(
62417 p_ae_header_id => l_ae_header_id
62418 ,p_description => Description_3 (
62419 p_application_id => p_application_id
62420 , p_ae_header_id => l_ae_header_id
62421 , p_source_2 => p_source_2
62422 , p_source_3 => p_source_3
62423 , p_source_4 => p_source_4
62424 , p_source_5 => p_source_5
62425 )
62426 );
62427
62428
62429 --
62430 -- call ADRs
62431 -- Bug 4922099
62432 --
62433 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
62434 (NVL(l_actual_upg_option, 'N') = 'O') OR
62435 (NVL(l_enc_upg_option, 'N') = 'O')
62436 )
62437 THEN
62438 NULL;
62439 --
62440 --
62441
62442 --
62443 --
62444 END IF;
62445 --
62446 -- Bug 4922099
62447 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
62448 (NVL(l_enc_upg_option, 'N') = 'O')
62449 ) AND
62450 (l_bflow_method_code = 'PRIOR_ENTRY')
62451 )
62452 THEN
62453 IF
62454 --
62455 1 = 1
62456 --
62457 THEN
62458 xla_accounting_err_pkg.build_message
62459 (p_appli_s_name => 'XLA'
62460 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
62461 ,p_token_1 => 'LINE_NUMBER'
62462 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
62463 ,p_token_2 => 'LINE_TYPE_NAME'
62464 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
62465 l_component_type
62466 ,l_component_code
62467 ,l_component_type_code
62468 ,l_component_appl_id
62469 ,l_amb_context_code
62470 ,l_entity_code
62474 ,p_value_3 => xla_lookups_pkg.get_meaning(
62471 ,l_event_class_code
62472 )
62473 ,p_token_3 => 'OWNER'
62475 p_lookup_type => 'XLA_OWNER_TYPE'
62476 ,p_lookup_code => l_component_type_code
62477 )
62478 ,p_token_4 => 'PRODUCT_NAME'
62479 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
62480 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
62481 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
62482 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
62483 ,p_ae_header_id => NULL
62484 );
62485
62486 IF (C_LEVEL_ERROR>= g_log_level) THEN
62487 trace
62488 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
62489 ,p_level => C_LEVEL_ERROR
62490 ,p_module => l_log_module);
62491 END IF;
62492 END IF;
62493 END IF;
62494 --
62495 --
62496 ------------------------------------------------------------------------------------------------
62497 -- 4219869 Business Flow
62498 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
62499 -- Prior Entry. Currently, the following code is always generated.
62500 ------------------------------------------------------------------------------------------------
62501 -- No ValidateCurrentLine for business flow method of Prior Entry
62502
62503 ------------------------------------------------------------------------------------
62504 -- 4219869 Business Flow
62505 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
62506 ------------------------------------------------------------------------------------
62507 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
62508
62509 ----------------------------------------------------------------------------------
62510 -- 4219869 Business Flow
62511 -- Update journal entry status -- Need to generate this within IF <condition>
62512 ----------------------------------------------------------------------------------
62513 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
62514 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
62515 ,p_balance_type_code => l_balance_type_code
62516 );
62517
62518 -------------------------------------------------------------------------------------------
62519 -- 4262811 - Generate the Accrual Reversal lines
62520 -------------------------------------------------------------------------------------------
62521 BEGIN
62522 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
62523 (g_array_event(p_event_id).array_value_num('header_index'));
62524 IF l_acc_rev_flag IS NULL THEN
62525 l_acc_rev_flag := 'N';
62526 END IF;
62527 EXCEPTION
62528 WHEN OTHERS THEN
62529 l_acc_rev_flag := 'N';
62530 END;
62531 --
62532 IF (l_acc_rev_flag = 'Y') THEN
62533
62534 -- 4645092 ------------------------------------------------------------------------------
62535 -- To allow MPA report to determine if it should generate report process
62536 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
62537 ------------------------------------------------------------------------------------------
62538
62539 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
62540 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
62541 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
62542 -- call ADRs
62543 -- Bug 4922099
62544 --
62545 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
62546 (NVL(l_actual_upg_option, 'N') = 'O') OR
62547 (NVL(l_enc_upg_option, 'N') = 'O')
62548 )
62549 THEN
62550 NULL;
62551 --
62552 --
62553
62554 --
62555 --
62556 END IF;
62557
62558 --
62559 -- Update the line information that should be overwritten
62560 --
62561 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
62562 p_header_num => 1);
62563 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
62564
62565 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
62566
62567 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
62568 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
62569 END IF;
62570
62571 --
62572 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
62573 --
62577 ---------------------------------------------------------------------------------------------------
62574 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
62575 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
62576 ELSE
62578 -- 4262811a Switch Sign
62579 ---------------------------------------------------------------------------------------------------
62580 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
62581 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
62582 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
62583 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
62584 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
62585 -- 5132302
62586 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
62587 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
62588
62589 END IF;
62590
62591 -- 4955764
62592 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
62593 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
62594
62595
62596 XLA_AE_LINES_PKG.ValidateCurrentLine;
62597 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
62598
62599 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
62600 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
62601 ,p_balance_type_code => l_balance_type_code);
62602
62603 END IF;
62604
62605 -----------------------------------------------------------------------------------------
62606 -- 4262811 Multiperiod Accounting
62607 -----------------------------------------------------------------------------------------
62608 -- No MPA option is assigned.
62609
62610
62611 END IF;
62612 END IF;
62613 --
62614
62615 --
62616 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
62617 trace
62618 (p_msg => 'END of AcctLineType_98'
62619 ,p_level => C_LEVEL_PROCEDURE
62620 ,p_module => l_log_module);
62621 END IF;
62622 --
62623 EXCEPTION
62624 WHEN xla_exceptions_pkg.application_exception THEN
62625 RAISE;
62626 WHEN OTHERS THEN
62627 xla_exceptions_pkg.raise_message
62628 (p_location => 'XLA_00200_AAD_S_000006_BC_PKG.AcctLineType_98');
62629 END AcctLineType_98;
62630 --
62631
62632 ---------------------------------------
62633 --
62634 -- PRIVATE FUNCTION
62635 -- AcctLineType_99
62636 --
62637 ---------------------------------------
62638 PROCEDURE AcctLineType_99 (
62639 p_application_id IN NUMBER
62640 ,p_event_id IN NUMBER
62641 ,p_calculate_acctd_flag IN VARCHAR2
62642 ,p_calculate_g_l_flag IN VARCHAR2
62643 ,p_actual_flag IN OUT VARCHAR2
62644 ,p_balance_type_code OUT VARCHAR2
62645 ,p_gain_or_loss_ref OUT VARCHAR2
62646
62647 --Document Distribution Type
62648 , p_source_2 IN VARCHAR2
62649 --Project Name
62650 , p_source_3 IN VARCHAR2
62651 --Task Number
62652 , p_source_4 IN VARCHAR2
62653 --Expenditure Organization
62654 , p_source_5 IN NUMBER
62655 --Distribution Link Type
62656 , p_source_21 IN VARCHAR2
62657 --Invoice Distribution Identifier
62658 , p_source_30 IN NUMBER
62659 --Invoice Currency Code
62660 , p_source_33 IN VARCHAR2
62661 --Invoice Distribution Amount
62662 , p_source_57 IN NUMBER
62663 --Document Type
62664 , p_source_83 IN VARCHAR2
62665 --Burden Amount Display Method
62666 , p_source_84 IN VARCHAR2
62667 --Accounting reversal indicator for project invoice burden
62668 , p_source_85 IN VARCHAR2
62669 --Allocated to Application Identifier
62670 , p_source_86 IN NUMBER
62671 --Allocated to Distribution Type
62672 , p_source_87 IN VARCHAR2
62673 --Allocated to Entity Code
62674 , p_source_88 IN VARCHAR2
62675 --Allocated to First Distribution Identifier
62676 , p_source_89 IN NUMBER
62677 --Allocated to First System Transaction Identifier
62678 , p_source_90 IN NUMBER
62679 --Invoice Distribution Expenditure Type
62680 , p_source_96 IN VARCHAR2
62681 --Encumbrance Upgrade Credit Accounting Class
62682 , p_source_97 IN VARCHAR2
62683 --Encumbrance Upgrade Credit Account
62684 , p_source_98 IN NUMBER
62685 --Invoice Distribution Ledger Amount Before Rounding
62686 , p_source_99 IN NUMBER
62687 --Encumbrance Upgrade Debit Accounting Class
62688 , p_source_100 IN VARCHAR2
62689 --Encumbrance Upgrade Debit Account
62690 , p_source_101 IN NUMBER
62691 --Use Encumbrances Upgrade Attributes Flag
62692 , p_source_102 IN VARCHAR2
62693 --Accounting reversal first distribution identifier for project invoice burden
62694 , p_source_103 IN NUMBER
62695 --Invoice Burden Applied to Second Distribution Identifier
62696 , p_source_104 IN VARCHAR2
62700 , p_source_106 IN NUMBER
62697 --Accounting reversal distribution type for project invoice burden
62698 , p_source_105 IN VARCHAR2
62699 --Encumbrance Upgrade Credit Encumbrance Type
62701 --Encumbrance Upgrade Debit Encumbrance Type
62702 , p_source_107 IN NUMBER
62703 --Release Identifier
62704 , p_source_115 IN NUMBER
62705 --Purchase Order Burden Applied to Application Identifier
62706 , p_source_116 IN NUMBER
62707 --Purchase Order Burden Applied to Distribution Type
62708 , p_source_117 IN VARCHAR2
62709 --Purchase Order Burden Applied to Entity Code
62710 , p_source_118 IN VARCHAR2
62711 --Purchase Order Burden Applied to First Distribution Identifier
62712 , p_source_119 IN NUMBER
62713 --Purchase Order Burden Applied to First System Transaction Identifier
62714 , p_source_120 IN NUMBER
62715 --Purchase Order Burden Applied to Second Distribution Identifier
62716 , p_source_121 IN VARCHAR2
62717 )
62718 IS
62719
62720 l_component_type VARCHAR2(80);
62721 l_component_code VARCHAR2(30);
62722 l_component_type_code VARCHAR2(1);
62723 l_component_appl_id INTEGER;
62724 l_amb_context_code VARCHAR2(30);
62725 l_entity_code VARCHAR2(30);
62726 l_event_class_code VARCHAR2(30);
62727 l_ae_header_id NUMBER;
62728 l_event_type_code VARCHAR2(30);
62729 l_line_definition_code VARCHAR2(30);
62730 l_line_definition_owner_code VARCHAR2(1);
62731 --
62732 -- adr variables
62733 l_segment VARCHAR2(30);
62734 l_ccid NUMBER;
62735 l_adr_transaction_coa_id NUMBER;
62736 l_adr_accounting_coa_id NUMBER;
62737 l_adr_flexfield_segment_code VARCHAR2(30);
62738 l_adr_flex_value_set_id NUMBER;
62739 l_adr_value_type_code VARCHAR2(30);
62740 l_adr_value_combination_id NUMBER;
62741 l_adr_value_segment_code VARCHAR2(30);
62742
62743 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
62744 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
62745 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
62746 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
62747
62748 -- 4262811 Variables ------------------------------------------------------------------------------------------
62749 l_entered_amt_idx NUMBER;
62750 l_accted_amt_idx NUMBER;
62751 l_acc_rev_flag VARCHAR2(1);
62752 l_accrual_line_num NUMBER;
62753 l_tmp_amt NUMBER;
62754 l_acc_rev_natural_side_code VARCHAR2(1);
62755
62756 l_num_entries NUMBER;
62757 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
62758 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
62759 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
62760 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
62761 l_recog_line_1 NUMBER;
62762 l_recog_line_2 NUMBER;
62763
62764 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
62765 l_bflow_applied_to_amt NUMBER; -- 5132302
62766 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
62767
62768 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
62769
62770 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
62771 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
62772
62773 ---------------------------------------------------------------------------------------------------------------
62774
62775
62776 --
62777 -- bulk performance
62778 --
62779 l_balance_type_code VARCHAR2(1);
62780 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
62781 l_log_module VARCHAR2(240);
62782
62783 --
62784 -- Upgrade strategy
62785 --
62786 l_actual_upg_option VARCHAR2(1);
62787 l_enc_upg_option VARCHAR2(1);
62788
62789 --
62790 BEGIN
62791 --
62792 IF g_log_enabled THEN
62793 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_99';
62794 END IF;
62795 --
62796 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
62797
62798 trace
62799 (p_msg => 'BEGIN of AcctLineType_99'
62800 ,p_level => C_LEVEL_PROCEDURE
62801 ,p_module => l_log_module);
62802
62803 END IF;
62804 --
62805 l_component_type := 'AMB_JLT';
62806 l_component_code := 'REVERSE_PO_BURDENED_ENC';
62807 l_component_type_code := 'S';
62808 l_component_appl_id := 200;
62809 l_amb_context_code := 'DEFAULT';
62810 l_entity_code := 'AP_INVOICES';
62811 l_event_class_code := 'INVOICE_BURDEN';
62812 l_event_type_code := 'INVOICE_BURDEN_ALL';
62813 l_line_definition_owner_code := 'S';
62814 l_line_definition_code := 'AP_INV_BURDEN_ENC_ALL';
62815 --
62816 l_balance_type_code := 'E';
62817 l_segment := NULL;
62818 l_ccid := NULL;
62819 l_adr_transaction_coa_id := NULL;
62820 l_adr_accounting_coa_id := NULL;
62821 l_adr_flexfield_segment_code := NULL;
62822 l_adr_flex_value_set_id := NULL;
62823 l_adr_value_type_code := NULL;
62827 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
62824 l_adr_value_combination_id := NULL;
62825 l_adr_value_segment_code := NULL;
62826
62828 l_bflow_class_code := 'PO_PA_BURDENED_ENC'; -- 4219869 Business Flow
62829 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
62830 l_budgetary_control_flag := 'Y';
62831
62832 l_bflow_applied_to_amt_idx := NULL; -- 5132302
62833 l_bflow_applied_to_amt := NULL; -- 5132302
62834 l_entered_amt_idx := NULL; -- 4262811
62835 l_accted_amt_idx := NULL; -- 4262811
62836 l_acc_rev_flag := NULL; -- 4262811
62837 l_accrual_line_num := NULL; -- 4262811
62838 l_tmp_amt := NULL; -- 4262811
62839 --
62840
62841 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
62842 l_balance_type_code <> 'B' THEN
62843 IF NVL(p_source_83,'
62844 ') = 'PO' AND
62845 NVL(p_source_84,'
62846 ') = 'S' AND
62847 p_source_115 IS NULL
62848 THEN
62849
62850 --
62851 XLA_AE_LINES_PKG.SetNewLine;
62852
62853 p_balance_type_code := l_balance_type_code;
62854 -- set the flag so later we will know whether the gain loss line needs to be created
62855
62856 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
62857 p_actual_flag :='A';
62858 END IF;
62859
62860 --
62861 -- bulk performance
62862 --
62863 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
62864 p_header_num => 0); -- 4262811
62865 --
62866 -- set accounting line options
62867 --
62868 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
62869 p_natural_side_code => 'C'
62870 , p_gain_or_loss_flag => 'N'
62871 , p_gl_transfer_mode_code => 'S'
62872 , p_acct_entry_type_code => 'E'
62873 , p_switch_side_flag => 'Y'
62874 , p_merge_duplicate_code => 'N'
62875 );
62876 --
62877 l_acc_rev_natural_side_code := 'D'; -- 4262811
62878 --
62879 --
62880 -- set accounting line type info
62881 --
62882 xla_ae_lines_pkg.SetAcctLineType
62883 (p_component_type => l_component_type
62884 ,p_event_type_code => l_event_type_code
62885 ,p_line_definition_owner_code => l_line_definition_owner_code
62886 ,p_line_definition_code => l_line_definition_code
62887 ,p_accounting_line_code => l_component_code
62888 ,p_accounting_line_type_code => l_component_type_code
62889 ,p_accounting_line_appl_id => l_component_appl_id
62890 ,p_amb_context_code => l_amb_context_code
62891 ,p_entity_code => l_entity_code
62892 ,p_event_class_code => l_event_class_code);
62893 --
62894 -- set accounting class
62895 --
62896 xla_ae_lines_pkg.SetAcctClass(
62897 p_accounting_class_code => 'PO_PA_BURDENED'
62898 , p_ae_header_id => l_ae_header_id
62899 );
62900
62901 --
62902 -- set rounding class
62903 --
62904 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
62905 'PO_PA_BURDENED';
62906
62907 --
62908 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
62909 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
62910 --
62911 -- bulk performance
62912 --
62913 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
62914
62915 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
62916 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
62917
62918 -- 4955764
62919 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
62920 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
62921
62922 -- 4458381 Public Sector Enh
62923
62924 --
62925 -- set accounting attributes for the line type
62926 --
62927 l_entered_amt_idx := 27;
62928 l_accted_amt_idx := 29;
62929 l_bflow_applied_to_amt_idx := NULL; -- 5132302
62930 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
62931 l_rec_acct_attrs.array_char_value(1) := p_source_85;
62932 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
62933 l_rec_acct_attrs.array_num_value(2) := p_source_86;
62934 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
62935 l_rec_acct_attrs.array_char_value(3) := p_source_87;
62936 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
62937 l_rec_acct_attrs.array_char_value(4) := p_source_88;
62938 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
62939 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_89);
62940 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
62941 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_90);
62942 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
62943 l_rec_acct_attrs.array_num_value(7) := p_source_116;
62947 l_rec_acct_attrs.array_char_value(9) := p_source_118;
62944 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
62945 l_rec_acct_attrs.array_char_value(8) := p_source_117;
62946 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
62948 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
62949 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_119);
62950 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
62951 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_120);
62952 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_SECOND_DIST_ID';
62953 l_rec_acct_attrs.array_char_value(12) := p_source_121;
62954 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
62955 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_30);
62956 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_IDENTIFIER_2';
62957 l_rec_acct_attrs.array_char_value(14) := p_source_96;
62958 l_rec_acct_attrs.array_acct_attr_code(15) := 'DISTRIBUTION_TYPE';
62959 l_rec_acct_attrs.array_char_value(15) := p_source_21;
62960 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ACCT_CLASS';
62961 l_rec_acct_attrs.array_char_value(16) := p_source_97;
62962 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_CCID';
62963 l_rec_acct_attrs.array_num_value(17) := p_source_98;
62964 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_ENTERED_AMT';
62965 l_rec_acct_attrs.array_num_value(18) := p_source_57;
62966 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_CR_ENTERED_CURR';
62967 l_rec_acct_attrs.array_char_value(19) := p_source_33;
62968 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_CR_LEDGER_AMT';
62969 l_rec_acct_attrs.array_num_value(20) := p_source_99;
62970 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ACCT_CLASS';
62971 l_rec_acct_attrs.array_char_value(21) := p_source_100;
62972 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_CCID';
62973 l_rec_acct_attrs.array_num_value(22) := p_source_101;
62974 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_DR_ENTERED_AMT';
62975 l_rec_acct_attrs.array_num_value(23) := p_source_57;
62976 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENC_UPG_DR_ENTERED_CURR';
62977 l_rec_acct_attrs.array_char_value(24) := p_source_33;
62978 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENC_UPG_DR_LEDGER_AMT';
62979 l_rec_acct_attrs.array_num_value(25) := p_source_99;
62980 l_rec_acct_attrs.array_acct_attr_code(26) := 'ENC_UPG_OPTION';
62981 l_rec_acct_attrs.array_char_value(26) := p_source_102;
62982 l_rec_acct_attrs.array_acct_attr_code(27) := 'ENTERED_CURRENCY_AMOUNT';
62983 l_rec_acct_attrs.array_num_value(27) := p_source_57;
62984 l_rec_acct_attrs.array_acct_attr_code(28) := 'ENTERED_CURRENCY_CODE';
62985 l_rec_acct_attrs.array_char_value(28) := p_source_33;
62986 l_rec_acct_attrs.array_acct_attr_code(29) := 'LEDGER_AMOUNT';
62987 l_rec_acct_attrs.array_num_value(29) := p_source_99;
62988 l_rec_acct_attrs.array_acct_attr_code(30) := 'REVERSED_DISTRIBUTION_ID1';
62989 l_rec_acct_attrs.array_num_value(30) := to_char(p_source_103);
62990 l_rec_acct_attrs.array_acct_attr_code(31) := 'REVERSED_DISTRIBUTION_ID2';
62991 l_rec_acct_attrs.array_char_value(31) := p_source_104;
62992 l_rec_acct_attrs.array_acct_attr_code(32) := 'REVERSED_DISTRIBUTION_TYPE';
62993 l_rec_acct_attrs.array_char_value(32) := p_source_105;
62994 l_rec_acct_attrs.array_acct_attr_code(33) := 'UPG_CR_ENC_TYPE_ID';
62995 l_rec_acct_attrs.array_num_value(33) := p_source_106;
62996 l_rec_acct_attrs.array_acct_attr_code(34) := 'UPG_DR_ENC_TYPE_ID';
62997 l_rec_acct_attrs.array_num_value(34) := p_source_107;
62998
62999 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
63000 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
63001
63002 ---------------------------------------------------------------------------------------------------------------
63003 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
63004 ---------------------------------------------------------------------------------------------------------------
63005 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
63006
63007 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
63008 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
63009
63010 IF xla_accounting_cache_pkg.GetValueChar
63011 (p_source_code => 'LEDGER_CATEGORY_CODE'
63012 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
63013 AND l_bflow_method_code = 'PRIOR_ENTRY'
63014 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
63015 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
63016 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
63017 )
63018 THEN
63019 xla_ae_lines_pkg.BflowUpgEntry
63020 (p_business_method_code => l_bflow_method_code
63021 ,p_business_class_code => l_bflow_class_code
63022 ,p_balance_type => l_balance_type_code);
63023 ELSE
63024 NULL;
63025 XLA_AE_LINES_PKG.business_flow_validation(
63026 p_business_method_code => l_bflow_method_code
63027 ,p_business_class_code => l_bflow_class_code
63031 --
63028 ,p_inherit_description_flag => l_inherit_desc_flag);
63029 END IF;
63030
63032 -- call analytical criteria
63033 --
63034 -- Inherited Analytical Criteria for business flow method of Prior Entry.
63035 --
63036 -- call description
63037 --
63038
63039 xla_ae_lines_pkg.SetLineDescription(
63040 p_ae_header_id => l_ae_header_id
63041 ,p_description => Description_3 (
63042 p_application_id => p_application_id
63043 , p_ae_header_id => l_ae_header_id
63044 , p_source_2 => p_source_2
63045 , p_source_3 => p_source_3
63046 , p_source_4 => p_source_4
63047 , p_source_5 => p_source_5
63048 )
63049 );
63050
63051
63052 --
63053 -- call ADRs
63054 -- Bug 4922099
63055 --
63056 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
63057 (NVL(l_actual_upg_option, 'N') = 'O') OR
63058 (NVL(l_enc_upg_option, 'N') = 'O')
63059 )
63060 THEN
63061 NULL;
63062 --
63063 --
63064
63065 --
63066 --
63067 END IF;
63068 --
63069 -- Bug 4922099
63070 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
63071 (NVL(l_enc_upg_option, 'N') = 'O')
63072 ) AND
63073 (l_bflow_method_code = 'PRIOR_ENTRY')
63074 )
63075 THEN
63076 IF
63077 --
63078 1 = 1
63079 --
63080 THEN
63081 xla_accounting_err_pkg.build_message
63082 (p_appli_s_name => 'XLA'
63083 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
63084 ,p_token_1 => 'LINE_NUMBER'
63085 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
63086 ,p_token_2 => 'LINE_TYPE_NAME'
63087 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
63088 l_component_type
63089 ,l_component_code
63090 ,l_component_type_code
63091 ,l_component_appl_id
63092 ,l_amb_context_code
63093 ,l_entity_code
63094 ,l_event_class_code
63095 )
63096 ,p_token_3 => 'OWNER'
63097 ,p_value_3 => xla_lookups_pkg.get_meaning(
63098 p_lookup_type => 'XLA_OWNER_TYPE'
63099 ,p_lookup_code => l_component_type_code
63100 )
63101 ,p_token_4 => 'PRODUCT_NAME'
63102 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
63103 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
63104 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
63105 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
63106 ,p_ae_header_id => NULL
63107 );
63108
63109 IF (C_LEVEL_ERROR>= g_log_level) THEN
63110 trace
63111 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
63112 ,p_level => C_LEVEL_ERROR
63113 ,p_module => l_log_module);
63114 END IF;
63115 END IF;
63116 END IF;
63117 --
63118 --
63119 ------------------------------------------------------------------------------------------------
63120 -- 4219869 Business Flow
63121 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
63122 -- Prior Entry. Currently, the following code is always generated.
63123 ------------------------------------------------------------------------------------------------
63124 -- No ValidateCurrentLine for business flow method of Prior Entry
63125
63126 ------------------------------------------------------------------------------------
63127 -- 4219869 Business Flow
63128 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
63129 ------------------------------------------------------------------------------------
63130 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
63131
63132 ----------------------------------------------------------------------------------
63133 -- 4219869 Business Flow
63134 -- Update journal entry status -- Need to generate this within IF <condition>
63135 ----------------------------------------------------------------------------------
63136 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
63140
63137 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
63138 ,p_balance_type_code => l_balance_type_code
63139 );
63141 -------------------------------------------------------------------------------------------
63142 -- 4262811 - Generate the Accrual Reversal lines
63143 -------------------------------------------------------------------------------------------
63144 BEGIN
63145 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
63146 (g_array_event(p_event_id).array_value_num('header_index'));
63147 IF l_acc_rev_flag IS NULL THEN
63148 l_acc_rev_flag := 'N';
63149 END IF;
63150 EXCEPTION
63151 WHEN OTHERS THEN
63152 l_acc_rev_flag := 'N';
63153 END;
63154 --
63155 IF (l_acc_rev_flag = 'Y') THEN
63156
63157 -- 4645092 ------------------------------------------------------------------------------
63158 -- To allow MPA report to determine if it should generate report process
63159 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
63160 ------------------------------------------------------------------------------------------
63161
63162 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
63163 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
63164 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
63165 -- call ADRs
63166 -- Bug 4922099
63167 --
63168 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
63169 (NVL(l_actual_upg_option, 'N') = 'O') OR
63170 (NVL(l_enc_upg_option, 'N') = 'O')
63171 )
63172 THEN
63173 NULL;
63174 --
63175 --
63176
63177 --
63178 --
63179 END IF;
63180
63181 --
63182 -- Update the line information that should be overwritten
63183 --
63184 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
63185 p_header_num => 1);
63186 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
63187
63188 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
63189
63190 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
63191 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
63192 END IF;
63193
63194 --
63195 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
63196 --
63197 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
63198 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
63199 ELSE
63200 ---------------------------------------------------------------------------------------------------
63201 -- 4262811a Switch Sign
63202 ---------------------------------------------------------------------------------------------------
63203 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
63204 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
63205 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
63206 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
63207 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
63208 -- 5132302
63209 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
63210 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
63211
63212 END IF;
63213
63214 -- 4955764
63215 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
63216 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
63217
63218
63219 XLA_AE_LINES_PKG.ValidateCurrentLine;
63220 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
63221
63222 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
63223 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
63224 ,p_balance_type_code => l_balance_type_code);
63225
63226 END IF;
63227
63228 -----------------------------------------------------------------------------------------
63229 -- 4262811 Multiperiod Accounting
63230 -----------------------------------------------------------------------------------------
63231 -- No MPA option is assigned.
63232
63233
63234 END IF;
63235 END IF;
63236 --
63237
63238 --
63239 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
63240 trace
63241 (p_msg => 'END of AcctLineType_99'
63242 ,p_level => C_LEVEL_PROCEDURE
63243 ,p_module => l_log_module);
63244 END IF;
63245 --
63246 EXCEPTION
63247 WHEN xla_exceptions_pkg.application_exception THEN
63248 RAISE;
63249 WHEN OTHERS THEN
63250 xla_exceptions_pkg.raise_message
63251 (p_location => 'XLA_00200_AAD_S_000006_BC_PKG.AcctLineType_99');
63252 END AcctLineType_99;
63253 --
63254
63255 ---------------------------------------
63256 --
63257 -- PRIVATE FUNCTION
63258 -- AcctLineType_100
63262 p_application_id IN NUMBER
63259 --
63260 ---------------------------------------
63261 PROCEDURE AcctLineType_100 (
63263 ,p_event_id IN NUMBER
63264 ,p_calculate_acctd_flag IN VARCHAR2
63265 ,p_calculate_g_l_flag IN VARCHAR2
63266 ,p_actual_flag IN OUT VARCHAR2
63267 ,p_balance_type_code OUT VARCHAR2
63268 ,p_gain_or_loss_ref OUT VARCHAR2
63269
63270 --Document Distribution Type
63271 , p_source_2 IN VARCHAR2
63272 --Project Name
63273 , p_source_3 IN VARCHAR2
63274 --Task Number
63275 , p_source_4 IN VARCHAR2
63276 --Expenditure Organization
63277 , p_source_5 IN NUMBER
63278 --Distribution Link Type
63279 , p_source_21 IN VARCHAR2
63280 --Invoice Distribution Identifier
63281 , p_source_30 IN NUMBER
63282 --Invoice Currency Code
63283 , p_source_33 IN VARCHAR2
63284 --Invoice Distribution Amount
63285 , p_source_57 IN NUMBER
63286 --Document Type
63287 , p_source_83 IN VARCHAR2
63288 --Burden Amount Display Method
63289 , p_source_84 IN VARCHAR2
63290 --Accounting reversal indicator for project invoice burden
63291 , p_source_85 IN VARCHAR2
63292 --Allocated to Application Identifier
63293 , p_source_86 IN NUMBER
63294 --Allocated to Distribution Type
63295 , p_source_87 IN VARCHAR2
63296 --Allocated to Entity Code
63297 , p_source_88 IN VARCHAR2
63298 --Allocated to First Distribution Identifier
63299 , p_source_89 IN NUMBER
63300 --Allocated to First System Transaction Identifier
63301 , p_source_90 IN NUMBER
63302 --Invoice Distribution Expenditure Type
63303 , p_source_96 IN VARCHAR2
63304 --Encumbrance Upgrade Credit Accounting Class
63305 , p_source_97 IN VARCHAR2
63306 --Encumbrance Upgrade Credit Account
63307 , p_source_98 IN NUMBER
63308 --Invoice Distribution Ledger Amount Before Rounding
63309 , p_source_99 IN NUMBER
63310 --Encumbrance Upgrade Debit Accounting Class
63311 , p_source_100 IN VARCHAR2
63312 --Encumbrance Upgrade Debit Account
63313 , p_source_101 IN NUMBER
63314 --Use Encumbrances Upgrade Attributes Flag
63315 , p_source_102 IN VARCHAR2
63316 --Accounting reversal first distribution identifier for project invoice burden
63317 , p_source_103 IN NUMBER
63318 --Invoice Burden Applied to Second Distribution Identifier
63319 , p_source_104 IN VARCHAR2
63320 --Accounting reversal distribution type for project invoice burden
63321 , p_source_105 IN VARCHAR2
63322 --Encumbrance Upgrade Credit Encumbrance Type
63323 , p_source_106 IN NUMBER
63324 --Encumbrance Upgrade Debit Encumbrance Type
63325 , p_source_107 IN NUMBER
63326 --Burden Record Identifier
63327 , p_source_108 IN VARCHAR2
63328 , p_source_108_meaning IN VARCHAR2
63329 --Release Identifier
63330 , p_source_115 IN NUMBER
63331 --Purchase Order Burden Applied to Application Identifier
63332 , p_source_116 IN NUMBER
63333 --Purchase Order Burden Applied to Distribution Type
63334 , p_source_117 IN VARCHAR2
63335 --Purchase Order Burden Applied to Entity Code
63336 , p_source_118 IN VARCHAR2
63337 --Purchase Order Burden Applied to First Distribution Identifier
63338 , p_source_119 IN NUMBER
63339 --Purchase Order Burden Applied to First System Transaction Identifier
63340 , p_source_120 IN NUMBER
63341 --Purchase Order Burden Applied to Second Distribution Identifier
63342 , p_source_121 IN VARCHAR2
63343 )
63344 IS
63345
63346 l_component_type VARCHAR2(80);
63347 l_component_code VARCHAR2(30);
63348 l_component_type_code VARCHAR2(1);
63349 l_component_appl_id INTEGER;
63350 l_amb_context_code VARCHAR2(30);
63351 l_entity_code VARCHAR2(30);
63352 l_event_class_code VARCHAR2(30);
63353 l_ae_header_id NUMBER;
63354 l_event_type_code VARCHAR2(30);
63355 l_line_definition_code VARCHAR2(30);
63356 l_line_definition_owner_code VARCHAR2(1);
63357 --
63358 -- adr variables
63359 l_segment VARCHAR2(30);
63360 l_ccid NUMBER;
63361 l_adr_transaction_coa_id NUMBER;
63362 l_adr_accounting_coa_id NUMBER;
63363 l_adr_flexfield_segment_code VARCHAR2(30);
63364 l_adr_flex_value_set_id NUMBER;
63365 l_adr_value_type_code VARCHAR2(30);
63366 l_adr_value_combination_id NUMBER;
63367 l_adr_value_segment_code VARCHAR2(30);
63368
63369 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
63370 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
63371 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
63372 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
63373
63374 -- 4262811 Variables ------------------------------------------------------------------------------------------
63375 l_entered_amt_idx NUMBER;
63376 l_accted_amt_idx NUMBER;
63377 l_acc_rev_flag VARCHAR2(1);
63378 l_accrual_line_num NUMBER;
63379 l_tmp_amt NUMBER;
63380 l_acc_rev_natural_side_code VARCHAR2(1);
63381
63382 l_num_entries NUMBER;
63386 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
63383 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
63384 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
63385 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
63387 l_recog_line_1 NUMBER;
63388 l_recog_line_2 NUMBER;
63389
63390 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
63391 l_bflow_applied_to_amt NUMBER; -- 5132302
63392 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
63393
63394 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
63395
63396 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
63397 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
63398
63399 ---------------------------------------------------------------------------------------------------------------
63400
63401
63402 --
63403 -- bulk performance
63404 --
63405 l_balance_type_code VARCHAR2(1);
63406 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
63407 l_log_module VARCHAR2(240);
63408
63409 --
63410 -- Upgrade strategy
63411 --
63412 l_actual_upg_option VARCHAR2(1);
63413 l_enc_upg_option VARCHAR2(1);
63414
63415 --
63416 BEGIN
63417 --
63418 IF g_log_enabled THEN
63419 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_100';
63420 END IF;
63421 --
63422 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
63423
63424 trace
63425 (p_msg => 'BEGIN of AcctLineType_100'
63426 ,p_level => C_LEVEL_PROCEDURE
63427 ,p_module => l_log_module);
63428
63429 END IF;
63430 --
63431 l_component_type := 'AMB_JLT';
63432 l_component_code := 'REVERSE_PO_BURDEN_ENC';
63433 l_component_type_code := 'S';
63434 l_component_appl_id := 200;
63435 l_amb_context_code := 'DEFAULT';
63436 l_entity_code := 'AP_INVOICES';
63437 l_event_class_code := 'INVOICE_BURDEN';
63438 l_event_type_code := 'INVOICE_BURDEN_ALL';
63439 l_line_definition_owner_code := 'S';
63440 l_line_definition_code := 'AP_INV_BURDEN_ENC_ALL';
63441 --
63442 l_balance_type_code := 'E';
63443 l_segment := NULL;
63444 l_ccid := NULL;
63445 l_adr_transaction_coa_id := NULL;
63446 l_adr_accounting_coa_id := NULL;
63447 l_adr_flexfield_segment_code := NULL;
63448 l_adr_flex_value_set_id := NULL;
63449 l_adr_value_type_code := NULL;
63450 l_adr_value_combination_id := NULL;
63451 l_adr_value_segment_code := NULL;
63452
63453 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
63454 l_bflow_class_code := 'PO_PA_BURDEN_ENC'; -- 4219869 Business Flow
63455 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
63456 l_budgetary_control_flag := 'Y';
63457
63458 l_bflow_applied_to_amt_idx := NULL; -- 5132302
63459 l_bflow_applied_to_amt := NULL; -- 5132302
63460 l_entered_amt_idx := NULL; -- 4262811
63461 l_accted_amt_idx := NULL; -- 4262811
63462 l_acc_rev_flag := NULL; -- 4262811
63463 l_accrual_line_num := NULL; -- 4262811
63464 l_tmp_amt := NULL; -- 4262811
63465 --
63466
63467 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
63468 l_balance_type_code <> 'B' THEN
63469 IF NVL(p_source_83,'
63470 ') = 'PO' AND
63471 NVL(p_source_108,'
63472 ') = 'O' AND
63473 NVL(p_source_84,'
63474 ') = 'D' AND
63475 p_source_115 IS NULL
63476 THEN
63477
63478 --
63479 XLA_AE_LINES_PKG.SetNewLine;
63480
63481 p_balance_type_code := l_balance_type_code;
63482 -- set the flag so later we will know whether the gain loss line needs to be created
63483
63484 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
63485 p_actual_flag :='A';
63486 END IF;
63487
63488 --
63489 -- bulk performance
63490 --
63491 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
63492 p_header_num => 0); -- 4262811
63493 --
63494 -- set accounting line options
63495 --
63496 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
63497 p_natural_side_code => 'C'
63498 , p_gain_or_loss_flag => 'N'
63499 , p_gl_transfer_mode_code => 'S'
63500 , p_acct_entry_type_code => 'E'
63501 , p_switch_side_flag => 'Y'
63502 , p_merge_duplicate_code => 'N'
63503 );
63504 --
63505 l_acc_rev_natural_side_code := 'D'; -- 4262811
63506 --
63507 --
63508 -- set accounting line type info
63509 --
63510 xla_ae_lines_pkg.SetAcctLineType
63511 (p_component_type => l_component_type
63512 ,p_event_type_code => l_event_type_code
63513 ,p_line_definition_owner_code => l_line_definition_owner_code
63514 ,p_line_definition_code => l_line_definition_code
63515 ,p_accounting_line_code => l_component_code
63516 ,p_accounting_line_type_code => l_component_type_code
63517 ,p_accounting_line_appl_id => l_component_appl_id
63521 --
63518 ,p_amb_context_code => l_amb_context_code
63519 ,p_entity_code => l_entity_code
63520 ,p_event_class_code => l_event_class_code);
63522 -- set accounting class
63523 --
63524 xla_ae_lines_pkg.SetAcctClass(
63525 p_accounting_class_code => 'PO_PA_BURDEN'
63526 , p_ae_header_id => l_ae_header_id
63527 );
63528
63529 --
63530 -- set rounding class
63531 --
63532 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
63533 'PO_PA_BURDEN';
63534
63535 --
63536 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
63537 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
63538 --
63539 -- bulk performance
63540 --
63541 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
63542
63543 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
63544 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
63545
63546 -- 4955764
63547 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
63548 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
63549
63550 -- 4458381 Public Sector Enh
63551
63552 --
63553 -- set accounting attributes for the line type
63554 --
63555 l_entered_amt_idx := 27;
63556 l_accted_amt_idx := 29;
63557 l_bflow_applied_to_amt_idx := NULL; -- 5132302
63558 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
63559 l_rec_acct_attrs.array_char_value(1) := p_source_85;
63560 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
63561 l_rec_acct_attrs.array_num_value(2) := p_source_86;
63562 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
63563 l_rec_acct_attrs.array_char_value(3) := p_source_87;
63564 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
63565 l_rec_acct_attrs.array_char_value(4) := p_source_88;
63566 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
63567 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_89);
63568 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
63569 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_90);
63570 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
63571 l_rec_acct_attrs.array_num_value(7) := p_source_116;
63572 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
63573 l_rec_acct_attrs.array_char_value(8) := p_source_117;
63574 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
63575 l_rec_acct_attrs.array_char_value(9) := p_source_118;
63576 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
63577 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_119);
63578 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
63579 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_120);
63580 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_SECOND_DIST_ID';
63581 l_rec_acct_attrs.array_char_value(12) := p_source_121;
63582 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
63583 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_30);
63584 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_IDENTIFIER_2';
63585 l_rec_acct_attrs.array_char_value(14) := p_source_96;
63586 l_rec_acct_attrs.array_acct_attr_code(15) := 'DISTRIBUTION_TYPE';
63587 l_rec_acct_attrs.array_char_value(15) := p_source_21;
63588 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ACCT_CLASS';
63589 l_rec_acct_attrs.array_char_value(16) := p_source_97;
63590 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_CCID';
63591 l_rec_acct_attrs.array_num_value(17) := p_source_98;
63592 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_ENTERED_AMT';
63593 l_rec_acct_attrs.array_num_value(18) := p_source_57;
63594 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_CR_ENTERED_CURR';
63595 l_rec_acct_attrs.array_char_value(19) := p_source_33;
63596 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_CR_LEDGER_AMT';
63597 l_rec_acct_attrs.array_num_value(20) := p_source_99;
63598 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ACCT_CLASS';
63599 l_rec_acct_attrs.array_char_value(21) := p_source_100;
63600 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_CCID';
63601 l_rec_acct_attrs.array_num_value(22) := p_source_101;
63602 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_DR_ENTERED_AMT';
63603 l_rec_acct_attrs.array_num_value(23) := p_source_57;
63604 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENC_UPG_DR_ENTERED_CURR';
63605 l_rec_acct_attrs.array_char_value(24) := p_source_33;
63606 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENC_UPG_DR_LEDGER_AMT';
63607 l_rec_acct_attrs.array_num_value(25) := p_source_99;
63608 l_rec_acct_attrs.array_acct_attr_code(26) := 'ENC_UPG_OPTION';
63609 l_rec_acct_attrs.array_char_value(26) := p_source_102;
63610 l_rec_acct_attrs.array_acct_attr_code(27) := 'ENTERED_CURRENCY_AMOUNT';
63611 l_rec_acct_attrs.array_num_value(27) := p_source_57;
63612 l_rec_acct_attrs.array_acct_attr_code(28) := 'ENTERED_CURRENCY_CODE';
63616 l_rec_acct_attrs.array_acct_attr_code(30) := 'REVERSED_DISTRIBUTION_ID1';
63613 l_rec_acct_attrs.array_char_value(28) := p_source_33;
63614 l_rec_acct_attrs.array_acct_attr_code(29) := 'LEDGER_AMOUNT';
63615 l_rec_acct_attrs.array_num_value(29) := p_source_99;
63617 l_rec_acct_attrs.array_num_value(30) := to_char(p_source_103);
63618 l_rec_acct_attrs.array_acct_attr_code(31) := 'REVERSED_DISTRIBUTION_ID2';
63619 l_rec_acct_attrs.array_char_value(31) := p_source_104;
63620 l_rec_acct_attrs.array_acct_attr_code(32) := 'REVERSED_DISTRIBUTION_TYPE';
63621 l_rec_acct_attrs.array_char_value(32) := p_source_105;
63622 l_rec_acct_attrs.array_acct_attr_code(33) := 'UPG_CR_ENC_TYPE_ID';
63623 l_rec_acct_attrs.array_num_value(33) := p_source_106;
63624 l_rec_acct_attrs.array_acct_attr_code(34) := 'UPG_DR_ENC_TYPE_ID';
63625 l_rec_acct_attrs.array_num_value(34) := p_source_107;
63626
63627 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
63628 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
63629
63630 ---------------------------------------------------------------------------------------------------------------
63631 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
63632 ---------------------------------------------------------------------------------------------------------------
63633 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
63634
63635 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
63636 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
63637
63638 IF xla_accounting_cache_pkg.GetValueChar
63639 (p_source_code => 'LEDGER_CATEGORY_CODE'
63640 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
63641 AND l_bflow_method_code = 'PRIOR_ENTRY'
63642 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
63643 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
63644 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
63645 )
63646 THEN
63647 xla_ae_lines_pkg.BflowUpgEntry
63648 (p_business_method_code => l_bflow_method_code
63649 ,p_business_class_code => l_bflow_class_code
63650 ,p_balance_type => l_balance_type_code);
63651 ELSE
63652 NULL;
63653 XLA_AE_LINES_PKG.business_flow_validation(
63654 p_business_method_code => l_bflow_method_code
63655 ,p_business_class_code => l_bflow_class_code
63656 ,p_inherit_description_flag => l_inherit_desc_flag);
63657 END IF;
63658
63659 --
63660 -- call analytical criteria
63661 --
63662 -- Inherited Analytical Criteria for business flow method of Prior Entry.
63663 --
63664 -- call description
63665 --
63666
63667 xla_ae_lines_pkg.SetLineDescription(
63668 p_ae_header_id => l_ae_header_id
63669 ,p_description => Description_3 (
63670 p_application_id => p_application_id
63671 , p_ae_header_id => l_ae_header_id
63672 , p_source_2 => p_source_2
63673 , p_source_3 => p_source_3
63674 , p_source_4 => p_source_4
63675 , p_source_5 => p_source_5
63676 )
63677 );
63678
63679
63680 --
63681 -- call ADRs
63682 -- Bug 4922099
63683 --
63684 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
63685 (NVL(l_actual_upg_option, 'N') = 'O') OR
63686 (NVL(l_enc_upg_option, 'N') = 'O')
63687 )
63688 THEN
63689 NULL;
63690 --
63691 --
63692
63693 --
63694 --
63695 END IF;
63696 --
63697 -- Bug 4922099
63698 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
63699 (NVL(l_enc_upg_option, 'N') = 'O')
63700 ) AND
63701 (l_bflow_method_code = 'PRIOR_ENTRY')
63702 )
63703 THEN
63704 IF
63705 --
63706 1 = 1
63707 --
63708 THEN
63709 xla_accounting_err_pkg.build_message
63710 (p_appli_s_name => 'XLA'
63711 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
63712 ,p_token_1 => 'LINE_NUMBER'
63713 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
63714 ,p_token_2 => 'LINE_TYPE_NAME'
63715 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
63716 l_component_type
63717 ,l_component_code
63718 ,l_component_type_code
63719 ,l_component_appl_id
63720 ,l_amb_context_code
63721 ,l_entity_code
63722 ,l_event_class_code
63726 p_lookup_type => 'XLA_OWNER_TYPE'
63723 )
63724 ,p_token_3 => 'OWNER'
63725 ,p_value_3 => xla_lookups_pkg.get_meaning(
63727 ,p_lookup_code => l_component_type_code
63728 )
63729 ,p_token_4 => 'PRODUCT_NAME'
63730 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
63731 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
63732 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
63733 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
63734 ,p_ae_header_id => NULL
63735 );
63736
63737 IF (C_LEVEL_ERROR>= g_log_level) THEN
63738 trace
63739 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
63740 ,p_level => C_LEVEL_ERROR
63741 ,p_module => l_log_module);
63742 END IF;
63743 END IF;
63744 END IF;
63745 --
63746 --
63747 ------------------------------------------------------------------------------------------------
63748 -- 4219869 Business Flow
63749 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
63750 -- Prior Entry. Currently, the following code is always generated.
63751 ------------------------------------------------------------------------------------------------
63752 -- No ValidateCurrentLine for business flow method of Prior Entry
63753
63754 ------------------------------------------------------------------------------------
63755 -- 4219869 Business Flow
63756 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
63757 ------------------------------------------------------------------------------------
63758 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
63759
63760 ----------------------------------------------------------------------------------
63761 -- 4219869 Business Flow
63762 -- Update journal entry status -- Need to generate this within IF <condition>
63763 ----------------------------------------------------------------------------------
63764 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
63765 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
63766 ,p_balance_type_code => l_balance_type_code
63767 );
63768
63769 -------------------------------------------------------------------------------------------
63770 -- 4262811 - Generate the Accrual Reversal lines
63771 -------------------------------------------------------------------------------------------
63772 BEGIN
63773 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
63774 (g_array_event(p_event_id).array_value_num('header_index'));
63775 IF l_acc_rev_flag IS NULL THEN
63776 l_acc_rev_flag := 'N';
63777 END IF;
63778 EXCEPTION
63779 WHEN OTHERS THEN
63780 l_acc_rev_flag := 'N';
63781 END;
63782 --
63783 IF (l_acc_rev_flag = 'Y') THEN
63784
63785 -- 4645092 ------------------------------------------------------------------------------
63786 -- To allow MPA report to determine if it should generate report process
63787 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
63788 ------------------------------------------------------------------------------------------
63789
63790 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
63791 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
63792 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
63793 -- call ADRs
63794 -- Bug 4922099
63795 --
63796 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
63797 (NVL(l_actual_upg_option, 'N') = 'O') OR
63798 (NVL(l_enc_upg_option, 'N') = 'O')
63799 )
63800 THEN
63801 NULL;
63802 --
63803 --
63804
63805 --
63806 --
63807 END IF;
63808
63809 --
63810 -- Update the line information that should be overwritten
63811 --
63812 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
63813 p_header_num => 1);
63814 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
63815
63816 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
63817
63818 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
63819 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
63820 END IF;
63821
63822 --
63823 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
63824 --
63825 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
63829 -- 4262811a Switch Sign
63826 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
63827 ELSE
63828 ---------------------------------------------------------------------------------------------------
63830 ---------------------------------------------------------------------------------------------------
63831 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
63832 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
63833 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
63834 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
63835 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
63836 -- 5132302
63837 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
63838 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
63839
63840 END IF;
63841
63842 -- 4955764
63843 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
63844 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
63845
63846
63847 XLA_AE_LINES_PKG.ValidateCurrentLine;
63848 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
63849
63850 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
63851 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
63852 ,p_balance_type_code => l_balance_type_code);
63853
63854 END IF;
63855
63856 -----------------------------------------------------------------------------------------
63857 -- 4262811 Multiperiod Accounting
63858 -----------------------------------------------------------------------------------------
63859 -- No MPA option is assigned.
63860
63861
63862 END IF;
63863 END IF;
63864 --
63865
63866 --
63867 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
63868 trace
63869 (p_msg => 'END of AcctLineType_100'
63870 ,p_level => C_LEVEL_PROCEDURE
63871 ,p_module => l_log_module);
63872 END IF;
63873 --
63874 EXCEPTION
63875 WHEN xla_exceptions_pkg.application_exception THEN
63876 RAISE;
63877 WHEN OTHERS THEN
63878 xla_exceptions_pkg.raise_message
63879 (p_location => 'XLA_00200_AAD_S_000006_BC_PKG.AcctLineType_100');
63880 END AcctLineType_100;
63881 --
63882
63883 ---------------------------------------
63884 --
63885 -- PRIVATE FUNCTION
63886 -- AcctLineType_101
63887 --
63888 ---------------------------------------
63889 PROCEDURE AcctLineType_101 (
63890 p_application_id IN NUMBER
63891 ,p_event_id IN NUMBER
63892 ,p_calculate_acctd_flag IN VARCHAR2
63893 ,p_calculate_g_l_flag IN VARCHAR2
63894 ,p_actual_flag IN OUT VARCHAR2
63895 ,p_balance_type_code OUT VARCHAR2
63896 ,p_gain_or_loss_ref OUT VARCHAR2
63897
63898 --Document Distribution Type
63899 , p_source_2 IN VARCHAR2
63900 --Project Name
63901 , p_source_3 IN VARCHAR2
63902 --Task Number
63903 , p_source_4 IN VARCHAR2
63904 --Expenditure Organization
63905 , p_source_5 IN NUMBER
63906 --Distribution Link Type
63907 , p_source_21 IN VARCHAR2
63908 --Invoice Distribution Identifier
63909 , p_source_30 IN NUMBER
63910 --Invoice Currency Code
63911 , p_source_33 IN VARCHAR2
63912 --Invoice Distribution Amount
63913 , p_source_57 IN NUMBER
63914 --Document Type
63915 , p_source_83 IN VARCHAR2
63916 --Burden Amount Display Method
63917 , p_source_84 IN VARCHAR2
63918 --Accounting reversal indicator for project invoice burden
63919 , p_source_85 IN VARCHAR2
63920 --Allocated to Application Identifier
63921 , p_source_86 IN NUMBER
63922 --Allocated to Distribution Type
63923 , p_source_87 IN VARCHAR2
63924 --Allocated to Entity Code
63925 , p_source_88 IN VARCHAR2
63926 --Allocated to First Distribution Identifier
63927 , p_source_89 IN NUMBER
63928 --Allocated to First System Transaction Identifier
63929 , p_source_90 IN NUMBER
63930 --Invoice Distribution Expenditure Type
63931 , p_source_96 IN VARCHAR2
63932 --Encumbrance Upgrade Credit Accounting Class
63933 , p_source_97 IN VARCHAR2
63934 --Encumbrance Upgrade Credit Account
63935 , p_source_98 IN NUMBER
63936 --Invoice Distribution Ledger Amount Before Rounding
63937 , p_source_99 IN NUMBER
63938 --Encumbrance Upgrade Debit Accounting Class
63939 , p_source_100 IN VARCHAR2
63940 --Encumbrance Upgrade Debit Account
63941 , p_source_101 IN NUMBER
63942 --Use Encumbrances Upgrade Attributes Flag
63943 , p_source_102 IN VARCHAR2
63944 --Accounting reversal first distribution identifier for project invoice burden
63945 , p_source_103 IN NUMBER
63946 --Invoice Burden Applied to Second Distribution Identifier
63947 , p_source_104 IN VARCHAR2
63948 --Accounting reversal distribution type for project invoice burden
63949 , p_source_105 IN VARCHAR2
63953 , p_source_107 IN NUMBER
63950 --Encumbrance Upgrade Credit Encumbrance Type
63951 , p_source_106 IN NUMBER
63952 --Encumbrance Upgrade Debit Encumbrance Type
63954 --Release Identifier
63955 , p_source_115 IN NUMBER
63956 --Purchase Order Burden Applied to Application Identifier
63957 , p_source_116 IN NUMBER
63958 --Purchase Order Burden Applied to Distribution Type
63959 , p_source_117 IN VARCHAR2
63960 --Purchase Order Burden Applied to Entity Code
63961 , p_source_118 IN VARCHAR2
63962 --Purchase Order Burden Applied to First Distribution Identifier
63963 , p_source_119 IN NUMBER
63964 --Purchase Order Burden Applied to First System Transaction Identifier
63965 , p_source_120 IN NUMBER
63966 --Purchase Order Burden Applied to Second Distribution Identifier
63967 , p_source_121 IN VARCHAR2
63968 )
63969 IS
63970
63971 l_component_type VARCHAR2(80);
63972 l_component_code VARCHAR2(30);
63973 l_component_type_code VARCHAR2(1);
63974 l_component_appl_id INTEGER;
63975 l_amb_context_code VARCHAR2(30);
63976 l_entity_code VARCHAR2(30);
63977 l_event_class_code VARCHAR2(30);
63978 l_ae_header_id NUMBER;
63979 l_event_type_code VARCHAR2(30);
63980 l_line_definition_code VARCHAR2(30);
63981 l_line_definition_owner_code VARCHAR2(1);
63982 --
63983 -- adr variables
63984 l_segment VARCHAR2(30);
63985 l_ccid NUMBER;
63986 l_adr_transaction_coa_id NUMBER;
63987 l_adr_accounting_coa_id NUMBER;
63988 l_adr_flexfield_segment_code VARCHAR2(30);
63989 l_adr_flex_value_set_id NUMBER;
63990 l_adr_value_type_code VARCHAR2(30);
63991 l_adr_value_combination_id NUMBER;
63992 l_adr_value_segment_code VARCHAR2(30);
63993
63994 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
63995 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
63996 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
63997 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
63998
63999 -- 4262811 Variables ------------------------------------------------------------------------------------------
64000 l_entered_amt_idx NUMBER;
64001 l_accted_amt_idx NUMBER;
64002 l_acc_rev_flag VARCHAR2(1);
64003 l_accrual_line_num NUMBER;
64004 l_tmp_amt NUMBER;
64005 l_acc_rev_natural_side_code VARCHAR2(1);
64006
64007 l_num_entries NUMBER;
64008 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
64009 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
64010 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
64011 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
64012 l_recog_line_1 NUMBER;
64013 l_recog_line_2 NUMBER;
64014
64015 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
64016 l_bflow_applied_to_amt NUMBER; -- 5132302
64017 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
64018
64019 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
64020
64021 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
64022 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
64023
64024 ---------------------------------------------------------------------------------------------------------------
64025
64026
64027 --
64028 -- bulk performance
64029 --
64030 l_balance_type_code VARCHAR2(1);
64031 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
64032 l_log_module VARCHAR2(240);
64033
64034 --
64035 -- Upgrade strategy
64036 --
64037 l_actual_upg_option VARCHAR2(1);
64038 l_enc_upg_option VARCHAR2(1);
64039
64040 --
64041 BEGIN
64042 --
64043 IF g_log_enabled THEN
64044 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_101';
64045 END IF;
64046 --
64047 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
64048
64049 trace
64050 (p_msg => 'BEGIN of AcctLineType_101'
64051 ,p_level => C_LEVEL_PROCEDURE
64052 ,p_module => l_log_module);
64053
64054 END IF;
64055 --
64056 l_component_type := 'AMB_JLT';
64057 l_component_code := 'REVERSE_REL_BURDENED_ENC';
64058 l_component_type_code := 'S';
64059 l_component_appl_id := 200;
64060 l_amb_context_code := 'DEFAULT';
64061 l_entity_code := 'AP_INVOICES';
64062 l_event_class_code := 'INVOICE_BURDEN';
64063 l_event_type_code := 'INVOICE_BURDEN_ALL';
64064 l_line_definition_owner_code := 'S';
64065 l_line_definition_code := 'AP_INV_BURDEN_ENC_ALL';
64066 --
64067 l_balance_type_code := 'E';
64068 l_segment := NULL;
64069 l_ccid := NULL;
64070 l_adr_transaction_coa_id := NULL;
64071 l_adr_accounting_coa_id := NULL;
64072 l_adr_flexfield_segment_code := NULL;
64073 l_adr_flex_value_set_id := NULL;
64074 l_adr_value_type_code := NULL;
64075 l_adr_value_combination_id := NULL;
64076 l_adr_value_segment_code := NULL;
64077
64081 l_budgetary_control_flag := 'Y';
64078 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
64079 l_bflow_class_code := 'REL_PA_BURDENED_ENC'; -- 4219869 Business Flow
64080 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
64082
64083 l_bflow_applied_to_amt_idx := NULL; -- 5132302
64084 l_bflow_applied_to_amt := NULL; -- 5132302
64085 l_entered_amt_idx := NULL; -- 4262811
64086 l_accted_amt_idx := NULL; -- 4262811
64087 l_acc_rev_flag := NULL; -- 4262811
64088 l_accrual_line_num := NULL; -- 4262811
64089 l_tmp_amt := NULL; -- 4262811
64090 --
64091
64092 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
64093 l_balance_type_code <> 'B' THEN
64094 IF NVL(p_source_83,'
64095 ') = 'PO' AND
64096 NVL(p_source_84,'
64097 ') = 'S' AND
64098 p_source_115 IS NOT NULL
64099 THEN
64100
64101 --
64102 XLA_AE_LINES_PKG.SetNewLine;
64103
64104 p_balance_type_code := l_balance_type_code;
64105 -- set the flag so later we will know whether the gain loss line needs to be created
64106
64107 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
64108 p_actual_flag :='A';
64109 END IF;
64110
64111 --
64112 -- bulk performance
64113 --
64114 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
64115 p_header_num => 0); -- 4262811
64116 --
64117 -- set accounting line options
64118 --
64119 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
64120 p_natural_side_code => 'C'
64121 , p_gain_or_loss_flag => 'N'
64122 , p_gl_transfer_mode_code => 'S'
64123 , p_acct_entry_type_code => 'E'
64124 , p_switch_side_flag => 'Y'
64125 , p_merge_duplicate_code => 'N'
64126 );
64127 --
64128 l_acc_rev_natural_side_code := 'D'; -- 4262811
64129 --
64130 --
64131 -- set accounting line type info
64132 --
64133 xla_ae_lines_pkg.SetAcctLineType
64134 (p_component_type => l_component_type
64135 ,p_event_type_code => l_event_type_code
64136 ,p_line_definition_owner_code => l_line_definition_owner_code
64137 ,p_line_definition_code => l_line_definition_code
64138 ,p_accounting_line_code => l_component_code
64139 ,p_accounting_line_type_code => l_component_type_code
64140 ,p_accounting_line_appl_id => l_component_appl_id
64141 ,p_amb_context_code => l_amb_context_code
64142 ,p_entity_code => l_entity_code
64143 ,p_event_class_code => l_event_class_code);
64144 --
64145 -- set accounting class
64146 --
64147 xla_ae_lines_pkg.SetAcctClass(
64148 p_accounting_class_code => 'PO_PA_BURDENED'
64149 , p_ae_header_id => l_ae_header_id
64150 );
64151
64152 --
64153 -- set rounding class
64154 --
64155 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
64156 'PO_PA_BURDENED';
64157
64158 --
64159 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
64160 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
64161 --
64162 -- bulk performance
64163 --
64164 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
64165
64166 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
64167 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
64168
64169 -- 4955764
64170 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
64171 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
64172
64173 -- 4458381 Public Sector Enh
64174
64175 --
64176 -- set accounting attributes for the line type
64177 --
64178 l_entered_amt_idx := 27;
64179 l_accted_amt_idx := 29;
64180 l_bflow_applied_to_amt_idx := NULL; -- 5132302
64181 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
64182 l_rec_acct_attrs.array_char_value(1) := p_source_85;
64183 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
64184 l_rec_acct_attrs.array_num_value(2) := p_source_86;
64185 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
64186 l_rec_acct_attrs.array_char_value(3) := p_source_87;
64187 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
64188 l_rec_acct_attrs.array_char_value(4) := p_source_88;
64189 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
64190 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_89);
64191 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
64192 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_90);
64193 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
64194 l_rec_acct_attrs.array_num_value(7) := p_source_116;
64195 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
64196 l_rec_acct_attrs.array_char_value(8) := p_source_117;
64197 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
64201 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
64198 l_rec_acct_attrs.array_char_value(9) := p_source_118;
64199 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
64200 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_119);
64202 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_120);
64203 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_SECOND_DIST_ID';
64204 l_rec_acct_attrs.array_char_value(12) := p_source_121;
64205 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
64206 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_30);
64207 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_IDENTIFIER_2';
64208 l_rec_acct_attrs.array_char_value(14) := p_source_96;
64209 l_rec_acct_attrs.array_acct_attr_code(15) := 'DISTRIBUTION_TYPE';
64210 l_rec_acct_attrs.array_char_value(15) := p_source_21;
64211 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ACCT_CLASS';
64212 l_rec_acct_attrs.array_char_value(16) := p_source_97;
64213 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_CCID';
64214 l_rec_acct_attrs.array_num_value(17) := p_source_98;
64215 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_ENTERED_AMT';
64216 l_rec_acct_attrs.array_num_value(18) := p_source_57;
64217 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_CR_ENTERED_CURR';
64218 l_rec_acct_attrs.array_char_value(19) := p_source_33;
64219 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_CR_LEDGER_AMT';
64220 l_rec_acct_attrs.array_num_value(20) := p_source_99;
64221 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ACCT_CLASS';
64222 l_rec_acct_attrs.array_char_value(21) := p_source_100;
64223 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_CCID';
64224 l_rec_acct_attrs.array_num_value(22) := p_source_101;
64225 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_DR_ENTERED_AMT';
64226 l_rec_acct_attrs.array_num_value(23) := p_source_57;
64227 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENC_UPG_DR_ENTERED_CURR';
64228 l_rec_acct_attrs.array_char_value(24) := p_source_33;
64229 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENC_UPG_DR_LEDGER_AMT';
64230 l_rec_acct_attrs.array_num_value(25) := p_source_99;
64231 l_rec_acct_attrs.array_acct_attr_code(26) := 'ENC_UPG_OPTION';
64232 l_rec_acct_attrs.array_char_value(26) := p_source_102;
64233 l_rec_acct_attrs.array_acct_attr_code(27) := 'ENTERED_CURRENCY_AMOUNT';
64234 l_rec_acct_attrs.array_num_value(27) := p_source_57;
64235 l_rec_acct_attrs.array_acct_attr_code(28) := 'ENTERED_CURRENCY_CODE';
64236 l_rec_acct_attrs.array_char_value(28) := p_source_33;
64237 l_rec_acct_attrs.array_acct_attr_code(29) := 'LEDGER_AMOUNT';
64238 l_rec_acct_attrs.array_num_value(29) := p_source_99;
64239 l_rec_acct_attrs.array_acct_attr_code(30) := 'REVERSED_DISTRIBUTION_ID1';
64240 l_rec_acct_attrs.array_num_value(30) := to_char(p_source_103);
64241 l_rec_acct_attrs.array_acct_attr_code(31) := 'REVERSED_DISTRIBUTION_ID2';
64242 l_rec_acct_attrs.array_char_value(31) := p_source_104;
64243 l_rec_acct_attrs.array_acct_attr_code(32) := 'REVERSED_DISTRIBUTION_TYPE';
64244 l_rec_acct_attrs.array_char_value(32) := p_source_105;
64245 l_rec_acct_attrs.array_acct_attr_code(33) := 'UPG_CR_ENC_TYPE_ID';
64246 l_rec_acct_attrs.array_num_value(33) := p_source_106;
64247 l_rec_acct_attrs.array_acct_attr_code(34) := 'UPG_DR_ENC_TYPE_ID';
64248 l_rec_acct_attrs.array_num_value(34) := p_source_107;
64249
64250 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
64251 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
64252
64253 ---------------------------------------------------------------------------------------------------------------
64254 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
64255 ---------------------------------------------------------------------------------------------------------------
64256 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
64257
64258 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
64259 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
64260
64261 IF xla_accounting_cache_pkg.GetValueChar
64262 (p_source_code => 'LEDGER_CATEGORY_CODE'
64263 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
64264 AND l_bflow_method_code = 'PRIOR_ENTRY'
64265 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
64266 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
64267 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
64268 )
64269 THEN
64270 xla_ae_lines_pkg.BflowUpgEntry
64271 (p_business_method_code => l_bflow_method_code
64272 ,p_business_class_code => l_bflow_class_code
64273 ,p_balance_type => l_balance_type_code);
64274 ELSE
64275 NULL;
64276 XLA_AE_LINES_PKG.business_flow_validation(
64277 p_business_method_code => l_bflow_method_code
64278 ,p_business_class_code => l_bflow_class_code
64279 ,p_inherit_description_flag => l_inherit_desc_flag);
64280 END IF;
64281
64282 --
64283 -- call analytical criteria
64284 --
64288 --
64285 -- Inherited Analytical Criteria for business flow method of Prior Entry.
64286 --
64287 -- call description
64289
64290 xla_ae_lines_pkg.SetLineDescription(
64291 p_ae_header_id => l_ae_header_id
64292 ,p_description => Description_3 (
64293 p_application_id => p_application_id
64294 , p_ae_header_id => l_ae_header_id
64295 , p_source_2 => p_source_2
64296 , p_source_3 => p_source_3
64297 , p_source_4 => p_source_4
64298 , p_source_5 => p_source_5
64299 )
64300 );
64301
64302
64303 --
64304 -- call ADRs
64305 -- Bug 4922099
64306 --
64307 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
64308 (NVL(l_actual_upg_option, 'N') = 'O') OR
64309 (NVL(l_enc_upg_option, 'N') = 'O')
64310 )
64311 THEN
64312 NULL;
64313 --
64314 --
64315
64316 --
64317 --
64318 END IF;
64319 --
64320 -- Bug 4922099
64321 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
64322 (NVL(l_enc_upg_option, 'N') = 'O')
64323 ) AND
64324 (l_bflow_method_code = 'PRIOR_ENTRY')
64325 )
64326 THEN
64327 IF
64328 --
64329 1 = 1
64330 --
64331 THEN
64332 xla_accounting_err_pkg.build_message
64333 (p_appli_s_name => 'XLA'
64334 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
64335 ,p_token_1 => 'LINE_NUMBER'
64336 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
64337 ,p_token_2 => 'LINE_TYPE_NAME'
64338 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
64339 l_component_type
64340 ,l_component_code
64341 ,l_component_type_code
64342 ,l_component_appl_id
64343 ,l_amb_context_code
64344 ,l_entity_code
64345 ,l_event_class_code
64346 )
64347 ,p_token_3 => 'OWNER'
64348 ,p_value_3 => xla_lookups_pkg.get_meaning(
64349 p_lookup_type => 'XLA_OWNER_TYPE'
64350 ,p_lookup_code => l_component_type_code
64351 )
64352 ,p_token_4 => 'PRODUCT_NAME'
64353 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
64354 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
64355 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
64356 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
64357 ,p_ae_header_id => NULL
64358 );
64359
64360 IF (C_LEVEL_ERROR>= g_log_level) THEN
64361 trace
64362 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
64363 ,p_level => C_LEVEL_ERROR
64364 ,p_module => l_log_module);
64365 END IF;
64366 END IF;
64367 END IF;
64368 --
64369 --
64370 ------------------------------------------------------------------------------------------------
64371 -- 4219869 Business Flow
64372 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
64373 -- Prior Entry. Currently, the following code is always generated.
64374 ------------------------------------------------------------------------------------------------
64375 -- No ValidateCurrentLine for business flow method of Prior Entry
64376
64377 ------------------------------------------------------------------------------------
64378 -- 4219869 Business Flow
64379 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
64380 ------------------------------------------------------------------------------------
64381 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
64382
64383 ----------------------------------------------------------------------------------
64384 -- 4219869 Business Flow
64385 -- Update journal entry status -- Need to generate this within IF <condition>
64386 ----------------------------------------------------------------------------------
64387 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
64388 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
64389 ,p_balance_type_code => l_balance_type_code
64390 );
64391
64395 BEGIN
64392 -------------------------------------------------------------------------------------------
64393 -- 4262811 - Generate the Accrual Reversal lines
64394 -------------------------------------------------------------------------------------------
64396 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
64397 (g_array_event(p_event_id).array_value_num('header_index'));
64398 IF l_acc_rev_flag IS NULL THEN
64399 l_acc_rev_flag := 'N';
64400 END IF;
64401 EXCEPTION
64402 WHEN OTHERS THEN
64403 l_acc_rev_flag := 'N';
64404 END;
64405 --
64406 IF (l_acc_rev_flag = 'Y') THEN
64407
64408 -- 4645092 ------------------------------------------------------------------------------
64409 -- To allow MPA report to determine if it should generate report process
64410 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
64411 ------------------------------------------------------------------------------------------
64412
64413 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
64414 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
64415 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
64416 -- call ADRs
64417 -- Bug 4922099
64418 --
64419 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
64420 (NVL(l_actual_upg_option, 'N') = 'O') OR
64421 (NVL(l_enc_upg_option, 'N') = 'O')
64422 )
64423 THEN
64424 NULL;
64425 --
64426 --
64427
64428 --
64429 --
64430 END IF;
64431
64432 --
64433 -- Update the line information that should be overwritten
64434 --
64435 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
64436 p_header_num => 1);
64437 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
64438
64439 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
64440
64441 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
64442 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
64443 END IF;
64444
64445 --
64446 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
64447 --
64448 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
64449 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
64450 ELSE
64451 ---------------------------------------------------------------------------------------------------
64452 -- 4262811a Switch Sign
64453 ---------------------------------------------------------------------------------------------------
64454 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
64455 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
64456 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
64457 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
64458 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
64459 -- 5132302
64460 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
64461 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
64462
64463 END IF;
64464
64465 -- 4955764
64466 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
64467 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
64468
64469
64470 XLA_AE_LINES_PKG.ValidateCurrentLine;
64471 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
64472
64473 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
64474 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
64475 ,p_balance_type_code => l_balance_type_code);
64476
64477 END IF;
64478
64479 -----------------------------------------------------------------------------------------
64480 -- 4262811 Multiperiod Accounting
64481 -----------------------------------------------------------------------------------------
64482 -- No MPA option is assigned.
64483
64484
64485 END IF;
64486 END IF;
64487 --
64488
64489 --
64490 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
64491 trace
64492 (p_msg => 'END of AcctLineType_101'
64493 ,p_level => C_LEVEL_PROCEDURE
64494 ,p_module => l_log_module);
64495 END IF;
64496 --
64497 EXCEPTION
64498 WHEN xla_exceptions_pkg.application_exception THEN
64499 RAISE;
64500 WHEN OTHERS THEN
64501 xla_exceptions_pkg.raise_message
64502 (p_location => 'XLA_00200_AAD_S_000006_BC_PKG.AcctLineType_101');
64503 END AcctLineType_101;
64504 --
64505
64506 ---------------------------------------
64507 --
64508 -- PRIVATE FUNCTION
64509 -- AcctLineType_102
64510 --
64511 ---------------------------------------
64512 PROCEDURE AcctLineType_102 (
64516 ,p_calculate_g_l_flag IN VARCHAR2
64513 p_application_id IN NUMBER
64514 ,p_event_id IN NUMBER
64515 ,p_calculate_acctd_flag IN VARCHAR2
64517 ,p_actual_flag IN OUT VARCHAR2
64518 ,p_balance_type_code OUT VARCHAR2
64519 ,p_gain_or_loss_ref OUT VARCHAR2
64520
64521 --Document Distribution Type
64522 , p_source_2 IN VARCHAR2
64523 --Project Name
64524 , p_source_3 IN VARCHAR2
64525 --Task Number
64526 , p_source_4 IN VARCHAR2
64527 --Expenditure Organization
64528 , p_source_5 IN NUMBER
64529 --Distribution Link Type
64530 , p_source_21 IN VARCHAR2
64531 --Invoice Distribution Identifier
64532 , p_source_30 IN NUMBER
64533 --Invoice Currency Code
64534 , p_source_33 IN VARCHAR2
64535 --Invoice Distribution Amount
64536 , p_source_57 IN NUMBER
64537 --Document Type
64538 , p_source_83 IN VARCHAR2
64539 --Burden Amount Display Method
64540 , p_source_84 IN VARCHAR2
64541 --Accounting reversal indicator for project invoice burden
64542 , p_source_85 IN VARCHAR2
64543 --Allocated to Application Identifier
64544 , p_source_86 IN NUMBER
64545 --Allocated to Distribution Type
64546 , p_source_87 IN VARCHAR2
64547 --Allocated to Entity Code
64548 , p_source_88 IN VARCHAR2
64549 --Allocated to First Distribution Identifier
64550 , p_source_89 IN NUMBER
64551 --Allocated to First System Transaction Identifier
64552 , p_source_90 IN NUMBER
64553 --Invoice Distribution Expenditure Type
64554 , p_source_96 IN VARCHAR2
64555 --Encumbrance Upgrade Credit Accounting Class
64556 , p_source_97 IN VARCHAR2
64557 --Encumbrance Upgrade Credit Account
64558 , p_source_98 IN NUMBER
64559 --Invoice Distribution Ledger Amount Before Rounding
64560 , p_source_99 IN NUMBER
64561 --Encumbrance Upgrade Debit Accounting Class
64562 , p_source_100 IN VARCHAR2
64563 --Encumbrance Upgrade Debit Account
64564 , p_source_101 IN NUMBER
64565 --Use Encumbrances Upgrade Attributes Flag
64566 , p_source_102 IN VARCHAR2
64567 --Accounting reversal first distribution identifier for project invoice burden
64568 , p_source_103 IN NUMBER
64569 --Invoice Burden Applied to Second Distribution Identifier
64570 , p_source_104 IN VARCHAR2
64571 --Accounting reversal distribution type for project invoice burden
64572 , p_source_105 IN VARCHAR2
64573 --Encumbrance Upgrade Credit Encumbrance Type
64574 , p_source_106 IN NUMBER
64575 --Encumbrance Upgrade Debit Encumbrance Type
64576 , p_source_107 IN NUMBER
64577 --Burden Record Identifier
64578 , p_source_108 IN VARCHAR2
64579 , p_source_108_meaning IN VARCHAR2
64580 --Release Identifier
64581 , p_source_115 IN NUMBER
64582 --Purchase Order Burden Applied to Application Identifier
64583 , p_source_116 IN NUMBER
64584 --Purchase Order Burden Applied to Distribution Type
64585 , p_source_117 IN VARCHAR2
64586 --Purchase Order Burden Applied to Entity Code
64587 , p_source_118 IN VARCHAR2
64588 --Purchase Order Burden Applied to First Distribution Identifier
64589 , p_source_119 IN NUMBER
64590 --Purchase Order Burden Applied to First System Transaction Identifier
64591 , p_source_120 IN NUMBER
64592 --Purchase Order Burden Applied to Second Distribution Identifier
64593 , p_source_121 IN VARCHAR2
64594 )
64595 IS
64596
64597 l_component_type VARCHAR2(80);
64598 l_component_code VARCHAR2(30);
64599 l_component_type_code VARCHAR2(1);
64600 l_component_appl_id INTEGER;
64601 l_amb_context_code VARCHAR2(30);
64602 l_entity_code VARCHAR2(30);
64603 l_event_class_code VARCHAR2(30);
64604 l_ae_header_id NUMBER;
64605 l_event_type_code VARCHAR2(30);
64606 l_line_definition_code VARCHAR2(30);
64607 l_line_definition_owner_code VARCHAR2(1);
64608 --
64609 -- adr variables
64610 l_segment VARCHAR2(30);
64611 l_ccid NUMBER;
64612 l_adr_transaction_coa_id NUMBER;
64613 l_adr_accounting_coa_id NUMBER;
64614 l_adr_flexfield_segment_code VARCHAR2(30);
64615 l_adr_flex_value_set_id NUMBER;
64616 l_adr_value_type_code VARCHAR2(30);
64617 l_adr_value_combination_id NUMBER;
64618 l_adr_value_segment_code VARCHAR2(30);
64619
64620 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
64621 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
64622 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
64623 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
64624
64625 -- 4262811 Variables ------------------------------------------------------------------------------------------
64626 l_entered_amt_idx NUMBER;
64627 l_accted_amt_idx NUMBER;
64628 l_acc_rev_flag VARCHAR2(1);
64629 l_accrual_line_num NUMBER;
64630 l_tmp_amt NUMBER;
64631 l_acc_rev_natural_side_code VARCHAR2(1);
64632
64633 l_num_entries NUMBER;
64634 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
64635 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
64639 l_recog_line_2 NUMBER;
64636 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
64637 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
64638 l_recog_line_1 NUMBER;
64640
64641 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
64642 l_bflow_applied_to_amt NUMBER; -- 5132302
64643 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
64644
64645 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
64646
64647 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
64648 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
64649
64650 ---------------------------------------------------------------------------------------------------------------
64651
64652
64653 --
64654 -- bulk performance
64655 --
64656 l_balance_type_code VARCHAR2(1);
64657 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
64658 l_log_module VARCHAR2(240);
64659
64660 --
64661 -- Upgrade strategy
64662 --
64663 l_actual_upg_option VARCHAR2(1);
64664 l_enc_upg_option VARCHAR2(1);
64665
64666 --
64667 BEGIN
64668 --
64669 IF g_log_enabled THEN
64670 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_102';
64671 END IF;
64672 --
64673 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
64674
64675 trace
64676 (p_msg => 'BEGIN of AcctLineType_102'
64677 ,p_level => C_LEVEL_PROCEDURE
64678 ,p_module => l_log_module);
64679
64680 END IF;
64681 --
64682 l_component_type := 'AMB_JLT';
64683 l_component_code := 'REVERSE_REL_BURDEN_ENC';
64684 l_component_type_code := 'S';
64685 l_component_appl_id := 200;
64686 l_amb_context_code := 'DEFAULT';
64687 l_entity_code := 'AP_INVOICES';
64688 l_event_class_code := 'INVOICE_BURDEN';
64689 l_event_type_code := 'INVOICE_BURDEN_ALL';
64690 l_line_definition_owner_code := 'S';
64691 l_line_definition_code := 'AP_INV_BURDEN_ENC_ALL';
64692 --
64693 l_balance_type_code := 'E';
64694 l_segment := NULL;
64695 l_ccid := NULL;
64696 l_adr_transaction_coa_id := NULL;
64697 l_adr_accounting_coa_id := NULL;
64698 l_adr_flexfield_segment_code := NULL;
64699 l_adr_flex_value_set_id := NULL;
64700 l_adr_value_type_code := NULL;
64701 l_adr_value_combination_id := NULL;
64702 l_adr_value_segment_code := NULL;
64703
64704 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
64705 l_bflow_class_code := 'REL_PA_BURDEN_ENC'; -- 4219869 Business Flow
64706 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
64707 l_budgetary_control_flag := 'Y';
64708
64709 l_bflow_applied_to_amt_idx := NULL; -- 5132302
64710 l_bflow_applied_to_amt := NULL; -- 5132302
64711 l_entered_amt_idx := NULL; -- 4262811
64712 l_accted_amt_idx := NULL; -- 4262811
64713 l_acc_rev_flag := NULL; -- 4262811
64714 l_accrual_line_num := NULL; -- 4262811
64715 l_tmp_amt := NULL; -- 4262811
64716 --
64717
64718 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
64719 l_balance_type_code <> 'B' THEN
64720 IF NVL(p_source_83,'
64721 ') = 'PO' AND
64722 NVL(p_source_108,'
64723 ') = 'O' AND
64724 NVL(p_source_84,'
64725 ') = 'D' AND
64726 p_source_115 IS NOT NULL
64727 THEN
64728
64729 --
64730 XLA_AE_LINES_PKG.SetNewLine;
64731
64732 p_balance_type_code := l_balance_type_code;
64733 -- set the flag so later we will know whether the gain loss line needs to be created
64734
64735 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
64736 p_actual_flag :='A';
64737 END IF;
64738
64739 --
64740 -- bulk performance
64741 --
64742 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
64743 p_header_num => 0); -- 4262811
64744 --
64745 -- set accounting line options
64746 --
64747 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
64748 p_natural_side_code => 'C'
64749 , p_gain_or_loss_flag => 'N'
64750 , p_gl_transfer_mode_code => 'S'
64751 , p_acct_entry_type_code => 'E'
64752 , p_switch_side_flag => 'Y'
64753 , p_merge_duplicate_code => 'N'
64754 );
64755 --
64756 l_acc_rev_natural_side_code := 'D'; -- 4262811
64757 --
64758 --
64759 -- set accounting line type info
64760 --
64761 xla_ae_lines_pkg.SetAcctLineType
64762 (p_component_type => l_component_type
64763 ,p_event_type_code => l_event_type_code
64764 ,p_line_definition_owner_code => l_line_definition_owner_code
64765 ,p_line_definition_code => l_line_definition_code
64766 ,p_accounting_line_code => l_component_code
64767 ,p_accounting_line_type_code => l_component_type_code
64768 ,p_accounting_line_appl_id => l_component_appl_id
64769 ,p_amb_context_code => l_amb_context_code
64770 ,p_entity_code => l_entity_code
64774 --
64771 ,p_event_class_code => l_event_class_code);
64772 --
64773 -- set accounting class
64775 xla_ae_lines_pkg.SetAcctClass(
64776 p_accounting_class_code => 'PO_PA_BURDEN'
64777 , p_ae_header_id => l_ae_header_id
64778 );
64779
64780 --
64781 -- set rounding class
64782 --
64783 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
64784 'PO_PA_BURDEN';
64785
64786 --
64787 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
64788 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
64789 --
64790 -- bulk performance
64791 --
64792 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
64793
64794 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
64795 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
64796
64797 -- 4955764
64798 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
64799 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
64800
64801 -- 4458381 Public Sector Enh
64802
64803 --
64804 -- set accounting attributes for the line type
64805 --
64806 l_entered_amt_idx := 27;
64807 l_accted_amt_idx := 29;
64808 l_bflow_applied_to_amt_idx := NULL; -- 5132302
64809 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
64810 l_rec_acct_attrs.array_char_value(1) := p_source_85;
64811 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
64812 l_rec_acct_attrs.array_num_value(2) := p_source_86;
64813 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
64814 l_rec_acct_attrs.array_char_value(3) := p_source_87;
64815 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
64816 l_rec_acct_attrs.array_char_value(4) := p_source_88;
64817 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
64818 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_89);
64819 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
64820 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_90);
64821 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
64822 l_rec_acct_attrs.array_num_value(7) := p_source_116;
64823 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
64824 l_rec_acct_attrs.array_char_value(8) := p_source_117;
64825 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
64826 l_rec_acct_attrs.array_char_value(9) := p_source_118;
64827 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
64828 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_119);
64829 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
64830 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_120);
64831 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_SECOND_DIST_ID';
64832 l_rec_acct_attrs.array_char_value(12) := p_source_121;
64833 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
64834 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_30);
64835 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_IDENTIFIER_2';
64836 l_rec_acct_attrs.array_char_value(14) := p_source_96;
64837 l_rec_acct_attrs.array_acct_attr_code(15) := 'DISTRIBUTION_TYPE';
64838 l_rec_acct_attrs.array_char_value(15) := p_source_21;
64839 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ACCT_CLASS';
64840 l_rec_acct_attrs.array_char_value(16) := p_source_97;
64841 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_CCID';
64842 l_rec_acct_attrs.array_num_value(17) := p_source_98;
64843 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_ENTERED_AMT';
64844 l_rec_acct_attrs.array_num_value(18) := p_source_57;
64845 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_CR_ENTERED_CURR';
64846 l_rec_acct_attrs.array_char_value(19) := p_source_33;
64847 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_CR_LEDGER_AMT';
64848 l_rec_acct_attrs.array_num_value(20) := p_source_99;
64849 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ACCT_CLASS';
64850 l_rec_acct_attrs.array_char_value(21) := p_source_100;
64851 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_CCID';
64852 l_rec_acct_attrs.array_num_value(22) := p_source_101;
64853 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_DR_ENTERED_AMT';
64854 l_rec_acct_attrs.array_num_value(23) := p_source_57;
64855 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENC_UPG_DR_ENTERED_CURR';
64856 l_rec_acct_attrs.array_char_value(24) := p_source_33;
64857 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENC_UPG_DR_LEDGER_AMT';
64858 l_rec_acct_attrs.array_num_value(25) := p_source_99;
64859 l_rec_acct_attrs.array_acct_attr_code(26) := 'ENC_UPG_OPTION';
64860 l_rec_acct_attrs.array_char_value(26) := p_source_102;
64861 l_rec_acct_attrs.array_acct_attr_code(27) := 'ENTERED_CURRENCY_AMOUNT';
64862 l_rec_acct_attrs.array_num_value(27) := p_source_57;
64863 l_rec_acct_attrs.array_acct_attr_code(28) := 'ENTERED_CURRENCY_CODE';
64864 l_rec_acct_attrs.array_char_value(28) := p_source_33;
64865 l_rec_acct_attrs.array_acct_attr_code(29) := 'LEDGER_AMOUNT';
64869 l_rec_acct_attrs.array_acct_attr_code(31) := 'REVERSED_DISTRIBUTION_ID2';
64866 l_rec_acct_attrs.array_num_value(29) := p_source_99;
64867 l_rec_acct_attrs.array_acct_attr_code(30) := 'REVERSED_DISTRIBUTION_ID1';
64868 l_rec_acct_attrs.array_num_value(30) := to_char(p_source_103);
64870 l_rec_acct_attrs.array_char_value(31) := p_source_104;
64871 l_rec_acct_attrs.array_acct_attr_code(32) := 'REVERSED_DISTRIBUTION_TYPE';
64872 l_rec_acct_attrs.array_char_value(32) := p_source_105;
64873 l_rec_acct_attrs.array_acct_attr_code(33) := 'UPG_CR_ENC_TYPE_ID';
64874 l_rec_acct_attrs.array_num_value(33) := p_source_106;
64875 l_rec_acct_attrs.array_acct_attr_code(34) := 'UPG_DR_ENC_TYPE_ID';
64876 l_rec_acct_attrs.array_num_value(34) := p_source_107;
64877
64878 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
64879 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
64880
64881 ---------------------------------------------------------------------------------------------------------------
64882 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
64883 ---------------------------------------------------------------------------------------------------------------
64884 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
64885
64886 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
64887 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
64888
64889 IF xla_accounting_cache_pkg.GetValueChar
64890 (p_source_code => 'LEDGER_CATEGORY_CODE'
64891 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
64892 AND l_bflow_method_code = 'PRIOR_ENTRY'
64893 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
64894 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
64895 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
64896 )
64897 THEN
64898 xla_ae_lines_pkg.BflowUpgEntry
64899 (p_business_method_code => l_bflow_method_code
64900 ,p_business_class_code => l_bflow_class_code
64901 ,p_balance_type => l_balance_type_code);
64902 ELSE
64903 NULL;
64904 XLA_AE_LINES_PKG.business_flow_validation(
64905 p_business_method_code => l_bflow_method_code
64906 ,p_business_class_code => l_bflow_class_code
64907 ,p_inherit_description_flag => l_inherit_desc_flag);
64908 END IF;
64909
64910 --
64911 -- call analytical criteria
64912 --
64913 -- Inherited Analytical Criteria for business flow method of Prior Entry.
64914 --
64915 -- call description
64916 --
64917
64918 xla_ae_lines_pkg.SetLineDescription(
64919 p_ae_header_id => l_ae_header_id
64920 ,p_description => Description_3 (
64921 p_application_id => p_application_id
64922 , p_ae_header_id => l_ae_header_id
64923 , p_source_2 => p_source_2
64924 , p_source_3 => p_source_3
64925 , p_source_4 => p_source_4
64926 , p_source_5 => p_source_5
64927 )
64928 );
64929
64930
64931 --
64932 -- call ADRs
64933 -- Bug 4922099
64934 --
64935 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
64936 (NVL(l_actual_upg_option, 'N') = 'O') OR
64937 (NVL(l_enc_upg_option, 'N') = 'O')
64938 )
64939 THEN
64940 NULL;
64941 --
64942 --
64943
64944 --
64945 --
64946 END IF;
64947 --
64948 -- Bug 4922099
64949 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
64950 (NVL(l_enc_upg_option, 'N') = 'O')
64951 ) AND
64952 (l_bflow_method_code = 'PRIOR_ENTRY')
64953 )
64954 THEN
64955 IF
64956 --
64957 1 = 1
64958 --
64959 THEN
64960 xla_accounting_err_pkg.build_message
64961 (p_appli_s_name => 'XLA'
64962 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
64963 ,p_token_1 => 'LINE_NUMBER'
64964 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
64965 ,p_token_2 => 'LINE_TYPE_NAME'
64966 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
64967 l_component_type
64968 ,l_component_code
64969 ,l_component_type_code
64970 ,l_component_appl_id
64971 ,l_amb_context_code
64972 ,l_entity_code
64973 ,l_event_class_code
64974 )
64975 ,p_token_3 => 'OWNER'
64979 )
64976 ,p_value_3 => xla_lookups_pkg.get_meaning(
64977 p_lookup_type => 'XLA_OWNER_TYPE'
64978 ,p_lookup_code => l_component_type_code
64980 ,p_token_4 => 'PRODUCT_NAME'
64981 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
64982 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
64983 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
64984 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
64985 ,p_ae_header_id => NULL
64986 );
64987
64988 IF (C_LEVEL_ERROR>= g_log_level) THEN
64989 trace
64990 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
64991 ,p_level => C_LEVEL_ERROR
64992 ,p_module => l_log_module);
64993 END IF;
64994 END IF;
64995 END IF;
64996 --
64997 --
64998 ------------------------------------------------------------------------------------------------
64999 -- 4219869 Business Flow
65000 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
65001 -- Prior Entry. Currently, the following code is always generated.
65002 ------------------------------------------------------------------------------------------------
65003 -- No ValidateCurrentLine for business flow method of Prior Entry
65004
65005 ------------------------------------------------------------------------------------
65006 -- 4219869 Business Flow
65007 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
65008 ------------------------------------------------------------------------------------
65009 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
65010
65011 ----------------------------------------------------------------------------------
65012 -- 4219869 Business Flow
65013 -- Update journal entry status -- Need to generate this within IF <condition>
65014 ----------------------------------------------------------------------------------
65015 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
65016 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
65017 ,p_balance_type_code => l_balance_type_code
65018 );
65019
65020 -------------------------------------------------------------------------------------------
65021 -- 4262811 - Generate the Accrual Reversal lines
65022 -------------------------------------------------------------------------------------------
65023 BEGIN
65024 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
65025 (g_array_event(p_event_id).array_value_num('header_index'));
65026 IF l_acc_rev_flag IS NULL THEN
65027 l_acc_rev_flag := 'N';
65028 END IF;
65029 EXCEPTION
65030 WHEN OTHERS THEN
65031 l_acc_rev_flag := 'N';
65032 END;
65033 --
65034 IF (l_acc_rev_flag = 'Y') THEN
65035
65036 -- 4645092 ------------------------------------------------------------------------------
65037 -- To allow MPA report to determine if it should generate report process
65038 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
65039 ------------------------------------------------------------------------------------------
65040
65041 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
65042 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
65043 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
65044 -- call ADRs
65045 -- Bug 4922099
65046 --
65047 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
65048 (NVL(l_actual_upg_option, 'N') = 'O') OR
65049 (NVL(l_enc_upg_option, 'N') = 'O')
65050 )
65051 THEN
65052 NULL;
65053 --
65054 --
65055
65056 --
65057 --
65058 END IF;
65059
65060 --
65061 -- Update the line information that should be overwritten
65062 --
65063 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
65064 p_header_num => 1);
65065 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
65066
65067 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
65068
65069 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
65070 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
65071 END IF;
65072
65073 --
65074 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
65075 --
65076 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
65077 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
65081 ---------------------------------------------------------------------------------------------------
65078 ELSE
65079 ---------------------------------------------------------------------------------------------------
65080 -- 4262811a Switch Sign
65082 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
65083 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
65084 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
65085 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
65086 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
65087 -- 5132302
65088 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
65089 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
65090
65091 END IF;
65092
65093 -- 4955764
65094 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
65095 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
65096
65097
65098 XLA_AE_LINES_PKG.ValidateCurrentLine;
65099 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
65100
65101 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
65102 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
65103 ,p_balance_type_code => l_balance_type_code);
65104
65105 END IF;
65106
65107 -----------------------------------------------------------------------------------------
65108 -- 4262811 Multiperiod Accounting
65109 -----------------------------------------------------------------------------------------
65110 -- No MPA option is assigned.
65111
65112
65113 END IF;
65114 END IF;
65115 --
65116
65117 --
65118 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
65119 trace
65120 (p_msg => 'END of AcctLineType_102'
65121 ,p_level => C_LEVEL_PROCEDURE
65122 ,p_module => l_log_module);
65123 END IF;
65124 --
65125 EXCEPTION
65126 WHEN xla_exceptions_pkg.application_exception THEN
65127 RAISE;
65128 WHEN OTHERS THEN
65129 xla_exceptions_pkg.raise_message
65130 (p_location => 'XLA_00200_AAD_S_000006_BC_PKG.AcctLineType_102');
65131 END AcctLineType_102;
65132 --
65133
65134 ---------------------------------------
65135 --
65136 -- PRIVATE PROCEDURE
65137 -- insert_sources_103
65138 --
65139 ----------------------------------------
65140 --
65141 PROCEDURE insert_sources_103(
65142 p_target_ledger_id IN NUMBER
65143 , p_language IN VARCHAR2
65144 , p_sla_ledger_id IN NUMBER
65145 , p_pad_start_date IN DATE
65146 , p_pad_end_date IN DATE
65147 )
65148 IS
65149
65150 C_EVENT_TYPE_CODE CONSTANT VARCHAR2(30) := 'CREDIT MEMOS_ALL';
65151 C_EVENT_CLASS_CODE CONSTANT VARCHAR2(30) := 'CREDIT MEMOS';
65152 p_apps_owner VARCHAR2(30);
65153 l_log_module VARCHAR2(240);
65154 BEGIN
65155 IF g_log_enabled THEN
65156 l_log_module := C_DEFAULT_MODULE||'.insert_sources_103';
65157 END IF;
65158 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
65159
65160 trace
65161 (p_msg => 'BEGIN of insert_sources_103'
65162 ,p_level => C_LEVEL_PROCEDURE
65163 ,p_module => l_log_module);
65164
65165 END IF;
65166
65167 -- select APPS owner
65168 SELECT oracle_username
65169 INTO p_apps_owner
65170 FROM fnd_oracle_userid
65171 WHERE read_only_flag = 'U'
65172 ;
65173
65174 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
65175 trace
65176 (p_msg => 'p_target_ledger_id = '||p_target_ledger_id||
65177 ' - p_language = '||p_language||
65178 ' - p_sla_ledger_id = '||p_sla_ledger_id ||
65179 ' - p_pad_start_date = '||TO_CHAR(p_pad_start_date)||
65180 ' - p_pad_end_date = '||TO_CHAR(p_pad_end_date)||
65181 ' - p_apps_owner = '||TO_CHAR(p_apps_owner)
65182 ,p_level => C_LEVEL_STATEMENT
65183 ,p_module => l_log_module);
65184 END IF;
65185
65186
65187 --
65188 INSERT INTO xla_diag_sources --hdr2
65189 (
65190 event_id
65191 , ledger_id
65192 , sla_ledger_id
65193 , description_language
65194 , object_name
65195 , object_type_code
65196 , line_number
65197 , source_application_id
65198 , source_type_code
65199 , source_code
65200 , source_value
65201 , source_meaning
65202 , created_by
65203 , creation_date
65204 , last_update_date
65205 , last_updated_by
65206 , last_update_login
65207 , program_update_date
65208 , program_application_id
65209 , program_id
65210 , request_id
65211 )
65212 SELECT
65213 event_id
65214 , p_target_ledger_id
65215 , p_sla_ledger_id
65216 , p_language
65217 , object_name
65221 , source_type_code
65218 , object_type_code
65219 , line_number
65220 , source_application_id
65222 , source_code
65223 , SUBSTR(source_value ,1,1996)
65224 , SUBSTR(source_meaning ,1,200)
65225 , xla_environment_pkg.g_Usr_Id
65226 , TRUNC(SYSDATE)
65227 , TRUNC(SYSDATE)
65228 , xla_environment_pkg.g_Usr_Id
65229 , xla_environment_pkg.g_Login_Id
65230 , TRUNC(SYSDATE)
65231 , xla_environment_pkg.g_Prog_Appl_Id
65232 , xla_environment_pkg.g_Prog_Id
65233 , xla_environment_pkg.g_Req_Id
65234 FROM (
65235 SELECT xet.event_id event_id
65236 , 0 line_number
65237 , CASE r
65238 WHEN 1 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
65239 WHEN 2 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
65240 WHEN 3 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
65241 WHEN 4 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
65242 WHEN 5 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
65243 WHEN 6 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
65244 WHEN 7 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
65245 WHEN 8 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
65246 WHEN 9 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
65247 WHEN 10 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
65248 WHEN 11 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
65249 WHEN 12 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
65250 WHEN 13 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
65251 WHEN 14 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
65252 WHEN 15 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
65253 WHEN 16 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
65254
65255 ELSE null
65256 END object_name
65257 , CASE r
65258 WHEN 1 THEN 'HEADER'
65259 WHEN 2 THEN 'HEADER'
65260 WHEN 3 THEN 'HEADER'
65261 WHEN 4 THEN 'HEADER'
65262 WHEN 5 THEN 'HEADER'
65263 WHEN 6 THEN 'HEADER'
65264 WHEN 7 THEN 'HEADER'
65265 WHEN 8 THEN 'HEADER'
65266 WHEN 9 THEN 'HEADER'
65267 WHEN 10 THEN 'HEADER'
65268 WHEN 11 THEN 'HEADER'
65269 WHEN 12 THEN 'HEADER'
65270 WHEN 13 THEN 'HEADER'
65271 WHEN 14 THEN 'HEADER'
65272 WHEN 15 THEN 'HEADER'
65273 WHEN 16 THEN 'HEADER'
65274
65275 ELSE null
65276 END object_type_code
65277 , CASE r
65278 WHEN 1 THEN '200'
65279 WHEN 2 THEN '200'
65280 WHEN 3 THEN '200'
65281 WHEN 4 THEN '200'
65282 WHEN 5 THEN '200'
65283 WHEN 6 THEN '200'
65284 WHEN 7 THEN '200'
65285 WHEN 8 THEN '200'
65286 WHEN 9 THEN '200'
65287 WHEN 10 THEN '200'
65288 WHEN 11 THEN '200'
65289 WHEN 12 THEN '200'
65290 WHEN 13 THEN '200'
65291 WHEN 14 THEN '200'
65292 WHEN 15 THEN '200'
65293 WHEN 16 THEN '200'
65294
65295 ELSE null
65296 END source_application_id
65297 , 'S' source_type_code
65298 , CASE r
65299 WHEN 1 THEN 'ASP_RATE_VAR_GAIN_CCID'
65300 WHEN 2 THEN 'ASP_AUTOMATIC_OFFSETS_VALUE'
65301 WHEN 3 THEN 'ASP_RATE_VAR_LOSS_CCID'
65302 WHEN 4 THEN 'ASP_AUTO_OFFSET_FLAG'
65303 WHEN 5 THEN 'FSP_PURCH_ENCUMBRANCE_FLAG'
65304 WHEN 6 THEN 'AI_INVOICE_ID'
65305 WHEN 7 THEN 'AI_INVOICE_CURRENCY_CODE'
65306 WHEN 8 THEN 'INV_EXCHANGE_DATE'
65307 WHEN 9 THEN 'INV_EXCHANGE_RATE'
65308 WHEN 10 THEN 'INV_EXCHANGE_RATE_TYPE'
65309 WHEN 11 THEN 'AI_VENDOR_ID'
65310 WHEN 12 THEN 'AI_VENDOR_SITE_ID'
65311 WHEN 13 THEN 'THIRD_PARTY_TYPE'
65312 WHEN 14 THEN 'INV_DOC_SEQUENCE_CATEGORY'
65313 WHEN 15 THEN 'INV_DOC_SEQUENCE_IDENTIFIER'
65314 WHEN 16 THEN 'INV_DOC_SEQUENCE_VALUE'
65315
65316 ELSE null
65317 END source_code
65318 , CASE r
65319 WHEN 1 THEN TO_CHAR(h3.ASP_RATE_VAR_GAIN_CCID)
65320 WHEN 2 THEN TO_CHAR(h3.ASP_AUTOMATIC_OFFSETS_VALUE)
65321 WHEN 3 THEN TO_CHAR(h3.ASP_RATE_VAR_LOSS_CCID)
65322 WHEN 4 THEN TO_CHAR(h3.ASP_AUTO_OFFSET_FLAG)
65323 WHEN 5 THEN TO_CHAR(h3.FSP_PURCH_ENCUMBRANCE_FLAG)
65324 WHEN 6 THEN TO_CHAR(h2.AI_INVOICE_ID)
65325 WHEN 7 THEN TO_CHAR(h2.AI_INVOICE_CURRENCY_CODE)
65326 WHEN 8 THEN TO_CHAR(h2.INV_EXCHANGE_DATE)
65327 WHEN 9 THEN TO_CHAR(h2.INV_EXCHANGE_RATE)
65328 WHEN 10 THEN TO_CHAR(h2.INV_EXCHANGE_RATE_TYPE)
65329 WHEN 11 THEN TO_CHAR(h2.AI_VENDOR_ID)
65330 WHEN 12 THEN TO_CHAR(h2.AI_VENDOR_SITE_ID)
65331 WHEN 13 THEN TO_CHAR(h2.THIRD_PARTY_TYPE)
65335
65332 WHEN 14 THEN TO_CHAR(h2.INV_DOC_SEQUENCE_CATEGORY)
65333 WHEN 15 THEN TO_CHAR(h2.INV_DOC_SEQUENCE_IDENTIFIER)
65334 WHEN 16 THEN TO_CHAR(h2.INV_DOC_SEQUENCE_VALUE)
65336 ELSE null
65337 END source_value
65338 , CASE r
65339 WHEN 2 THEN fvl7.meaning
65340 WHEN 4 THEN fvl12.meaning
65341 WHEN 5 THEN fvl17.meaning
65342
65343 ELSE null
65344 END source_meaning
65345 FROM xla_events_gt xet
65346 , AP_INVOICE_EXTRACT_HEADER_V h2
65347 , AP_SYSTEM_PARAMETERS_EXTRACT_V h3
65348 , fnd_lookup_values fvl7
65349 , fnd_lookup_values fvl12
65350 , fnd_lookup_values fvl17
65351 ,(select rownum r from all_objects where rownum <= 16 and owner = p_apps_owner)
65352 WHERE xet.event_date between p_pad_start_date AND p_pad_end_date
65353 AND xet.event_class_code = C_EVENT_CLASS_CODE
65354 AND h2.event_id = xet.event_id
65355 AND h3.asp_org_id = h2.ai_org_id AND fvl7.lookup_type(+) = 'LIABILITY FLEXBUILD METHOD'
65356 AND fvl7.lookup_code(+) = h3.ASP_AUTOMATIC_OFFSETS_VALUE
65357 AND fvl7.view_application_id(+) = 200
65358 AND fvl7.language(+) = USERENV('LANG')
65359 AND fvl12.lookup_type(+) = 'YES_NO'
65360 AND fvl12.lookup_code(+) = h3.ASP_AUTO_OFFSET_FLAG
65361 AND fvl12.view_application_id(+) = 0
65362 AND fvl12.language(+) = USERENV('LANG')
65363 AND fvl17.lookup_type(+) = 'YES_NO'
65364 AND fvl17.lookup_code(+) = h3.FSP_PURCH_ENCUMBRANCE_FLAG
65365 AND fvl17.view_application_id(+) = 0
65366 AND fvl17.language(+) = USERENV('LANG')
65367
65368 )
65369 ;
65370 --
65371 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
65372
65373 trace
65374 (p_msg => 'number of header sources inserted = '||SQL%ROWCOUNT
65375 ,p_level => C_LEVEL_STATEMENT
65376 ,p_module => l_log_module);
65377
65378 END IF;
65379 --
65380
65381
65382
65383 --
65384 INSERT INTO xla_diag_sources --line2
65385 (
65386 event_id
65387 , ledger_id
65388 , sla_ledger_id
65389 , description_language
65390 , object_name
65391 , object_type_code
65392 , line_number
65393 , source_application_id
65394 , source_type_code
65395 , source_code
65396 , source_value
65397 , source_meaning
65398 , created_by
65399 , creation_date
65400 , last_update_date
65401 , last_updated_by
65402 , last_update_login
65403 , program_update_date
65404 , program_application_id
65405 , program_id
65406 , request_id
65407 )
65408 SELECT event_id
65409 , p_target_ledger_id
65410 , p_sla_ledger_id
65411 , p_language
65412 , object_name
65413 , object_type_code
65414 , line_number
65415 , source_application_id
65416 , source_type_code
65417 , source_code
65418 , SUBSTR(source_value,1,1996)
65419 , SUBSTR(source_meaning ,1,200)
65420 , xla_environment_pkg.g_Usr_Id
65421 , TRUNC(SYSDATE)
65422 , TRUNC(SYSDATE)
65423 , xla_environment_pkg.g_Usr_Id
65424 , xla_environment_pkg.g_Login_Id
65425 , TRUNC(SYSDATE)
65426 , xla_environment_pkg.g_Prog_Appl_Id
65427 , xla_environment_pkg.g_Prog_Id
65428 , xla_environment_pkg.g_Req_Id
65429 FROM (
65430 SELECT xet.event_id event_id
65431 , l1.line_number line_number
65432 , CASE r
65433 WHEN 1 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
65434 WHEN 2 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
65435 WHEN 3 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
65436 WHEN 4 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
65437 WHEN 5 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
65438 WHEN 6 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
65439 WHEN 7 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
65440 WHEN 8 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
65441 WHEN 9 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
65442 WHEN 10 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
65443 WHEN 11 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
65444 WHEN 12 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
65445 WHEN 13 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
65446 WHEN 14 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
65447 WHEN 15 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
65448 WHEN 16 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
65449 WHEN 17 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
65450 WHEN 18 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
65451 WHEN 19 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
65452 WHEN 20 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
65453 WHEN 21 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
65454 WHEN 22 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
65455 WHEN 23 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
65456 WHEN 24 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
65457 WHEN 25 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
65458 WHEN 26 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
65459 WHEN 27 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
65463 WHEN 31 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
65460 WHEN 28 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
65461 WHEN 29 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
65462 WHEN 30 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
65464 WHEN 32 THEN 'ZX_AP_DEF_TAX_EXTRACT_V'
65465 WHEN 33 THEN 'ZX_AP_TAX_JRNL_LINE_DESC_V'
65466 WHEN 34 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
65467 WHEN 35 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
65468 WHEN 36 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
65469 WHEN 37 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
65470 WHEN 38 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
65471 WHEN 39 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
65472 WHEN 40 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
65473 WHEN 41 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
65474 WHEN 42 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
65475 WHEN 43 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
65476 WHEN 44 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
65477 WHEN 45 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
65478 WHEN 46 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
65479 WHEN 47 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
65480
65481 ELSE null
65482 END object_name
65483 , CASE r
65484 WHEN 1 THEN 'LINE'
65485 WHEN 2 THEN 'LINE'
65486 WHEN 3 THEN 'LINE'
65487 WHEN 4 THEN 'LINE'
65488 WHEN 5 THEN 'LINE'
65489 WHEN 6 THEN 'LINE'
65490 WHEN 7 THEN 'LINE'
65491 WHEN 8 THEN 'LINE'
65492 WHEN 9 THEN 'LINE'
65493 WHEN 10 THEN 'LINE'
65494 WHEN 11 THEN 'LINE'
65495 WHEN 12 THEN 'LINE'
65496 WHEN 13 THEN 'LINE'
65497 WHEN 14 THEN 'LINE'
65498 WHEN 15 THEN 'LINE'
65499 WHEN 16 THEN 'LINE'
65500 WHEN 17 THEN 'LINE'
65501 WHEN 18 THEN 'LINE'
65502 WHEN 19 THEN 'LINE'
65503 WHEN 20 THEN 'LINE'
65504 WHEN 21 THEN 'LINE'
65505 WHEN 22 THEN 'LINE'
65506 WHEN 23 THEN 'LINE'
65507 WHEN 24 THEN 'LINE'
65508 WHEN 25 THEN 'LINE'
65509 WHEN 26 THEN 'LINE'
65510 WHEN 27 THEN 'LINE'
65511 WHEN 28 THEN 'LINE'
65512 WHEN 29 THEN 'LINE'
65513 WHEN 30 THEN 'LINE'
65514 WHEN 31 THEN 'LINE'
65515 WHEN 32 THEN 'LINE'
65516 WHEN 33 THEN 'LINE'
65517 WHEN 34 THEN 'LINE'
65518 WHEN 35 THEN 'LINE'
65519 WHEN 36 THEN 'LINE'
65520 WHEN 37 THEN 'LINE'
65521 WHEN 38 THEN 'LINE'
65522 WHEN 39 THEN 'LINE'
65523 WHEN 40 THEN 'LINE'
65524 WHEN 41 THEN 'LINE'
65525 WHEN 42 THEN 'LINE'
65526 WHEN 43 THEN 'LINE'
65527 WHEN 44 THEN 'LINE'
65528 WHEN 45 THEN 'LINE'
65529 WHEN 46 THEN 'LINE'
65530 WHEN 47 THEN 'LINE'
65531
65532 ELSE null
65533 END object_type_code
65534 , CASE r
65535 WHEN 1 THEN '200'
65536 WHEN 2 THEN '200'
65537 WHEN 3 THEN '200'
65538 WHEN 4 THEN '200'
65539 WHEN 5 THEN '200'
65540 WHEN 6 THEN '200'
65541 WHEN 7 THEN '200'
65542 WHEN 8 THEN '200'
65543 WHEN 9 THEN '200'
65544 WHEN 10 THEN '200'
65545 WHEN 11 THEN '200'
65546 WHEN 12 THEN '200'
65547 WHEN 13 THEN '200'
65548 WHEN 14 THEN '200'
65549 WHEN 15 THEN '200'
65550 WHEN 16 THEN '200'
65551 WHEN 17 THEN '200'
65552 WHEN 18 THEN '200'
65553 WHEN 19 THEN '200'
65554 WHEN 20 THEN '200'
65555 WHEN 21 THEN '200'
65556 WHEN 22 THEN '200'
65557 WHEN 23 THEN '200'
65558 WHEN 24 THEN '200'
65559 WHEN 25 THEN '200'
65560 WHEN 26 THEN '200'
65561 WHEN 27 THEN '200'
65562 WHEN 28 THEN '200'
65563 WHEN 29 THEN '200'
65564 WHEN 30 THEN '200'
65565 WHEN 31 THEN '200'
65566 WHEN 32 THEN '200'
65567 WHEN 33 THEN '200'
65568 WHEN 34 THEN '200'
65569 WHEN 35 THEN '200'
65570 WHEN 36 THEN '200'
65571 WHEN 37 THEN '200'
65572 WHEN 38 THEN '200'
65573 WHEN 39 THEN '200'
65574 WHEN 40 THEN '200'
65575 WHEN 41 THEN '200'
65576 WHEN 42 THEN '200'
65577 WHEN 43 THEN '200'
65578 WHEN 44 THEN '200'
65579 WHEN 45 THEN '200'
65580 WHEN 46 THEN '200'
65584 END source_application_id
65581 WHEN 47 THEN '200'
65582
65583 ELSE null
65585 , 'S' source_type_code
65586 , CASE r
65587 WHEN 1 THEN 'AID_DESCRIPTION'
65588 WHEN 2 THEN 'INV_DIST_BASE_AMOUNT'
65589 WHEN 3 THEN 'RELATED_INV_DIST_DEST_TYPE'
65590 WHEN 4 THEN 'AID_DIST_CCID'
65591 WHEN 5 THEN 'SELF_ASSESSED_TAX_ACCOUNT'
65592 WHEN 6 THEN 'AID_LINE_TYPE_LOOKUP_CODE'
65593 WHEN 7 THEN 'AID_AMOUNT_VARIANCE'
65594 WHEN 8 THEN 'POD_ACCRUE_ON_RECEIPT_FLAG'
65595 WHEN 9 THEN 'DIST_ACCOUNT_REVERSAL_OPTION'
65596 WHEN 10 THEN 'DISTRIBUTION_LINK_TYPE'
65597 WHEN 11 THEN 'ALLOC_TO_MAIN_DIST_ID'
65598 WHEN 12 THEN 'BUS_FLOW_AP_APP_ID'
65599 WHEN 13 THEN 'BUS_FLOW_INV_DIST_TYPE'
65600 WHEN 14 THEN 'BUS_FLOW_INV_ENTITY_CODE'
65601 WHEN 15 THEN 'BUS_FLOW_INV_DIST_ID'
65602 WHEN 16 THEN 'BUS_FLOW_INV_ID'
65603 WHEN 17 THEN 'AID_INVOICE_DIST_ID'
65604 WHEN 18 THEN 'UPG_ENC_CR_CCID'
65605 WHEN 19 THEN 'UPG_ENC_CR_AMT'
65606 WHEN 20 THEN 'UPG_ENC_CR_BASE_AMT'
65607 WHEN 21 THEN 'UPG_ENC_DR_CCID'
65608 WHEN 22 THEN 'UPG_ENC_DR_AMT'
65609 WHEN 23 THEN 'UPG_ENC_DR_BASE_AMT'
65610 WHEN 24 THEN 'UPG_AP_ENCUM_OPTION'
65611 WHEN 25 THEN 'AID_BASE_AMOUNT_VARIANCE'
65612 WHEN 26 THEN 'DEFERRED_END_DATE'
65613 WHEN 27 THEN 'DEFERRED_OPTION'
65614 WHEN 28 THEN 'DEFERRED_START_DATE'
65615 WHEN 29 THEN 'OVERRIDE_ACCTD_AMT_FLAG'
65616 WHEN 30 THEN 'AID_PARENT_REVERSAL_ID'
65617 WHEN 31 THEN 'AID_STAT_AMOUNT'
65618 WHEN 32 THEN 'TAX_LINE_ID'
65619 WHEN 33 THEN 'REC_NREC_TAX_DIST_ID'
65620 WHEN 34 THEN 'SUMMARY_TAX_LINE_ID'
65621 WHEN 35 THEN 'UPG_CR_ENC_TYPE_ID'
65622 WHEN 36 THEN 'UPG_DR_ENC_TYPE_ID'
65623 WHEN 37 THEN 'PO_DISTRIBUTION_ID'
65624 WHEN 38 THEN 'SELF_ASSESSED_TAX_FLAG'
65625 WHEN 39 THEN 'BUS_FLOW_PO_APP_ID'
65626 WHEN 40 THEN 'BUS_FLOW_PO_DIST_TYPE'
65627 WHEN 41 THEN 'BUS_FLOW_PO_ENTITY_CODE'
65628 WHEN 42 THEN 'BUS_FLOW_PO_DIST_ID'
65629 WHEN 43 THEN 'BUS_FLOW_PO_DOC_ID'
65630 WHEN 44 THEN 'ENCUMBRANCE_AMOUNT'
65631 WHEN 45 THEN 'ENCUMBRANCE_BASE_AMOUNT'
65632 WHEN 46 THEN 'AID_QUANTITY_VARIANCE'
65633 WHEN 47 THEN 'AID_BASE_QUANTITY_VARIANCE'
65634
65635 ELSE null
65636 END source_code
65637 , CASE r
65638 WHEN 1 THEN TO_CHAR(l1.AID_DESCRIPTION)
65639 WHEN 2 THEN TO_CHAR(l1.INV_DIST_BASE_AMOUNT)
65640 WHEN 3 THEN TO_CHAR(l1.RELATED_INV_DIST_DEST_TYPE)
65641 WHEN 4 THEN TO_CHAR(l1.AID_DIST_CCID)
65642 WHEN 5 THEN TO_CHAR(l1.SELF_ASSESSED_TAX_ACCOUNT)
65643 WHEN 6 THEN TO_CHAR(l1.AID_LINE_TYPE_LOOKUP_CODE)
65644 WHEN 7 THEN TO_CHAR(l1.AID_AMOUNT_VARIANCE)
65645 WHEN 8 THEN TO_CHAR(l1.POD_ACCRUE_ON_RECEIPT_FLAG)
65646 WHEN 9 THEN TO_CHAR(l1.DIST_ACCOUNT_REVERSAL_OPTION)
65647 WHEN 10 THEN TO_CHAR(l1.DISTRIBUTION_LINK_TYPE)
65648 WHEN 11 THEN TO_CHAR(l1.ALLOC_TO_MAIN_DIST_ID)
65649 WHEN 12 THEN TO_CHAR(l1.BUS_FLOW_AP_APP_ID)
65650 WHEN 13 THEN TO_CHAR(l1.BUS_FLOW_INV_DIST_TYPE)
65651 WHEN 14 THEN TO_CHAR(l1.BUS_FLOW_INV_ENTITY_CODE)
65652 WHEN 15 THEN TO_CHAR(l1.BUS_FLOW_INV_DIST_ID)
65653 WHEN 16 THEN TO_CHAR(l1.BUS_FLOW_INV_ID)
65654 WHEN 17 THEN TO_CHAR(l1.AID_INVOICE_DIST_ID)
65655 WHEN 18 THEN TO_CHAR(l1.UPG_ENC_CR_CCID)
65656 WHEN 19 THEN TO_CHAR(l1.UPG_ENC_CR_AMT)
65657 WHEN 20 THEN TO_CHAR(l1.UPG_ENC_CR_BASE_AMT)
65658 WHEN 21 THEN TO_CHAR(l1.UPG_ENC_DR_CCID)
65659 WHEN 22 THEN TO_CHAR(l1.UPG_ENC_DR_AMT)
65660 WHEN 23 THEN TO_CHAR(l1.UPG_ENC_DR_BASE_AMT)
65661 WHEN 24 THEN TO_CHAR(l1.UPG_AP_ENCUM_OPTION)
65662 WHEN 25 THEN TO_CHAR(l1.AID_BASE_AMOUNT_VARIANCE)
65663 WHEN 26 THEN TO_CHAR(l1.DEFERRED_END_DATE)
65664 WHEN 27 THEN TO_CHAR(l1.DEFERRED_OPTION)
65665 WHEN 28 THEN TO_CHAR(l1.DEFERRED_START_DATE)
65666 WHEN 29 THEN TO_CHAR(l1.OVERRIDE_ACCTD_AMT_FLAG)
65667 WHEN 30 THEN TO_CHAR(l1.AID_PARENT_REVERSAL_ID)
65668 WHEN 31 THEN TO_CHAR(l1.AID_STAT_AMOUNT)
65669 WHEN 32 THEN TO_CHAR(l4.TAX_LINE_ID)
65670 WHEN 33 THEN TO_CHAR(l5.REC_NREC_TAX_DIST_ID)
65671 WHEN 34 THEN TO_CHAR(l1.SUMMARY_TAX_LINE_ID)
65672 WHEN 35 THEN TO_CHAR(l1.UPG_CR_ENC_TYPE_ID)
65673 WHEN 36 THEN TO_CHAR(l1.UPG_DR_ENC_TYPE_ID)
65674 WHEN 37 THEN TO_CHAR(l1.PO_DISTRIBUTION_ID)
65675 WHEN 38 THEN TO_CHAR(l1.SELF_ASSESSED_TAX_FLAG)
65676 WHEN 39 THEN TO_CHAR(l1.BUS_FLOW_PO_APP_ID)
65680 WHEN 43 THEN TO_CHAR(l1.BUS_FLOW_PO_DOC_ID)
65677 WHEN 40 THEN TO_CHAR(l1.BUS_FLOW_PO_DIST_TYPE)
65678 WHEN 41 THEN TO_CHAR(l1.BUS_FLOW_PO_ENTITY_CODE)
65679 WHEN 42 THEN TO_CHAR(l1.BUS_FLOW_PO_DIST_ID)
65681 WHEN 44 THEN TO_CHAR(l1.ENCUMBRANCE_AMOUNT)
65682 WHEN 45 THEN TO_CHAR(l1.ENCUMBRANCE_BASE_AMOUNT)
65683 WHEN 46 THEN TO_CHAR(l1.AID_QUANTITY_VARIANCE)
65684 WHEN 47 THEN TO_CHAR(l1.AID_BASE_QUANTITY_VARIANCE)
65685
65686 ELSE null
65687 END source_value
65688 , CASE r
65689 WHEN 3 THEN fvl9.meaning
65690 WHEN 6 THEN fvl15.meaning
65691 WHEN 8 THEN fvl18.meaning
65692 WHEN 29 THEN fvl46.meaning
65693 WHEN 38 THEN fvl59.meaning
65694
65695 ELSE null
65696 END source_meaning
65697 FROM xla_events_gt xet
65698 , AP_EXTRACT_INVOICE_DTLS_BC_V l1
65699 , ZX_AP_DEF_TAX_EXTRACT_V l4
65700 , ZX_AP_TAX_JRNL_LINE_DESC_V l5
65701 , fnd_lookup_values fvl9
65702 , fnd_lookup_values fvl15
65703 , fnd_lookup_values fvl18
65704 , fnd_lookup_values fvl46
65705 , fnd_lookup_values fvl59
65706 , (select rownum r from all_objects where rownum <= 47 and owner = p_apps_owner)
65707 WHERE xet.event_date between p_pad_start_date AND p_pad_end_date
65708 AND xet.event_class_code = C_EVENT_CLASS_CODE
65709 AND l1.event_id = xet.event_id
65710 AND l1.zrnd_tax_dist_id = l4.rec_nrec_tax_dist_id (+) AND l1.zrnd_tax_dist_id = l5.rec_nrec_tax_dist_id (+) AND fvl9.lookup_type(+) = 'DESTINATION TYPE'
65711 AND fvl9.lookup_code(+) = l1.RELATED_INV_DIST_DEST_TYPE
65712 AND fvl9.view_application_id(+) = 201
65713 AND fvl9.language(+) = USERENV('LANG')
65714 AND fvl15.lookup_type(+) = 'INVOICE DISTRIBUTION TYPE'
65715 AND fvl15.lookup_code(+) = l1.AID_LINE_TYPE_LOOKUP_CODE
65716 AND fvl15.view_application_id(+) = 200
65717 AND fvl15.language(+) = USERENV('LANG')
65718 AND fvl18.lookup_type(+) = 'YES_NO'
65719 AND fvl18.lookup_code(+) = l1.POD_ACCRUE_ON_RECEIPT_FLAG
65720 AND fvl18.view_application_id(+) = 0
65721 AND fvl18.language(+) = USERENV('LANG')
65722 AND fvl46.lookup_type(+) = 'YES_NO'
65723 AND fvl46.lookup_code(+) = l1.OVERRIDE_ACCTD_AMT_FLAG
65724 AND fvl46.view_application_id(+) = 0
65725 AND fvl46.language(+) = USERENV('LANG')
65726 AND fvl59.lookup_type(+) = 'YES_NO'
65727 AND fvl59.lookup_code(+) = l1.SELF_ASSESSED_TAX_FLAG
65728 AND fvl59.view_application_id(+) = 0
65729 AND fvl59.language(+) = USERENV('LANG')
65730
65731 )
65732 ;
65733 --
65734 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
65735
65736 trace
65737 (p_msg => 'number of line sources inserted = '||SQL%ROWCOUNT
65738 ,p_level => C_LEVEL_STATEMENT
65739 ,p_module => l_log_module);
65740
65741 END IF;
65742
65743
65744 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
65745 trace
65746 (p_msg => 'END of insert_sources_103'
65747 ,p_level => C_LEVEL_PROCEDURE
65748 ,p_module => l_log_module);
65749 END IF;
65750 EXCEPTION
65751 WHEN xla_exceptions_pkg.application_exception THEN
65752 IF (C_LEVEL_EXCEPTION >= g_log_level) THEN
65753 trace
65754 (p_msg => 'ERROR: XLA_CMP_COMPILER_ERROR = '||sqlerrm
65755 ,p_level => C_LEVEL_EXCEPTION
65756 ,p_module => l_log_module);
65757 END IF;
65758 RAISE;
65759 WHEN OTHERS THEN
65760 IF (C_LEVEL_EXCEPTION >= g_log_level) THEN
65761 trace
65762 (p_msg => 'ERROR: XLA_CMP_COMPILER_ERROR = '||sqlerrm
65763 ,p_level => C_LEVEL_EXCEPTION
65764 ,p_module => l_log_module);
65765 END IF;
65766 xla_exceptions_pkg.raise_message
65767 (p_location => 'XLA_00200_AAD_S_000006_BC_PKG.insert_sources_103');
65768 END insert_sources_103;
65769 --
65770
65771 ---------------------------------------
65772 --
65773 -- PRIVATE FUNCTION
65774 -- EventClass_103
65775 --
65776 ----------------------------------------
65777 --
65778 FUNCTION EventClass_103
65779 (p_application_id IN NUMBER
65780 ,p_base_ledger_id IN NUMBER
65781 ,p_target_ledger_id IN NUMBER
65782 ,p_language IN VARCHAR2
65783 ,p_currency_code IN VARCHAR2
65784 ,p_sla_ledger_id IN NUMBER
65785 ,p_pad_start_date IN DATE
65786 ,p_pad_end_date IN DATE
65787 ,p_primary_ledger_id IN NUMBER)
65788 RETURN BOOLEAN IS
65789 --
65790 C_EVENT_TYPE_CODE CONSTANT VARCHAR2(30) := 'CREDIT MEMOS_ALL';
65791 C_EVENT_CLASS_CODE CONSTANT VARCHAR2(30) := 'CREDIT MEMOS';
65792
65793 l_calculate_acctd_flag VARCHAR2(1) :='N';
65794 l_calculate_g_l_flag VARCHAR2(1) :='N';
65795 --
65796 l_array_legal_entity_id XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
65797 l_array_entity_id XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
65801 l_array_class_code XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
65798 l_array_entity_code XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
65799 l_array_transaction_num XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
65800 l_array_event_id XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
65802 l_array_event_type XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
65803 l_array_event_number XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
65804 l_array_event_date XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
65805 l_array_transaction_date XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
65806 l_array_reference_num_1 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
65807 l_array_reference_num_2 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
65808 l_array_reference_num_3 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
65809 l_array_reference_num_4 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
65810 l_array_reference_char_1 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
65811 l_array_reference_char_2 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
65812 l_array_reference_char_3 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
65813 l_array_reference_char_4 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
65814 l_array_reference_date_1 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
65815 l_array_reference_date_2 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
65816 l_array_reference_date_3 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
65817 l_array_reference_date_4 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
65818 l_array_event_created_by XLA_AE_JOURNAL_ENTRY_PKG.t_array_V100L;
65819 l_array_budgetary_control_flag XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
65820 l_array_header_events XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num; --added
65821 l_array_duplicate_checker XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num; --added
65822
65823 l_event_id NUMBER;
65824 l_previous_event_id NUMBER;
65825 l_first_event_id NUMBER;
65826 l_last_event_id NUMBER;
65827
65828 l_rec_acct_attrs XLA_AE_HEADER_PKG.t_rec_acct_attrs;
65829 l_rec_rev_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
65830 --
65831 --
65832 l_result BOOLEAN := TRUE;
65833 l_rows NUMBER := 1000;
65834 l_event_type_name VARCHAR2(80) := 'All';
65835 l_event_class_name VARCHAR2(80) := 'Credit Memos';
65836 l_description VARCHAR2(4000);
65837 l_transaction_reversal NUMBER;
65838 l_ae_header_id NUMBER;
65839 l_array_extract_line_num xla_ae_journal_entry_pkg.t_array_Num;
65840 l_log_module VARCHAR2(240);
65841 --
65842 l_acct_reversal_source VARCHAR2(30);
65843 l_trx_reversal_source VARCHAR2(30);
65844
65845 l_continue_with_lines BOOLEAN := TRUE;
65846 --
65847 l_acc_rev_gl_date_source DATE; -- 4262811
65848 --
65849 type t_array_event_id is table of number index by binary_integer;
65850
65851 l_rec_array_event t_rec_array_event;
65852 l_null_rec_array_event t_rec_array_event;
65853 l_array_ae_header_id xla_number_array_type;
65854 l_actual_flag VARCHAR2(1) := NULL;
65855 l_actual_gain_loss_ref VARCHAR2(30) := '#####';
65856 l_balance_type_code VARCHAR2(1) :=NULL;
65857 l_gain_or_loss_ref VARCHAR2(30) :=NULL;
65858
65859 --
65860 TYPE t_array_lookup_meaning IS TABLE OF fnd_lookup_values.meaning%TYPE INDEX BY BINARY_INTEGER;
65861 --
65862
65863 TYPE t_array_source_6 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_RATE_VAR_GAIN_CCID%TYPE INDEX BY BINARY_INTEGER;
65864 TYPE t_array_source_7 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_AUTOMATIC_OFFSETS_VALUE%TYPE INDEX BY BINARY_INTEGER;
65865 TYPE t_array_source_10 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_RATE_VAR_LOSS_CCID%TYPE INDEX BY BINARY_INTEGER;
65866 TYPE t_array_source_12 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_AUTO_OFFSET_FLAG%TYPE INDEX BY BINARY_INTEGER;
65867 TYPE t_array_source_17 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.FSP_PURCH_ENCUMBRANCE_FLAG%TYPE INDEX BY BINARY_INTEGER;
65868 TYPE t_array_source_24 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_INVOICE_ID%TYPE INDEX BY BINARY_INTEGER;
65869 TYPE t_array_source_33 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_INVOICE_CURRENCY_CODE%TYPE INDEX BY BINARY_INTEGER;
65870 TYPE t_array_source_39 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_EXCHANGE_DATE%TYPE INDEX BY BINARY_INTEGER;
65871 TYPE t_array_source_40 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_EXCHANGE_RATE%TYPE INDEX BY BINARY_INTEGER;
65872 TYPE t_array_source_41 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_EXCHANGE_RATE_TYPE%TYPE INDEX BY BINARY_INTEGER;
65873 TYPE t_array_source_47 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_VENDOR_ID%TYPE INDEX BY BINARY_INTEGER;
65874 TYPE t_array_source_48 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_VENDOR_SITE_ID%TYPE INDEX BY BINARY_INTEGER;
65875 TYPE t_array_source_49 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.THIRD_PARTY_TYPE%TYPE INDEX BY BINARY_INTEGER;
65876 TYPE t_array_source_122 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_DOC_SEQUENCE_CATEGORY%TYPE INDEX BY BINARY_INTEGER;
65877 TYPE t_array_source_123 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_DOC_SEQUENCE_IDENTIFIER%TYPE INDEX BY BINARY_INTEGER;
65878 TYPE t_array_source_124 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_DOC_SEQUENCE_VALUE%TYPE INDEX BY BINARY_INTEGER;
65879
65880 TYPE t_array_source_1 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.AID_DESCRIPTION%TYPE INDEX BY BINARY_INTEGER;
65884 TYPE t_array_source_13 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.SELF_ASSESSED_TAX_ACCOUNT%TYPE INDEX BY BINARY_INTEGER;
65881 TYPE t_array_source_8 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.INV_DIST_BASE_AMOUNT%TYPE INDEX BY BINARY_INTEGER;
65882 TYPE t_array_source_9 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.RELATED_INV_DIST_DEST_TYPE%TYPE INDEX BY BINARY_INTEGER;
65883 TYPE t_array_source_11 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.AID_DIST_CCID%TYPE INDEX BY BINARY_INTEGER;
65885 TYPE t_array_source_15 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.AID_LINE_TYPE_LOOKUP_CODE%TYPE INDEX BY BINARY_INTEGER;
65886 TYPE t_array_source_16 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.AID_AMOUNT_VARIANCE%TYPE INDEX BY BINARY_INTEGER;
65887 TYPE t_array_source_18 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.POD_ACCRUE_ON_RECEIPT_FLAG%TYPE INDEX BY BINARY_INTEGER;
65888 TYPE t_array_source_19 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.DIST_ACCOUNT_REVERSAL_OPTION%TYPE INDEX BY BINARY_INTEGER;
65889 TYPE t_array_source_21 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.DISTRIBUTION_LINK_TYPE%TYPE INDEX BY BINARY_INTEGER;
65890 TYPE t_array_source_23 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.ALLOC_TO_MAIN_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
65891 TYPE t_array_source_25 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.BUS_FLOW_AP_APP_ID%TYPE INDEX BY BINARY_INTEGER;
65892 TYPE t_array_source_26 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.BUS_FLOW_INV_DIST_TYPE%TYPE INDEX BY BINARY_INTEGER;
65893 TYPE t_array_source_27 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.BUS_FLOW_INV_ENTITY_CODE%TYPE INDEX BY BINARY_INTEGER;
65894 TYPE t_array_source_28 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.BUS_FLOW_INV_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
65895 TYPE t_array_source_29 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.BUS_FLOW_INV_ID%TYPE INDEX BY BINARY_INTEGER;
65896 TYPE t_array_source_30 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.AID_INVOICE_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
65897 TYPE t_array_source_31 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.UPG_ENC_CR_CCID%TYPE INDEX BY BINARY_INTEGER;
65898 TYPE t_array_source_32 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.UPG_ENC_CR_AMT%TYPE INDEX BY BINARY_INTEGER;
65899 TYPE t_array_source_34 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.UPG_ENC_CR_BASE_AMT%TYPE INDEX BY BINARY_INTEGER;
65900 TYPE t_array_source_35 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.UPG_ENC_DR_CCID%TYPE INDEX BY BINARY_INTEGER;
65901 TYPE t_array_source_36 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.UPG_ENC_DR_AMT%TYPE INDEX BY BINARY_INTEGER;
65902 TYPE t_array_source_37 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.UPG_ENC_DR_BASE_AMT%TYPE INDEX BY BINARY_INTEGER;
65903 TYPE t_array_source_38 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.UPG_AP_ENCUM_OPTION%TYPE INDEX BY BINARY_INTEGER;
65904 TYPE t_array_source_42 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.AID_BASE_AMOUNT_VARIANCE%TYPE INDEX BY BINARY_INTEGER;
65905 TYPE t_array_source_43 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.DEFERRED_END_DATE%TYPE INDEX BY BINARY_INTEGER;
65906 TYPE t_array_source_44 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.DEFERRED_OPTION%TYPE INDEX BY BINARY_INTEGER;
65907 TYPE t_array_source_45 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.DEFERRED_START_DATE%TYPE INDEX BY BINARY_INTEGER;
65908 TYPE t_array_source_46 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.OVERRIDE_ACCTD_AMT_FLAG%TYPE INDEX BY BINARY_INTEGER;
65909 TYPE t_array_source_50 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.AID_PARENT_REVERSAL_ID%TYPE INDEX BY BINARY_INTEGER;
65910 TYPE t_array_source_51 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.AID_STAT_AMOUNT%TYPE INDEX BY BINARY_INTEGER;
65911 TYPE t_array_source_52 IS TABLE OF ZX_AP_DEF_TAX_EXTRACT_V.TAX_LINE_ID%TYPE INDEX BY BINARY_INTEGER;
65912 TYPE t_array_source_53 IS TABLE OF ZX_AP_TAX_JRNL_LINE_DESC_V.REC_NREC_TAX_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
65913 TYPE t_array_source_54 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.SUMMARY_TAX_LINE_ID%TYPE INDEX BY BINARY_INTEGER;
65914 TYPE t_array_source_55 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.UPG_CR_ENC_TYPE_ID%TYPE INDEX BY BINARY_INTEGER;
65915 TYPE t_array_source_56 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.UPG_DR_ENC_TYPE_ID%TYPE INDEX BY BINARY_INTEGER;
65916 TYPE t_array_source_58 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.PO_DISTRIBUTION_ID%TYPE INDEX BY BINARY_INTEGER;
65917 TYPE t_array_source_59 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.SELF_ASSESSED_TAX_FLAG%TYPE INDEX BY BINARY_INTEGER;
65918 TYPE t_array_source_60 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.BUS_FLOW_PO_APP_ID%TYPE INDEX BY BINARY_INTEGER;
65919 TYPE t_array_source_61 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.BUS_FLOW_PO_DIST_TYPE%TYPE INDEX BY BINARY_INTEGER;
65920 TYPE t_array_source_62 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.BUS_FLOW_PO_ENTITY_CODE%TYPE INDEX BY BINARY_INTEGER;
65921 TYPE t_array_source_63 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.BUS_FLOW_PO_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
65922 TYPE t_array_source_64 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.BUS_FLOW_PO_DOC_ID%TYPE INDEX BY BINARY_INTEGER;
65923 TYPE t_array_source_65 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.ENCUMBRANCE_AMOUNT%TYPE INDEX BY BINARY_INTEGER;
65924 TYPE t_array_source_66 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.ENCUMBRANCE_BASE_AMOUNT%TYPE INDEX BY BINARY_INTEGER;
65925 TYPE t_array_source_81 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.AID_QUANTITY_VARIANCE%TYPE INDEX BY BINARY_INTEGER;
65926 TYPE t_array_source_82 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.AID_BASE_QUANTITY_VARIANCE%TYPE INDEX BY BINARY_INTEGER;
65927
65928 l_array_source_6 t_array_source_6;
65929 l_array_source_7 t_array_source_7;
65930 l_array_source_7_meaning t_array_lookup_meaning;
65931 l_array_source_10 t_array_source_10;
65932 l_array_source_12 t_array_source_12;
65933 l_array_source_12_meaning t_array_lookup_meaning;
65934 l_array_source_17 t_array_source_17;
65935 l_array_source_17_meaning t_array_lookup_meaning;
65936 l_array_source_24 t_array_source_24;
65940 l_array_source_41 t_array_source_41;
65937 l_array_source_33 t_array_source_33;
65938 l_array_source_39 t_array_source_39;
65939 l_array_source_40 t_array_source_40;
65941 l_array_source_47 t_array_source_47;
65942 l_array_source_48 t_array_source_48;
65943 l_array_source_49 t_array_source_49;
65944 l_array_source_122 t_array_source_122;
65945 l_array_source_123 t_array_source_123;
65946 l_array_source_124 t_array_source_124;
65947
65948 l_array_source_1 t_array_source_1;
65949 l_array_source_8 t_array_source_8;
65950 l_array_source_9 t_array_source_9;
65951 l_array_source_9_meaning t_array_lookup_meaning;
65952 l_array_source_11 t_array_source_11;
65953 l_array_source_13 t_array_source_13;
65954 l_array_source_15 t_array_source_15;
65955 l_array_source_15_meaning t_array_lookup_meaning;
65956 l_array_source_16 t_array_source_16;
65957 l_array_source_18 t_array_source_18;
65958 l_array_source_18_meaning t_array_lookup_meaning;
65959 l_array_source_19 t_array_source_19;
65960 l_array_source_21 t_array_source_21;
65961 l_array_source_23 t_array_source_23;
65962 l_array_source_25 t_array_source_25;
65963 l_array_source_26 t_array_source_26;
65964 l_array_source_27 t_array_source_27;
65965 l_array_source_28 t_array_source_28;
65966 l_array_source_29 t_array_source_29;
65967 l_array_source_30 t_array_source_30;
65968 l_array_source_31 t_array_source_31;
65969 l_array_source_32 t_array_source_32;
65970 l_array_source_34 t_array_source_34;
65971 l_array_source_35 t_array_source_35;
65972 l_array_source_36 t_array_source_36;
65973 l_array_source_37 t_array_source_37;
65974 l_array_source_38 t_array_source_38;
65975 l_array_source_42 t_array_source_42;
65976 l_array_source_43 t_array_source_43;
65977 l_array_source_44 t_array_source_44;
65978 l_array_source_45 t_array_source_45;
65979 l_array_source_46 t_array_source_46;
65980 l_array_source_46_meaning t_array_lookup_meaning;
65981 l_array_source_50 t_array_source_50;
65982 l_array_source_51 t_array_source_51;
65983 l_array_source_52 t_array_source_52;
65984 l_array_source_53 t_array_source_53;
65985 l_array_source_54 t_array_source_54;
65986 l_array_source_55 t_array_source_55;
65987 l_array_source_56 t_array_source_56;
65988 l_array_source_58 t_array_source_58;
65989 l_array_source_59 t_array_source_59;
65990 l_array_source_59_meaning t_array_lookup_meaning;
65991 l_array_source_60 t_array_source_60;
65992 l_array_source_61 t_array_source_61;
65993 l_array_source_62 t_array_source_62;
65994 l_array_source_63 t_array_source_63;
65995 l_array_source_64 t_array_source_64;
65996 l_array_source_65 t_array_source_65;
65997 l_array_source_66 t_array_source_66;
65998 l_array_source_81 t_array_source_81;
65999 l_array_source_82 t_array_source_82;
66000
66001 --
66002 CURSOR header_cur
66003 IS
66004 SELECT /*+ leading(xet) cardinality(xet,1) */
66005 -- Event Class Code: CREDIT MEMOS
66006 xet.entity_id
66007 ,xet.legal_entity_id
66008 ,xet.entity_code
66009 ,xet.transaction_number
66010 ,xet.event_id
66011 ,xet.event_class_code
66012 ,xet.event_type_code
66013 ,xet.event_number
66014 ,xet.event_date
66015 ,xet.transaction_date
66016 ,xet.reference_num_1
66017 ,xet.reference_num_2
66018 ,xet.reference_num_3
66019 ,xet.reference_num_4
66020 ,xet.reference_char_1
66021 ,xet.reference_char_2
66022 ,xet.reference_char_3
66023 ,xet.reference_char_4
66024 ,xet.reference_date_1
66025 ,xet.reference_date_2
66026 ,xet.reference_date_3
66027 ,xet.reference_date_4
66028 ,xet.event_created_by
66029 ,xet.budgetary_control_flag
66030 , h3.ASP_RATE_VAR_GAIN_CCID source_6
66031 , h3.ASP_AUTOMATIC_OFFSETS_VALUE source_7
66032 , fvl7.meaning source_7_meaning
66033 , h3.ASP_RATE_VAR_LOSS_CCID source_10
66034 , h3.ASP_AUTO_OFFSET_FLAG source_12
66035 , fvl12.meaning source_12_meaning
66036 , h3.FSP_PURCH_ENCUMBRANCE_FLAG source_17
66037 , fvl17.meaning source_17_meaning
66038 , h2.AI_INVOICE_ID source_24
66039 , h2.AI_INVOICE_CURRENCY_CODE source_33
66040 , h2.INV_EXCHANGE_DATE source_39
66041 , h2.INV_EXCHANGE_RATE source_40
66042 , h2.INV_EXCHANGE_RATE_TYPE source_41
66043 , h2.AI_VENDOR_ID source_47
66044 , h2.AI_VENDOR_SITE_ID source_48
66045 , h2.THIRD_PARTY_TYPE source_49
66046 , h2.INV_DOC_SEQUENCE_CATEGORY source_122
66047 , h2.INV_DOC_SEQUENCE_IDENTIFIER source_123
66048 , h2.INV_DOC_SEQUENCE_VALUE source_124
66049 FROM xla_events_gt xet
66050 , AP_INVOICE_EXTRACT_HEADER_V h2
66051 , AP_SYSTEM_PARAMETERS_EXTRACT_V h3
66052 , fnd_lookup_values fvl7
66053 , fnd_lookup_values fvl12
66054 , fnd_lookup_values fvl17
66055 WHERE xet.event_date between p_pad_start_date and p_pad_end_date
66056 and xet.event_class_code = C_EVENT_CLASS_CODE
66057 and xet.event_status_code <> 'N' AND h2.event_id = xet.event_id
66058 AND h3.asp_org_id = h2.ai_org_id AND fvl7.lookup_type(+) = 'LIABILITY FLEXBUILD METHOD'
66059 AND fvl7.lookup_code(+) = h3.ASP_AUTOMATIC_OFFSETS_VALUE
66060 AND fvl7.view_application_id(+) = 200
66061 AND fvl7.language(+) = USERENV('LANG')
66065 AND fvl12.language(+) = USERENV('LANG')
66062 AND fvl12.lookup_type(+) = 'YES_NO'
66063 AND fvl12.lookup_code(+) = h3.ASP_AUTO_OFFSET_FLAG
66064 AND fvl12.view_application_id(+) = 0
66066 AND fvl17.lookup_type(+) = 'YES_NO'
66067 AND fvl17.lookup_code(+) = h3.FSP_PURCH_ENCUMBRANCE_FLAG
66068 AND fvl17.view_application_id(+) = 0
66069 AND fvl17.language(+) = USERENV('LANG')
66070
66071 ORDER BY event_id
66072 ;
66073
66074
66075 --
66076 CURSOR line_cur (x_first_event_id in number, x_last_event_id in number)
66077 IS
66078 SELECT /*+ leading(xet) cardinality(xet,1) */
66079 -- Event Class Code: CREDIT MEMOS
66080 xet.entity_id
66081 ,xet.legal_entity_id
66082 ,xet.entity_code
66083 ,xet.transaction_number
66084 ,xet.event_id
66085 ,xet.event_class_code
66086 ,xet.event_type_code
66087 ,xet.event_number
66088 ,xet.event_date
66089 ,xet.transaction_date
66090 ,xet.reference_num_1
66091 ,xet.reference_num_2
66092 ,xet.reference_num_3
66093 ,xet.reference_num_4
66094 ,xet.reference_char_1
66095 ,xet.reference_char_2
66096 ,xet.reference_char_3
66097 ,xet.reference_char_4
66098 ,xet.reference_date_1
66099 ,xet.reference_date_2
66100 ,xet.reference_date_3
66101 ,xet.reference_date_4
66102 ,xet.event_created_by
66103 ,xet.budgetary_control_flag
66104 , l1.LINE_NUMBER
66105 , l1.AID_DESCRIPTION source_1
66106 , l1.INV_DIST_BASE_AMOUNT source_8
66107 , l1.RELATED_INV_DIST_DEST_TYPE source_9
66108 , fvl9.meaning source_9_meaning
66109 , l1.AID_DIST_CCID source_11
66110 , l1.SELF_ASSESSED_TAX_ACCOUNT source_13
66111 , l1.AID_LINE_TYPE_LOOKUP_CODE source_15
66112 , fvl15.meaning source_15_meaning
66113 , l1.AID_AMOUNT_VARIANCE source_16
66114 , l1.POD_ACCRUE_ON_RECEIPT_FLAG source_18
66115 , fvl18.meaning source_18_meaning
66116 , l1.DIST_ACCOUNT_REVERSAL_OPTION source_19
66117 , l1.DISTRIBUTION_LINK_TYPE source_21
66118 , l1.ALLOC_TO_MAIN_DIST_ID source_23
66119 , l1.BUS_FLOW_AP_APP_ID source_25
66120 , l1.BUS_FLOW_INV_DIST_TYPE source_26
66121 , l1.BUS_FLOW_INV_ENTITY_CODE source_27
66122 , l1.BUS_FLOW_INV_DIST_ID source_28
66123 , l1.BUS_FLOW_INV_ID source_29
66124 , l1.AID_INVOICE_DIST_ID source_30
66125 , l1.UPG_ENC_CR_CCID source_31
66126 , l1.UPG_ENC_CR_AMT source_32
66127 , l1.UPG_ENC_CR_BASE_AMT source_34
66128 , l1.UPG_ENC_DR_CCID source_35
66129 , l1.UPG_ENC_DR_AMT source_36
66130 , l1.UPG_ENC_DR_BASE_AMT source_37
66131 , l1.UPG_AP_ENCUM_OPTION source_38
66132 , l1.AID_BASE_AMOUNT_VARIANCE source_42
66133 , l1.DEFERRED_END_DATE source_43
66134 , l1.DEFERRED_OPTION source_44
66135 , l1.DEFERRED_START_DATE source_45
66136 , l1.OVERRIDE_ACCTD_AMT_FLAG source_46
66137 , fvl46.meaning source_46_meaning
66138 , l1.AID_PARENT_REVERSAL_ID source_50
66139 , l1.AID_STAT_AMOUNT source_51
66140 , l4.TAX_LINE_ID source_52
66141 , l5.REC_NREC_TAX_DIST_ID source_53
66142 , l1.SUMMARY_TAX_LINE_ID source_54
66143 , l1.UPG_CR_ENC_TYPE_ID source_55
66144 , l1.UPG_DR_ENC_TYPE_ID source_56
66145 , l1.PO_DISTRIBUTION_ID source_58
66146 , l1.SELF_ASSESSED_TAX_FLAG source_59
66147 , fvl59.meaning source_59_meaning
66148 , l1.BUS_FLOW_PO_APP_ID source_60
66149 , l1.BUS_FLOW_PO_DIST_TYPE source_61
66150 , l1.BUS_FLOW_PO_ENTITY_CODE source_62
66151 , l1.BUS_FLOW_PO_DIST_ID source_63
66152 , l1.BUS_FLOW_PO_DOC_ID source_64
66153 , l1.ENCUMBRANCE_AMOUNT source_65
66154 , l1.ENCUMBRANCE_BASE_AMOUNT source_66
66155 , l1.AID_QUANTITY_VARIANCE source_81
66156 , l1.AID_BASE_QUANTITY_VARIANCE source_82
66157 FROM xla_events_gt xet
66158 , AP_EXTRACT_INVOICE_DTLS_BC_V l1
66159 , ZX_AP_DEF_TAX_EXTRACT_V l4
66160 , ZX_AP_TAX_JRNL_LINE_DESC_V l5
66161 , fnd_lookup_values fvl9
66162 , fnd_lookup_values fvl15
66163 , fnd_lookup_values fvl18
66164 , fnd_lookup_values fvl46
66165 , fnd_lookup_values fvl59
66166 WHERE xet.event_id between x_first_event_id and x_last_event_id
66167 and xet.event_date between p_pad_start_date and p_pad_end_date
66168 and xet.event_class_code = C_EVENT_CLASS_CODE
66169 and xet.event_status_code <> 'N' AND l1.event_id = xet.event_id
66170 AND l1.ZRND_tax_dist_id = l4.REC_NREC_TAX_DIST_ID (+) AND l1.ZRND_tax_dist_id = l5.REC_NREC_TAX_DIST_ID (+) AND fvl9.lookup_type(+) = 'DESTINATION TYPE'
66171 AND fvl9.lookup_code(+) = l1.RELATED_INV_DIST_DEST_TYPE
66172 AND fvl9.view_application_id(+) = 201
66173 AND fvl9.language(+) = USERENV('LANG')
66174 AND fvl15.lookup_type(+) = 'INVOICE DISTRIBUTION TYPE'
66175 AND fvl15.lookup_code(+) = l1.AID_LINE_TYPE_LOOKUP_CODE
66176 AND fvl15.view_application_id(+) = 200
66177 AND fvl15.language(+) = USERENV('LANG')
66178 AND fvl18.lookup_type(+) = 'YES_NO'
66179 AND fvl18.lookup_code(+) = l1.POD_ACCRUE_ON_RECEIPT_FLAG
66180 AND fvl18.view_application_id(+) = 0
66181 AND fvl18.language(+) = USERENV('LANG')
66182 AND fvl46.lookup_type(+) = 'YES_NO'
66183 AND fvl46.lookup_code(+) = l1.OVERRIDE_ACCTD_AMT_FLAG
66184 AND fvl46.view_application_id(+) = 0
66188 AND fvl59.view_application_id(+) = 0
66185 AND fvl46.language(+) = USERENV('LANG')
66186 AND fvl59.lookup_type(+) = 'YES_NO'
66187 AND fvl59.lookup_code(+) = l1.SELF_ASSESSED_TAX_FLAG
66189 AND fvl59.language(+) = USERENV('LANG')
66190 ;
66191
66192 --
66193 BEGIN
66194 IF g_log_enabled THEN
66195 l_log_module := C_DEFAULT_MODULE||'.EventClass_103';
66196 END IF;
66197 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
66198 trace
66199 (p_msg => 'BEGIN of EventClass_103'
66200 ,p_level => C_LEVEL_PROCEDURE
66201 ,p_module => l_log_module);
66202 END IF;
66203
66204 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
66205 trace
66206 (p_msg => 'p_application_id = '||p_application_id||
66207 ' - p_base_ledger_id = '||p_base_ledger_id||
66208 ' - p_target_ledger_id = '||p_target_ledger_id||
66209 ' - p_language = '||p_language||
66210 ' - p_currency_code = '||p_currency_code||
66211 ' - p_sla_ledger_id = '||p_sla_ledger_id
66212 ,p_level => C_LEVEL_STATEMENT
66213 ,p_module => l_log_module);
66214 END IF;
66215 --
66216 -- initialze arrays
66217 --
66218 g_array_event.DELETE;
66219 l_rec_array_event := l_null_rec_array_event;
66220 --
66221 --------------------------------------
66222 -- 4262811 Initialze MPA Line Number
66223 --------------------------------------
66224 XLA_AE_HEADER_PKG.g_mpa_line_num := 0;
66225
66226 --
66227
66228 --
66229 OPEN header_cur;
66230 --
66231 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
66232 trace
66233 (p_msg => 'SQL - FETCH header_cur'
66234 ,p_level => C_LEVEL_STATEMENT
66235 ,p_module => l_log_module);
66236 END IF;
66237 --
66238 LOOP
66239 FETCH header_cur BULK COLLECT INTO
66240 l_array_entity_id
66241 , l_array_legal_entity_id
66242 , l_array_entity_code
66243 , l_array_transaction_num
66244 , l_array_event_id
66245 , l_array_class_code
66246 , l_array_event_type
66247 , l_array_event_number
66248 , l_array_event_date
66249 , l_array_transaction_date
66250 , l_array_reference_num_1
66251 , l_array_reference_num_2
66252 , l_array_reference_num_3
66253 , l_array_reference_num_4
66254 , l_array_reference_char_1
66255 , l_array_reference_char_2
66256 , l_array_reference_char_3
66257 , l_array_reference_char_4
66258 , l_array_reference_date_1
66259 , l_array_reference_date_2
66260 , l_array_reference_date_3
66261 , l_array_reference_date_4
66262 , l_array_event_created_by
66263 , l_array_budgetary_control_flag
66264 , l_array_source_6
66265 , l_array_source_7
66266 , l_array_source_7_meaning
66267 , l_array_source_10
66268 , l_array_source_12
66269 , l_array_source_12_meaning
66270 , l_array_source_17
66271 , l_array_source_17_meaning
66272 , l_array_source_24
66273 , l_array_source_33
66274 , l_array_source_39
66275 , l_array_source_40
66276 , l_array_source_41
66277 , l_array_source_47
66278 , l_array_source_48
66279 , l_array_source_49
66280 , l_array_source_122
66281 , l_array_source_123
66282 , l_array_source_124
66283 LIMIT l_rows;
66284 --
66285 IF (C_LEVEL_EVENT >= g_log_level) THEN
66286 trace
66287 (p_msg => '# rows extracted from header extract objects = '||TO_CHAR(header_cur%ROWCOUNT)
66288 ,p_level => C_LEVEL_EVENT
66289 ,p_module => l_log_module);
66290 END IF;
66291 --
66292 EXIT WHEN l_array_entity_id.COUNT = 0;
66293
66294 -- initialize arrays
66295 XLA_AE_HEADER_PKG.g_rec_header_new := NULL;
66296 XLA_AE_LINES_PKG.g_rec_lines := NULL;
66297
66298 --
66299 -- Bug 4458708
66300 --
66301 XLA_AE_LINES_PKG.g_LineNumber := 0;
66302
66303
66304 -- 4262811 - when creating Accrual Reversal or MPA, use g_last_hdr_idx to increment for next header id
66305 g_last_hdr_idx := l_array_event_id.LAST;
66306 --
66307 -- loop for the headers. Each iteration is for each header extract row
66308 -- fetched in header cursor
66309 --
66310 FOR hdr_idx IN l_array_event_id.FIRST .. l_array_event_id.LAST LOOP
66311
66312 --
66313 -- set event info as cache for other routines to refer event attributes
66314 --
66315 XLA_AE_JOURNAL_ENTRY_PKG.set_event_info
66316 (p_application_id => p_application_id
66317 ,p_primary_ledger_id => p_primary_ledger_id
66318 ,p_base_ledger_id => p_base_ledger_id
66319 ,p_target_ledger_id => p_target_ledger_id
66320 ,p_entity_id => l_array_entity_id(hdr_idx)
66321 ,p_legal_entity_id => l_array_legal_entity_id(hdr_idx)
66322 ,p_entity_code => l_array_entity_code(hdr_idx)
66323 ,p_transaction_num => l_array_transaction_num(hdr_idx)
66324 ,p_event_id => l_array_event_id(hdr_idx)
66325 ,p_event_class_code => l_array_class_code(hdr_idx)
66326 ,p_event_type_code => l_array_event_type(hdr_idx)
66327 ,p_event_number => l_array_event_number(hdr_idx)
66331 ,p_reference_num_2 => l_array_reference_num_2(hdr_idx)
66328 ,p_event_date => l_array_event_date(hdr_idx)
66329 ,p_transaction_date => l_array_transaction_date(hdr_idx)
66330 ,p_reference_num_1 => l_array_reference_num_1(hdr_idx)
66332 ,p_reference_num_3 => l_array_reference_num_3(hdr_idx)
66333 ,p_reference_num_4 => l_array_reference_num_4(hdr_idx)
66334 ,p_reference_char_1 => l_array_reference_char_1(hdr_idx)
66335 ,p_reference_char_2 => l_array_reference_char_2(hdr_idx)
66336 ,p_reference_char_3 => l_array_reference_char_3(hdr_idx)
66337 ,p_reference_char_4 => l_array_reference_char_4(hdr_idx)
66338 ,p_reference_date_1 => l_array_reference_date_1(hdr_idx)
66339 ,p_reference_date_2 => l_array_reference_date_2(hdr_idx)
66340 ,p_reference_date_3 => l_array_reference_date_3(hdr_idx)
66341 ,p_reference_date_4 => l_array_reference_date_4(hdr_idx)
66342 ,p_event_created_by => l_array_event_created_by(hdr_idx)
66343 ,p_budgetary_control_flag => l_array_budgetary_control_flag(hdr_idx));
66344
66345 --
66346 -- set the status of entry to C_VALID (0)
66347 --
66348 XLA_AE_JOURNAL_ENTRY_PKG.g_global_status := XLA_AE_JOURNAL_ENTRY_PKG.C_VALID;
66349
66350 --
66351 -- initialize a row for ae header
66352 --
66353 XLA_AE_HEADER_PKG.InitHeader(hdr_idx);
66354
66355 l_event_id := l_array_event_id(hdr_idx);
66356
66357 --
66358 -- storing the hdr_idx for event. May be used by line cursor.
66359 --
66360 g_array_event(l_event_id).array_value_num('header_index') := hdr_idx;
66361
66362 --
66363 -- store sources from header extract. This can be improved to
66364 -- store only those sources from header extract that may be used in lines
66365 --
66366
66367 g_array_event(l_event_id).array_value_num('source_6') := l_array_source_6(hdr_idx);
66368 g_array_event(l_event_id).array_value_char('source_7') := l_array_source_7(hdr_idx);
66369 g_array_event(l_event_id).array_value_char('source_7_meaning') := l_array_source_7_meaning(hdr_idx);
66370 g_array_event(l_event_id).array_value_num('source_10') := l_array_source_10(hdr_idx);
66371 g_array_event(l_event_id).array_value_char('source_12') := l_array_source_12(hdr_idx);
66372 g_array_event(l_event_id).array_value_char('source_12_meaning') := l_array_source_12_meaning(hdr_idx);
66373 g_array_event(l_event_id).array_value_char('source_17') := l_array_source_17(hdr_idx);
66374 g_array_event(l_event_id).array_value_char('source_17_meaning') := l_array_source_17_meaning(hdr_idx);
66375 g_array_event(l_event_id).array_value_num('source_24') := l_array_source_24(hdr_idx);
66376 g_array_event(l_event_id).array_value_char('source_33') := l_array_source_33(hdr_idx);
66377 g_array_event(l_event_id).array_value_date('source_39') := l_array_source_39(hdr_idx);
66378 g_array_event(l_event_id).array_value_num('source_40') := l_array_source_40(hdr_idx);
66379 g_array_event(l_event_id).array_value_char('source_41') := l_array_source_41(hdr_idx);
66380 g_array_event(l_event_id).array_value_num('source_47') := l_array_source_47(hdr_idx);
66381 g_array_event(l_event_id).array_value_num('source_48') := l_array_source_48(hdr_idx);
66382 g_array_event(l_event_id).array_value_char('source_49') := l_array_source_49(hdr_idx);
66383 g_array_event(l_event_id).array_value_char('source_122') := l_array_source_122(hdr_idx);
66384 g_array_event(l_event_id).array_value_num('source_123') := l_array_source_123(hdr_idx);
66385 g_array_event(l_event_id).array_value_num('source_124') := l_array_source_124(hdr_idx);
66386
66387 --
66388 -- initilaize the status of ae headers for diffrent balance types
66389 -- the status is initialised to C_NOT_CREATED (2)
66390 --
66391 --g_array_event(l_event_id).array_value_num('actual_je_status') := XLA_AE_JOURNAL_ENTRY_PKG.C_NOT_CREATED;
66392 --g_array_event(l_event_id).array_value_num('budget_je_status') := XLA_AE_JOURNAL_ENTRY_PKG.C_NOT_CREATED;
66393 --g_array_event(l_event_id).array_value_num('encumbrance_je_status') := XLA_AE_JOURNAL_ENTRY_PKG.C_NOT_CREATED;
66394
66395 --
66396 -- call api to validate and store accounting attributes for header
66397 --
66398
66399 ------------------------------------------------------------
66400 -- Accrual Reversal : to get date for Standard Source (NONE)
66401 ------------------------------------------------------------
66402 l_acc_rev_gl_date_source := NULL;
66403
66404 l_rec_acct_attrs.array_acct_attr_code(1) := 'DOC_CATEGORY_CODE';
66405 l_rec_acct_attrs.array_char_value(1) := g_array_event(l_event_id).array_value_char('source_122');
66406 l_rec_acct_attrs.array_acct_attr_code(2) := 'DOC_SEQUENCE_ID';
66407 l_rec_acct_attrs.array_num_value(2) := g_array_event(l_event_id).array_value_num('source_123');
66408 l_rec_acct_attrs.array_acct_attr_code(3) := 'DOC_SEQUENCE_VALUE';
66409 l_rec_acct_attrs.array_num_value(3) := g_array_event(l_event_id).array_value_num('source_124');
66410 l_rec_acct_attrs.array_acct_attr_code(4) := 'GL_DATE';
66411 l_rec_acct_attrs.array_date_value(4) :=
66412 xla_ae_sources_pkg.GetSystemSourceDate(
66413 p_source_code => 'XLA_EVENT_DATE'
66414 , p_source_type_code => 'Y'
66415 , p_source_application_id => 602
66416 );
66417
66418
66419 XLA_AE_HEADER_PKG.SetHdrAcctAttrs(l_rec_acct_attrs);
66420
66421 XLA_AE_HEADER_PKG.SetJeCategoryName;
66422
66423 XLA_AE_HEADER_PKG.g_rec_header_new.array_event_type_code(hdr_idx) := l_array_event_type(hdr_idx);
66424 XLA_AE_HEADER_PKG.g_rec_header_new.array_event_id(hdr_idx) := l_array_event_id(hdr_idx);
66425 XLA_AE_HEADER_PKG.g_rec_header_new.array_entity_id(hdr_idx) := l_array_entity_id(hdr_idx);
66429
66426 XLA_AE_HEADER_PKG.g_rec_header_new.array_event_number(hdr_idx) := l_array_event_number(hdr_idx);
66427 XLA_AE_HEADER_PKG.g_rec_header_new.array_target_ledger_id(hdr_idx) := p_target_ledger_id;
66428
66430 --
66431 xla_ae_header_pkg.SetHdrDescription(
66432 p_description => Description_1 (
66433 p_application_id => p_application_id
66434 )
66435 );
66436 --
66437
66438 -- No header level analytical criteria
66439
66440 --
66441 --accounting attribute enhancement, bug 3612931
66442 --
66443 l_trx_reversal_source := SUBSTR(NULL, 1,30);
66444
66445 IF NVL(l_trx_reversal_source, 'N') NOT IN ('N','Y') THEN
66446 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
66447
66448 xla_accounting_err_pkg.build_message
66449 (p_appli_s_name => 'XLA'
66450 ,p_msg_name => 'XLA_AP_INVALID_HDR_ATTR'
66451 ,p_token_1 => 'ACCT_ATTR_NAME'
66452 ,p_value_1 => xla_ae_sources_pkg.GetAccountingSourceName('TRX_ACCT_REVERSAL_OPTION')
66453 ,p_token_2 => 'PRODUCT_NAME'
66454 ,p_value_2 => xla_ae_journal_entry_pkg.g_cache_event.application_name
66455 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
66456 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
66457 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id);
66458
66459 ELSIF NVL(l_trx_reversal_source, 'N') = 'Y' THEN
66460 --
66461 -- following sets the accounting attributes needed to reverse
66462 -- accounting for a distributeion
66463 --
66464 xla_ae_lines_pkg.SetTrxReversalAttrs
66465 (p_event_id => l_event_id
66466 ,p_gl_date => XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(hdr_idx)
66467 ,p_trx_reversal_source => l_trx_reversal_source);
66468
66469 END IF;
66470
66471
66472 ----------------------------------------------------------------
66473 -- 4262811 - update the header statuses to invalid in need be
66474 ----------------------------------------------------------------
66475 --
66476 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus (p_hdr_idx => hdr_idx);
66477
66478
66479 -----------------------------------------------
66480 -- No accrual reversal for the event class/type
66481 -----------------------------------------------
66482 ----------------------------------------------------------------
66483
66484 --
66485 -- this ends the header loop iteration for one bulk fetch
66486 --
66487 END LOOP;
66488
66489 l_first_event_id := l_array_event_id(l_array_event_id.FIRST);
66490 l_last_event_id := l_array_event_id(l_array_event_id.LAST);
66491
66492 --
66493 -- insert dummy rows into lines gt table that were created due to
66494 -- transaction reversals
66495 --
66496 IF XLA_AE_LINES_PKG.g_rec_lines.array_ae_header_id.COUNT > 0 THEN
66497 l_result := XLA_AE_LINES_PKG.InsertLines;
66498 END IF;
66499
66500 --
66501 -- reset the temp_line_num for each set of events fetched from header
66502 -- cursor rather than doing it for each new event in line cursor
66503 -- Bug 3939231
66504 --
66505 xla_ae_lines_pkg.g_temp_line_num := 0;
66506
66507
66508
66509 --
66510 OPEN line_cur(x_first_event_id => l_first_event_id, x_last_event_id => l_last_event_id);
66511 --
66512 --
66513 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
66514
66515 trace
66516 (p_msg => 'SQL - FETCH line_cur'
66517 ,p_level => C_LEVEL_STATEMENT
66518 ,p_module => l_log_module);
66519
66520 END IF;
66521 --
66522 --
66523 LOOP
66524 --
66525 FETCH line_cur BULK COLLECT INTO
66526 l_array_entity_id
66527 , l_array_legal_entity_id
66528 , l_array_entity_code
66529 , l_array_transaction_num
66530 , l_array_event_id
66531 , l_array_class_code
66532 , l_array_event_type
66533 , l_array_event_number
66534 , l_array_event_date
66535 , l_array_transaction_date
66536 , l_array_reference_num_1
66537 , l_array_reference_num_2
66538 , l_array_reference_num_3
66539 , l_array_reference_num_4
66540 , l_array_reference_char_1
66541 , l_array_reference_char_2
66542 , l_array_reference_char_3
66543 , l_array_reference_char_4
66544 , l_array_reference_date_1
66545 , l_array_reference_date_2
66546 , l_array_reference_date_3
66547 , l_array_reference_date_4
66548 , l_array_event_created_by
66549 , l_array_budgetary_control_flag
66550 , l_array_extract_line_num
66551 , l_array_source_1
66552 , l_array_source_8
66553 , l_array_source_9
66554 , l_array_source_9_meaning
66555 , l_array_source_11
66556 , l_array_source_13
66557 , l_array_source_15
66558 , l_array_source_15_meaning
66559 , l_array_source_16
66560 , l_array_source_18
66561 , l_array_source_18_meaning
66562 , l_array_source_19
66563 , l_array_source_21
66564 , l_array_source_23
66565 , l_array_source_25
66566 , l_array_source_26
66567 , l_array_source_27
66568 , l_array_source_28
66569 , l_array_source_29
66570 , l_array_source_30
66571 , l_array_source_31
66575 , l_array_source_36
66572 , l_array_source_32
66573 , l_array_source_34
66574 , l_array_source_35
66576 , l_array_source_37
66577 , l_array_source_38
66578 , l_array_source_42
66579 , l_array_source_43
66580 , l_array_source_44
66581 , l_array_source_45
66582 , l_array_source_46
66583 , l_array_source_46_meaning
66584 , l_array_source_50
66585 , l_array_source_51
66586 , l_array_source_52
66587 , l_array_source_53
66588 , l_array_source_54
66589 , l_array_source_55
66590 , l_array_source_56
66591 , l_array_source_58
66592 , l_array_source_59
66593 , l_array_source_59_meaning
66594 , l_array_source_60
66595 , l_array_source_61
66596 , l_array_source_62
66597 , l_array_source_63
66598 , l_array_source_64
66599 , l_array_source_65
66600 , l_array_source_66
66601 , l_array_source_81
66602 , l_array_source_82
66603 LIMIT l_rows;
66604
66605 --
66606 IF (C_LEVEL_EVENT >= g_log_level) THEN
66607 trace
66608 (p_msg => '# rows extracted from line extract objects = '||TO_CHAR(line_cur%ROWCOUNT)
66609 ,p_level => C_LEVEL_EVENT
66610 ,p_module => l_log_module);
66611 END IF;
66612 --
66613 EXIT WHEN l_array_entity_id.count = 0;
66614
66615 XLA_AE_LINES_PKG.g_rec_lines := null;
66616
66617 --
66618 -- Bug 4458708
66619 --
66620 XLA_AE_LINES_PKG.g_LineNumber := 0;
66621 --
66622 --
66623
66624 FOR Idx IN 1..l_array_event_id.count LOOP
66625 --
66626 -- 5648433 (move l_event_id out of IF statement) set l_event_id to be used inside IF condition
66627 --
66628 l_event_id := l_array_event_id(idx); -- 5648433
66629
66630 --
66631 -- Bug 4872078 - Do nothing if the event is meant for transaction reversal
66632 --
66633
66634 IF NVL(xla_ae_header_pkg.g_rec_header_new.array_trx_acct_reversal_option
66635 (g_array_event(l_event_id).array_value_num('header_index'))
66636 ,'N'
66637 ) <> 'Y'
66638 THEN
66639 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
66640 trace
66641 (p_msg => 'Trancaction revesal option is not Y '
66642 ,p_level => C_LEVEL_STATEMENT
66643 ,p_module => l_log_module);
66644 END IF;
66645
66646 --
66647 -- set the XLA_AE_JOURNAL_ENTRY_PKG.g_global_status to C_VALID (0)
66648 --
66649 XLA_AE_JOURNAL_ENTRY_PKG.g_global_status := XLA_AE_JOURNAL_ENTRY_PKG.C_VALID;
66650 --
66651 -- set event info as cache for other routines to refer event attributes
66652 --
66653
66654 IF l_event_id <> NVL(l_previous_event_id, -1) THEN
66655 l_previous_event_id := l_event_id;
66656
66657 XLA_AE_JOURNAL_ENTRY_PKG.set_event_info
66658 (p_application_id => p_application_id
66659 ,p_primary_ledger_id => p_primary_ledger_id
66660 ,p_base_ledger_id => p_base_ledger_id
66661 ,p_target_ledger_id => p_target_ledger_id
66662 ,p_entity_id => l_array_entity_id(Idx)
66663 ,p_legal_entity_id => l_array_legal_entity_id(Idx)
66664 ,p_entity_code => l_array_entity_code(Idx)
66665 ,p_transaction_num => l_array_transaction_num(Idx)
66666 ,p_event_id => l_array_event_id(Idx)
66667 ,p_event_class_code => l_array_class_code(Idx)
66668 ,p_event_type_code => l_array_event_type(Idx)
66669 ,p_event_number => l_array_event_number(Idx)
66670 ,p_event_date => l_array_event_date(Idx)
66671 ,p_transaction_date => l_array_transaction_date(Idx)
66672 ,p_reference_num_1 => l_array_reference_num_1(Idx)
66673 ,p_reference_num_2 => l_array_reference_num_2(Idx)
66674 ,p_reference_num_3 => l_array_reference_num_3(Idx)
66675 ,p_reference_num_4 => l_array_reference_num_4(Idx)
66676 ,p_reference_char_1 => l_array_reference_char_1(Idx)
66677 ,p_reference_char_2 => l_array_reference_char_2(Idx)
66678 ,p_reference_char_3 => l_array_reference_char_3(Idx)
66679 ,p_reference_char_4 => l_array_reference_char_4(Idx)
66680 ,p_reference_date_1 => l_array_reference_date_1(Idx)
66681 ,p_reference_date_2 => l_array_reference_date_2(Idx)
66682 ,p_reference_date_3 => l_array_reference_date_3(Idx)
66683 ,p_reference_date_4 => l_array_reference_date_4(Idx)
66684 ,p_event_created_by => l_array_event_created_by(Idx)
66685 ,p_budgetary_control_flag => l_array_budgetary_control_flag(Idx));
66686 --
66687 END IF;
66688
66689
66690
66691 --
66692 xla_ae_lines_pkg.SetExtractLine(p_extract_line => l_array_extract_line_num(Idx));
66693
66694 l_acct_reversal_source := SUBSTR(l_array_source_19(Idx), 1,30);
66695
66696 IF l_continue_with_lines THEN
66697 IF NVL(l_acct_reversal_source, 'N') NOT IN ('N','Y','B') THEN
66698 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
66699
66700 xla_accounting_err_pkg.build_message
66701 (p_appli_s_name => 'XLA'
66702 ,p_msg_name => 'XLA_AP_INVALID_REVERSAL_OPTION'
66703 ,p_token_1 => 'LINE_NUMBER'
66707 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
66704 ,p_value_1 => l_array_extract_line_num(Idx)
66705 ,p_token_2 => 'PRODUCT_NAME'
66706 ,p_value_2 => xla_ae_journal_entry_pkg.g_cache_event.application_name
66708 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
66709 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id);
66710
66711 ELSIF NVL(l_acct_reversal_source, 'N') IN ('Y','B') THEN
66712 --
66713 -- following sets the accounting attributes needed to reverse
66714 -- accounting for a distributeion
66715 --
66716
66717 --
66718 -- 5217187
66719 --
66720 l_rec_rev_acct_attrs.array_acct_attr_code(1):= 'GL_DATE';
66721 l_rec_rev_acct_attrs.array_date_value(1) := XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(
66722 g_array_event(l_event_id).array_value_num('header_index'));
66723 --
66724 --
66725
66726 l_rec_rev_acct_attrs.array_acct_attr_code(2) := 'ACCOUNTING_REVERSAL_OPTION';
66727 l_rec_rev_acct_attrs.array_char_value(2) := l_array_source_19(Idx);
66728 l_rec_rev_acct_attrs.array_acct_attr_code(3) := 'DISTRIBUTION_IDENTIFIER_1';
66729 l_rec_rev_acct_attrs.array_num_value(3) := l_array_source_30(Idx);
66730 l_rec_rev_acct_attrs.array_acct_attr_code(4) := 'DISTRIBUTION_TYPE';
66731 l_rec_rev_acct_attrs.array_char_value(4) := l_array_source_21(Idx);
66732 l_rec_rev_acct_attrs.array_acct_attr_code(5) := 'ENC_UPG_CR_CCID';
66733 l_rec_rev_acct_attrs.array_num_value(5) := l_array_source_31(Idx);
66734 l_rec_rev_acct_attrs.array_acct_attr_code(6) := 'ENC_UPG_CR_ENTERED_AMT';
66735 l_rec_rev_acct_attrs.array_num_value(6) := l_array_source_32(Idx);
66736 l_rec_rev_acct_attrs.array_acct_attr_code(7) := 'ENC_UPG_CR_ENTERED_CURR';
66737 l_rec_rev_acct_attrs.array_char_value(7) := g_array_event(l_event_id).array_value_char('source_33');
66738 l_rec_rev_acct_attrs.array_acct_attr_code(8) := 'ENC_UPG_CR_LEDGER_AMT';
66739 l_rec_rev_acct_attrs.array_num_value(8) := l_array_source_34(Idx);
66740 l_rec_rev_acct_attrs.array_acct_attr_code(9) := 'ENC_UPG_DR_CCID';
66741 l_rec_rev_acct_attrs.array_num_value(9) := l_array_source_35(Idx);
66742 l_rec_rev_acct_attrs.array_acct_attr_code(10) := 'ENC_UPG_DR_ENTERED_AMT';
66743 l_rec_rev_acct_attrs.array_num_value(10) := l_array_source_36(Idx);
66744 l_rec_rev_acct_attrs.array_acct_attr_code(11) := 'ENC_UPG_DR_ENTERED_CURR';
66745 l_rec_rev_acct_attrs.array_char_value(11) := g_array_event(l_event_id).array_value_char('source_33');
66746 l_rec_rev_acct_attrs.array_acct_attr_code(12) := 'ENC_UPG_DR_LEDGER_AMT';
66747 l_rec_rev_acct_attrs.array_num_value(12) := l_array_source_37(Idx);
66748 l_rec_rev_acct_attrs.array_acct_attr_code(13) := 'ENC_UPG_OPTION';
66749 l_rec_rev_acct_attrs.array_char_value(13) := l_array_source_38(Idx);
66750 l_rec_rev_acct_attrs.array_acct_attr_code(14) := 'PARTY_TYPE';
66751 l_rec_rev_acct_attrs.array_char_value(14) := g_array_event(l_event_id).array_value_char('source_49');
66752 l_rec_rev_acct_attrs.array_acct_attr_code(15) := 'REVERSED_DISTRIBUTION_ID1';
66753 l_rec_rev_acct_attrs.array_num_value(15) := l_array_source_50(Idx);
66754 l_rec_rev_acct_attrs.array_acct_attr_code(16) := 'REVERSED_DISTRIBUTION_TYPE';
66755 l_rec_rev_acct_attrs.array_char_value(16) := l_array_source_21(Idx);
66756 l_rec_rev_acct_attrs.array_acct_attr_code(17) := 'TAX_LINE_REF_ID';
66757 l_rec_rev_acct_attrs.array_num_value(17) := l_array_source_52(Idx);
66758 l_rec_rev_acct_attrs.array_acct_attr_code(18) := 'TAX_REC_NREC_DIST_REF_ID';
66759 l_rec_rev_acct_attrs.array_num_value(18) := l_array_source_53(Idx);
66760 l_rec_rev_acct_attrs.array_acct_attr_code(19) := 'TAX_SUMMARY_LINE_REF_ID';
66761 l_rec_rev_acct_attrs.array_num_value(19) := l_array_source_54(Idx);
66762 l_rec_rev_acct_attrs.array_acct_attr_code(20) := 'UPG_CR_ENC_TYPE_ID';
66763 l_rec_rev_acct_attrs.array_num_value(20) := l_array_source_55(Idx);
66764 l_rec_rev_acct_attrs.array_acct_attr_code(21) := 'UPG_DR_ENC_TYPE_ID';
66765 l_rec_rev_acct_attrs.array_num_value(21) := l_array_source_56(Idx);
66766
66767
66768 xla_ae_lines_pkg.SetAcctReversalAttrs
66769 (p_event_id => l_event_id
66770 ,p_rec_acct_attrs => l_rec_rev_acct_attrs
66771 ,p_calculate_acctd_flag => l_calculate_acctd_flag
66772 ,p_calculate_g_l_flag => l_calculate_g_l_flag);
66773 END IF;
66774
66775 IF NVL(l_acct_reversal_source, 'N') IN ('N','B') THEN
66776 l_actual_flag := NULL; l_actual_gain_loss_ref := '#####';
66777
66778 --
66779 AcctLineType_14 (
66780 p_application_id => p_application_id
66781 ,p_event_id => l_event_id
66782 ,p_calculate_acctd_flag => l_calculate_acctd_flag
66783 ,p_calculate_g_l_flag => l_calculate_g_l_flag
66784 ,p_actual_flag => l_actual_flag
66785 ,p_balance_type_code => l_balance_type_code
66786 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
66787
66788 , p_source_1 => l_array_source_1(Idx)
66789 , p_source_11 => l_array_source_11(Idx)
66790 , p_source_15 => l_array_source_15(Idx)
66791 , p_source_15_meaning => l_array_source_15_meaning(Idx)
66792 , p_source_16 => l_array_source_16(Idx)
66793 , p_source_17 => g_array_event(l_event_id).array_value_char('source_17')
66794 , p_source_17_meaning => g_array_event(l_event_id).array_value_char('source_17_meaning')
66795 , p_source_18 => l_array_source_18(Idx)
66799 , p_source_23 => l_array_source_23(Idx)
66796 , p_source_18_meaning => l_array_source_18_meaning(Idx)
66797 , p_source_19 => l_array_source_19(Idx)
66798 , p_source_21 => l_array_source_21(Idx)
66800 , p_source_24 => g_array_event(l_event_id).array_value_num('source_24')
66801 , p_source_25 => l_array_source_25(Idx)
66802 , p_source_26 => l_array_source_26(Idx)
66803 , p_source_27 => l_array_source_27(Idx)
66804 , p_source_28 => l_array_source_28(Idx)
66805 , p_source_29 => l_array_source_29(Idx)
66806 , p_source_30 => l_array_source_30(Idx)
66807 , p_source_31 => l_array_source_31(Idx)
66808 , p_source_32 => l_array_source_32(Idx)
66809 , p_source_33 => g_array_event(l_event_id).array_value_char('source_33')
66810 , p_source_34 => l_array_source_34(Idx)
66811 , p_source_35 => l_array_source_35(Idx)
66812 , p_source_36 => l_array_source_36(Idx)
66813 , p_source_37 => l_array_source_37(Idx)
66814 , p_source_38 => l_array_source_38(Idx)
66815 , p_source_39 => g_array_event(l_event_id).array_value_date('source_39')
66816 , p_source_40 => g_array_event(l_event_id).array_value_num('source_40')
66817 , p_source_41 => g_array_event(l_event_id).array_value_char('source_41')
66818 , p_source_42 => l_array_source_42(Idx)
66819 , p_source_43 => l_array_source_43(Idx)
66820 , p_source_44 => l_array_source_44(Idx)
66821 , p_source_45 => l_array_source_45(Idx)
66822 , p_source_46 => l_array_source_46(Idx)
66823 , p_source_46_meaning => l_array_source_46_meaning(Idx)
66824 , p_source_47 => g_array_event(l_event_id).array_value_num('source_47')
66825 , p_source_48 => g_array_event(l_event_id).array_value_num('source_48')
66826 , p_source_49 => g_array_event(l_event_id).array_value_char('source_49')
66827 , p_source_50 => l_array_source_50(Idx)
66828 , p_source_51 => l_array_source_51(Idx)
66829 , p_source_52 => l_array_source_52(Idx)
66830 , p_source_53 => l_array_source_53(Idx)
66831 , p_source_54 => l_array_source_54(Idx)
66832 , p_source_55 => l_array_source_55(Idx)
66833 , p_source_56 => l_array_source_56(Idx)
66834 );
66835 If(l_balance_type_code = 'A') THEN
66836 l_actual_gain_loss_ref := l_gain_or_loss_ref;
66837 END IF;
66838
66839 --
66840
66841
66842 --
66843 AcctLineType_18 (
66844 p_application_id => p_application_id
66845 ,p_event_id => l_event_id
66846 ,p_calculate_acctd_flag => l_calculate_acctd_flag
66847 ,p_calculate_g_l_flag => l_calculate_g_l_flag
66848 ,p_actual_flag => l_actual_flag
66849 ,p_balance_type_code => l_balance_type_code
66850 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
66851
66852 , p_source_15 => l_array_source_15(Idx)
66853 , p_source_15_meaning => l_array_source_15_meaning(Idx)
66854 , p_source_18 => l_array_source_18(Idx)
66855 , p_source_18_meaning => l_array_source_18_meaning(Idx)
66856 , p_source_19 => l_array_source_19(Idx)
66857 , p_source_21 => l_array_source_21(Idx)
66858 , p_source_23 => l_array_source_23(Idx)
66859 , p_source_24 => g_array_event(l_event_id).array_value_num('source_24')
66860 , p_source_30 => l_array_source_30(Idx)
66861 , p_source_31 => l_array_source_31(Idx)
66862 , p_source_32 => l_array_source_32(Idx)
66863 , p_source_33 => g_array_event(l_event_id).array_value_char('source_33')
66864 , p_source_34 => l_array_source_34(Idx)
66865 , p_source_35 => l_array_source_35(Idx)
66866 , p_source_36 => l_array_source_36(Idx)
66867 , p_source_37 => l_array_source_37(Idx)
66868 , p_source_38 => l_array_source_38(Idx)
66869 , p_source_43 => l_array_source_43(Idx)
66870 , p_source_44 => l_array_source_44(Idx)
66871 , p_source_45 => l_array_source_45(Idx)
66872 , p_source_46 => l_array_source_46(Idx)
66873 , p_source_46_meaning => l_array_source_46_meaning(Idx)
66874 , p_source_49 => g_array_event(l_event_id).array_value_char('source_49')
66875 , p_source_50 => l_array_source_50(Idx)
66876 , p_source_51 => l_array_source_51(Idx)
66877 , p_source_52 => l_array_source_52(Idx)
66878 , p_source_53 => l_array_source_53(Idx)
66879 , p_source_54 => l_array_source_54(Idx)
66880 , p_source_55 => l_array_source_55(Idx)
66881 , p_source_56 => l_array_source_56(Idx)
66882 , p_source_58 => l_array_source_58(Idx)
66883 , p_source_59 => l_array_source_59(Idx)
66884 , p_source_59_meaning => l_array_source_59_meaning(Idx)
66885 , p_source_60 => l_array_source_60(Idx)
66886 , p_source_61 => l_array_source_61(Idx)
66887 , p_source_62 => l_array_source_62(Idx)
66888 , p_source_63 => l_array_source_63(Idx)
66889 , p_source_64 => l_array_source_64(Idx)
66890 , p_source_65 => l_array_source_65(Idx)
66891 , p_source_66 => l_array_source_66(Idx)
66892 );
66893 If(l_balance_type_code = 'A') THEN
66894 l_actual_gain_loss_ref := l_gain_or_loss_ref;
66895 END IF;
66896
66897 --
66898
66899
66900 --
66901 AcctLineType_19 (
66902 p_application_id => p_application_id
66903 ,p_event_id => l_event_id
66904 ,p_calculate_acctd_flag => l_calculate_acctd_flag
66905 ,p_calculate_g_l_flag => l_calculate_g_l_flag
66906 ,p_actual_flag => l_actual_flag
66907 ,p_balance_type_code => l_balance_type_code
66908 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
66909
66910 , p_source_15 => l_array_source_15(Idx)
66911 , p_source_15_meaning => l_array_source_15_meaning(Idx)
66912 , p_source_18 => l_array_source_18(Idx)
66913 , p_source_18_meaning => l_array_source_18_meaning(Idx)
66914 , p_source_19 => l_array_source_19(Idx)
66915 , p_source_21 => l_array_source_21(Idx)
66916 , p_source_23 => l_array_source_23(Idx)
66920 , p_source_32 => l_array_source_32(Idx)
66917 , p_source_24 => g_array_event(l_event_id).array_value_num('source_24')
66918 , p_source_30 => l_array_source_30(Idx)
66919 , p_source_31 => l_array_source_31(Idx)
66921 , p_source_33 => g_array_event(l_event_id).array_value_char('source_33')
66922 , p_source_34 => l_array_source_34(Idx)
66923 , p_source_35 => l_array_source_35(Idx)
66924 , p_source_36 => l_array_source_36(Idx)
66925 , p_source_37 => l_array_source_37(Idx)
66926 , p_source_38 => l_array_source_38(Idx)
66927 , p_source_43 => l_array_source_43(Idx)
66928 , p_source_44 => l_array_source_44(Idx)
66929 , p_source_45 => l_array_source_45(Idx)
66930 , p_source_46 => l_array_source_46(Idx)
66931 , p_source_46_meaning => l_array_source_46_meaning(Idx)
66932 , p_source_49 => g_array_event(l_event_id).array_value_char('source_49')
66933 , p_source_50 => l_array_source_50(Idx)
66934 , p_source_51 => l_array_source_51(Idx)
66935 , p_source_52 => l_array_source_52(Idx)
66936 , p_source_53 => l_array_source_53(Idx)
66937 , p_source_54 => l_array_source_54(Idx)
66938 , p_source_55 => l_array_source_55(Idx)
66939 , p_source_56 => l_array_source_56(Idx)
66940 , p_source_58 => l_array_source_58(Idx)
66941 , p_source_60 => l_array_source_60(Idx)
66942 , p_source_61 => l_array_source_61(Idx)
66943 , p_source_62 => l_array_source_62(Idx)
66944 , p_source_63 => l_array_source_63(Idx)
66945 , p_source_64 => l_array_source_64(Idx)
66946 , p_source_65 => l_array_source_65(Idx)
66947 , p_source_66 => l_array_source_66(Idx)
66948 );
66949 If(l_balance_type_code = 'A') THEN
66950 l_actual_gain_loss_ref := l_gain_or_loss_ref;
66951 END IF;
66952
66953 --
66954
66955
66956 --
66957 AcctLineType_22 (
66958 p_application_id => p_application_id
66959 ,p_event_id => l_event_id
66960 ,p_calculate_acctd_flag => l_calculate_acctd_flag
66961 ,p_calculate_g_l_flag => l_calculate_g_l_flag
66962 ,p_actual_flag => l_actual_flag
66963 ,p_balance_type_code => l_balance_type_code
66964 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
66965
66966 , p_source_1 => l_array_source_1(Idx)
66967 , p_source_6 => g_array_event(l_event_id).array_value_num('source_6')
66968 , p_source_7 => g_array_event(l_event_id).array_value_char('source_7')
66969 , p_source_7_meaning => g_array_event(l_event_id).array_value_char('source_7_meaning')
66970 , p_source_8 => l_array_source_8(Idx)
66971 , p_source_9 => l_array_source_9(Idx)
66972 , p_source_9_meaning => l_array_source_9_meaning(Idx)
66973 , p_source_10 => g_array_event(l_event_id).array_value_num('source_10')
66974 , p_source_11 => l_array_source_11(Idx)
66975 , p_source_12 => g_array_event(l_event_id).array_value_char('source_12')
66976 , p_source_12_meaning => g_array_event(l_event_id).array_value_char('source_12_meaning')
66977 , p_source_15 => l_array_source_15(Idx)
66978 , p_source_15_meaning => l_array_source_15_meaning(Idx)
66979 , p_source_17 => g_array_event(l_event_id).array_value_char('source_17')
66980 , p_source_17_meaning => g_array_event(l_event_id).array_value_char('source_17_meaning')
66981 , p_source_19 => l_array_source_19(Idx)
66982 , p_source_21 => l_array_source_21(Idx)
66983 , p_source_23 => l_array_source_23(Idx)
66984 , p_source_24 => g_array_event(l_event_id).array_value_num('source_24')
66985 , p_source_25 => l_array_source_25(Idx)
66986 , p_source_26 => l_array_source_26(Idx)
66987 , p_source_27 => l_array_source_27(Idx)
66988 , p_source_28 => l_array_source_28(Idx)
66989 , p_source_29 => l_array_source_29(Idx)
66990 , p_source_30 => l_array_source_30(Idx)
66991 , p_source_31 => l_array_source_31(Idx)
66992 , p_source_32 => l_array_source_32(Idx)
66993 , p_source_33 => g_array_event(l_event_id).array_value_char('source_33')
66994 , p_source_34 => l_array_source_34(Idx)
66995 , p_source_35 => l_array_source_35(Idx)
66996 , p_source_36 => l_array_source_36(Idx)
66997 , p_source_37 => l_array_source_37(Idx)
66998 , p_source_38 => l_array_source_38(Idx)
66999 , p_source_39 => g_array_event(l_event_id).array_value_date('source_39')
67000 , p_source_40 => g_array_event(l_event_id).array_value_num('source_40')
67001 , p_source_41 => g_array_event(l_event_id).array_value_char('source_41')
67002 , p_source_43 => l_array_source_43(Idx)
67003 , p_source_44 => l_array_source_44(Idx)
67004 , p_source_45 => l_array_source_45(Idx)
67005 , p_source_46 => l_array_source_46(Idx)
67006 , p_source_46_meaning => l_array_source_46_meaning(Idx)
67007 , p_source_47 => g_array_event(l_event_id).array_value_num('source_47')
67008 , p_source_48 => g_array_event(l_event_id).array_value_num('source_48')
67009 , p_source_49 => g_array_event(l_event_id).array_value_char('source_49')
67010 , p_source_50 => l_array_source_50(Idx)
67011 , p_source_51 => l_array_source_51(Idx)
67012 , p_source_52 => l_array_source_52(Idx)
67013 , p_source_53 => l_array_source_53(Idx)
67014 , p_source_54 => l_array_source_54(Idx)
67015 , p_source_55 => l_array_source_55(Idx)
67016 , p_source_56 => l_array_source_56(Idx)
67017 , p_source_65 => l_array_source_65(Idx)
67018 , p_source_66 => l_array_source_66(Idx)
67019 );
67020 If(l_balance_type_code = 'A') THEN
67021 l_actual_gain_loss_ref := l_gain_or_loss_ref;
67022 END IF;
67023
67024 --
67025
67026
67027 --
67028 AcctLineType_26 (
67029 p_application_id => p_application_id
67030 ,p_event_id => l_event_id
67031 ,p_calculate_acctd_flag => l_calculate_acctd_flag
67032 ,p_calculate_g_l_flag => l_calculate_g_l_flag
67033 ,p_actual_flag => l_actual_flag
67037 , p_source_1 => l_array_source_1(Idx)
67034 ,p_balance_type_code => l_balance_type_code
67035 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
67036
67038 , p_source_11 => l_array_source_11(Idx)
67039 , p_source_15 => l_array_source_15(Idx)
67040 , p_source_15_meaning => l_array_source_15_meaning(Idx)
67041 , p_source_17 => g_array_event(l_event_id).array_value_char('source_17')
67042 , p_source_17_meaning => g_array_event(l_event_id).array_value_char('source_17_meaning')
67043 , p_source_19 => l_array_source_19(Idx)
67044 , p_source_21 => l_array_source_21(Idx)
67045 , p_source_23 => l_array_source_23(Idx)
67046 , p_source_24 => g_array_event(l_event_id).array_value_num('source_24')
67047 , p_source_25 => l_array_source_25(Idx)
67048 , p_source_26 => l_array_source_26(Idx)
67049 , p_source_27 => l_array_source_27(Idx)
67050 , p_source_28 => l_array_source_28(Idx)
67051 , p_source_29 => l_array_source_29(Idx)
67052 , p_source_30 => l_array_source_30(Idx)
67053 , p_source_31 => l_array_source_31(Idx)
67054 , p_source_32 => l_array_source_32(Idx)
67055 , p_source_33 => g_array_event(l_event_id).array_value_char('source_33')
67056 , p_source_34 => l_array_source_34(Idx)
67057 , p_source_35 => l_array_source_35(Idx)
67058 , p_source_36 => l_array_source_36(Idx)
67059 , p_source_37 => l_array_source_37(Idx)
67060 , p_source_38 => l_array_source_38(Idx)
67061 , p_source_39 => g_array_event(l_event_id).array_value_date('source_39')
67062 , p_source_40 => g_array_event(l_event_id).array_value_num('source_40')
67063 , p_source_41 => g_array_event(l_event_id).array_value_char('source_41')
67064 , p_source_43 => l_array_source_43(Idx)
67065 , p_source_44 => l_array_source_44(Idx)
67066 , p_source_45 => l_array_source_45(Idx)
67067 , p_source_46 => l_array_source_46(Idx)
67068 , p_source_46_meaning => l_array_source_46_meaning(Idx)
67069 , p_source_47 => g_array_event(l_event_id).array_value_num('source_47')
67070 , p_source_48 => g_array_event(l_event_id).array_value_num('source_48')
67071 , p_source_49 => g_array_event(l_event_id).array_value_char('source_49')
67072 , p_source_50 => l_array_source_50(Idx)
67073 , p_source_51 => l_array_source_51(Idx)
67074 , p_source_52 => l_array_source_52(Idx)
67075 , p_source_53 => l_array_source_53(Idx)
67076 , p_source_54 => l_array_source_54(Idx)
67077 , p_source_55 => l_array_source_55(Idx)
67078 , p_source_56 => l_array_source_56(Idx)
67079 , p_source_65 => l_array_source_65(Idx)
67080 , p_source_66 => l_array_source_66(Idx)
67081 );
67082 If(l_balance_type_code = 'A') THEN
67083 l_actual_gain_loss_ref := l_gain_or_loss_ref;
67084 END IF;
67085
67086 --
67087
67088
67089 --
67090 AcctLineType_33 (
67091 p_application_id => p_application_id
67092 ,p_event_id => l_event_id
67093 ,p_calculate_acctd_flag => l_calculate_acctd_flag
67094 ,p_calculate_g_l_flag => l_calculate_g_l_flag
67095 ,p_actual_flag => l_actual_flag
67096 ,p_balance_type_code => l_balance_type_code
67097 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
67098
67099 , p_source_1 => l_array_source_1(Idx)
67100 , p_source_11 => l_array_source_11(Idx)
67101 , p_source_15 => l_array_source_15(Idx)
67102 , p_source_15_meaning => l_array_source_15_meaning(Idx)
67103 , p_source_17 => g_array_event(l_event_id).array_value_char('source_17')
67104 , p_source_17_meaning => g_array_event(l_event_id).array_value_char('source_17_meaning')
67105 , p_source_19 => l_array_source_19(Idx)
67106 , p_source_21 => l_array_source_21(Idx)
67107 , p_source_23 => l_array_source_23(Idx)
67108 , p_source_24 => g_array_event(l_event_id).array_value_num('source_24')
67109 , p_source_25 => l_array_source_25(Idx)
67110 , p_source_26 => l_array_source_26(Idx)
67111 , p_source_27 => l_array_source_27(Idx)
67112 , p_source_28 => l_array_source_28(Idx)
67113 , p_source_29 => l_array_source_29(Idx)
67114 , p_source_30 => l_array_source_30(Idx)
67115 , p_source_31 => l_array_source_31(Idx)
67116 , p_source_32 => l_array_source_32(Idx)
67117 , p_source_33 => g_array_event(l_event_id).array_value_char('source_33')
67118 , p_source_34 => l_array_source_34(Idx)
67119 , p_source_35 => l_array_source_35(Idx)
67120 , p_source_36 => l_array_source_36(Idx)
67121 , p_source_37 => l_array_source_37(Idx)
67122 , p_source_38 => l_array_source_38(Idx)
67123 , p_source_39 => g_array_event(l_event_id).array_value_date('source_39')
67124 , p_source_40 => g_array_event(l_event_id).array_value_num('source_40')
67125 , p_source_41 => g_array_event(l_event_id).array_value_char('source_41')
67126 , p_source_43 => l_array_source_43(Idx)
67127 , p_source_44 => l_array_source_44(Idx)
67128 , p_source_45 => l_array_source_45(Idx)
67129 , p_source_46 => l_array_source_46(Idx)
67130 , p_source_46_meaning => l_array_source_46_meaning(Idx)
67131 , p_source_47 => g_array_event(l_event_id).array_value_num('source_47')
67132 , p_source_48 => g_array_event(l_event_id).array_value_num('source_48')
67133 , p_source_49 => g_array_event(l_event_id).array_value_char('source_49')
67134 , p_source_50 => l_array_source_50(Idx)
67135 , p_source_51 => l_array_source_51(Idx)
67136 , p_source_52 => l_array_source_52(Idx)
67137 , p_source_53 => l_array_source_53(Idx)
67138 , p_source_54 => l_array_source_54(Idx)
67139 , p_source_55 => l_array_source_55(Idx)
67140 , p_source_56 => l_array_source_56(Idx)
67141 , p_source_65 => l_array_source_65(Idx)
67142 , p_source_66 => l_array_source_66(Idx)
67143 );
67144 If(l_balance_type_code = 'A') THEN
67145 l_actual_gain_loss_ref := l_gain_or_loss_ref;
67146 END IF;
67147
67148 --
67152 AcctLineType_37 (
67149
67150
67151 --
67153 p_application_id => p_application_id
67154 ,p_event_id => l_event_id
67155 ,p_calculate_acctd_flag => l_calculate_acctd_flag
67156 ,p_calculate_g_l_flag => l_calculate_g_l_flag
67157 ,p_actual_flag => l_actual_flag
67158 ,p_balance_type_code => l_balance_type_code
67159 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
67160
67161 , p_source_1 => l_array_source_1(Idx)
67162 , p_source_11 => l_array_source_11(Idx)
67163 , p_source_15 => l_array_source_15(Idx)
67164 , p_source_15_meaning => l_array_source_15_meaning(Idx)
67165 , p_source_17 => g_array_event(l_event_id).array_value_char('source_17')
67166 , p_source_17_meaning => g_array_event(l_event_id).array_value_char('source_17_meaning')
67167 , p_source_18 => l_array_source_18(Idx)
67168 , p_source_18_meaning => l_array_source_18_meaning(Idx)
67169 , p_source_19 => l_array_source_19(Idx)
67170 , p_source_21 => l_array_source_21(Idx)
67171 , p_source_23 => l_array_source_23(Idx)
67172 , p_source_24 => g_array_event(l_event_id).array_value_num('source_24')
67173 , p_source_25 => l_array_source_25(Idx)
67174 , p_source_26 => l_array_source_26(Idx)
67175 , p_source_27 => l_array_source_27(Idx)
67176 , p_source_28 => l_array_source_28(Idx)
67177 , p_source_29 => l_array_source_29(Idx)
67178 , p_source_30 => l_array_source_30(Idx)
67179 , p_source_31 => l_array_source_31(Idx)
67180 , p_source_32 => l_array_source_32(Idx)
67181 , p_source_33 => g_array_event(l_event_id).array_value_char('source_33')
67182 , p_source_34 => l_array_source_34(Idx)
67183 , p_source_35 => l_array_source_35(Idx)
67184 , p_source_36 => l_array_source_36(Idx)
67185 , p_source_37 => l_array_source_37(Idx)
67186 , p_source_38 => l_array_source_38(Idx)
67187 , p_source_39 => g_array_event(l_event_id).array_value_date('source_39')
67188 , p_source_40 => g_array_event(l_event_id).array_value_num('source_40')
67189 , p_source_41 => g_array_event(l_event_id).array_value_char('source_41')
67190 , p_source_43 => l_array_source_43(Idx)
67191 , p_source_44 => l_array_source_44(Idx)
67192 , p_source_45 => l_array_source_45(Idx)
67193 , p_source_46 => l_array_source_46(Idx)
67194 , p_source_46_meaning => l_array_source_46_meaning(Idx)
67195 , p_source_47 => g_array_event(l_event_id).array_value_num('source_47')
67196 , p_source_48 => g_array_event(l_event_id).array_value_num('source_48')
67197 , p_source_49 => g_array_event(l_event_id).array_value_char('source_49')
67198 , p_source_50 => l_array_source_50(Idx)
67199 , p_source_51 => l_array_source_51(Idx)
67200 , p_source_52 => l_array_source_52(Idx)
67201 , p_source_53 => l_array_source_53(Idx)
67202 , p_source_54 => l_array_source_54(Idx)
67203 , p_source_55 => l_array_source_55(Idx)
67204 , p_source_56 => l_array_source_56(Idx)
67205 , p_source_65 => l_array_source_65(Idx)
67206 , p_source_66 => l_array_source_66(Idx)
67207 );
67208 If(l_balance_type_code = 'A') THEN
67209 l_actual_gain_loss_ref := l_gain_or_loss_ref;
67210 END IF;
67211
67212 --
67213
67214
67215 --
67216 AcctLineType_41 (
67217 p_application_id => p_application_id
67218 ,p_event_id => l_event_id
67219 ,p_calculate_acctd_flag => l_calculate_acctd_flag
67220 ,p_calculate_g_l_flag => l_calculate_g_l_flag
67221 ,p_actual_flag => l_actual_flag
67222 ,p_balance_type_code => l_balance_type_code
67223 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
67224
67225 , p_source_1 => l_array_source_1(Idx)
67226 , p_source_11 => l_array_source_11(Idx)
67227 , p_source_15 => l_array_source_15(Idx)
67228 , p_source_15_meaning => l_array_source_15_meaning(Idx)
67229 , p_source_17 => g_array_event(l_event_id).array_value_char('source_17')
67230 , p_source_17_meaning => g_array_event(l_event_id).array_value_char('source_17_meaning')
67231 , p_source_19 => l_array_source_19(Idx)
67232 , p_source_21 => l_array_source_21(Idx)
67233 , p_source_23 => l_array_source_23(Idx)
67234 , p_source_24 => g_array_event(l_event_id).array_value_num('source_24')
67235 , p_source_25 => l_array_source_25(Idx)
67236 , p_source_26 => l_array_source_26(Idx)
67237 , p_source_27 => l_array_source_27(Idx)
67238 , p_source_28 => l_array_source_28(Idx)
67239 , p_source_29 => l_array_source_29(Idx)
67240 , p_source_30 => l_array_source_30(Idx)
67241 , p_source_31 => l_array_source_31(Idx)
67242 , p_source_32 => l_array_source_32(Idx)
67243 , p_source_33 => g_array_event(l_event_id).array_value_char('source_33')
67244 , p_source_34 => l_array_source_34(Idx)
67245 , p_source_35 => l_array_source_35(Idx)
67246 , p_source_36 => l_array_source_36(Idx)
67247 , p_source_37 => l_array_source_37(Idx)
67248 , p_source_38 => l_array_source_38(Idx)
67249 , p_source_39 => g_array_event(l_event_id).array_value_date('source_39')
67250 , p_source_40 => g_array_event(l_event_id).array_value_num('source_40')
67251 , p_source_41 => g_array_event(l_event_id).array_value_char('source_41')
67252 , p_source_43 => l_array_source_43(Idx)
67253 , p_source_44 => l_array_source_44(Idx)
67254 , p_source_45 => l_array_source_45(Idx)
67255 , p_source_46 => l_array_source_46(Idx)
67256 , p_source_46_meaning => l_array_source_46_meaning(Idx)
67257 , p_source_47 => g_array_event(l_event_id).array_value_num('source_47')
67258 , p_source_48 => g_array_event(l_event_id).array_value_num('source_48')
67259 , p_source_49 => g_array_event(l_event_id).array_value_char('source_49')
67260 , p_source_50 => l_array_source_50(Idx)
67261 , p_source_51 => l_array_source_51(Idx)
67262 , p_source_52 => l_array_source_52(Idx)
67263 , p_source_53 => l_array_source_53(Idx)
67264 , p_source_54 => l_array_source_54(Idx)
67268 , p_source_66 => l_array_source_66(Idx)
67265 , p_source_55 => l_array_source_55(Idx)
67266 , p_source_56 => l_array_source_56(Idx)
67267 , p_source_65 => l_array_source_65(Idx)
67269 );
67270 If(l_balance_type_code = 'A') THEN
67271 l_actual_gain_loss_ref := l_gain_or_loss_ref;
67272 END IF;
67273
67274 --
67275
67276
67277 --
67278 AcctLineType_45 (
67279 p_application_id => p_application_id
67280 ,p_event_id => l_event_id
67281 ,p_calculate_acctd_flag => l_calculate_acctd_flag
67282 ,p_calculate_g_l_flag => l_calculate_g_l_flag
67283 ,p_actual_flag => l_actual_flag
67284 ,p_balance_type_code => l_balance_type_code
67285 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
67286
67287 , p_source_1 => l_array_source_1(Idx)
67288 , p_source_11 => l_array_source_11(Idx)
67289 , p_source_15 => l_array_source_15(Idx)
67290 , p_source_15_meaning => l_array_source_15_meaning(Idx)
67291 , p_source_17 => g_array_event(l_event_id).array_value_char('source_17')
67292 , p_source_17_meaning => g_array_event(l_event_id).array_value_char('source_17_meaning')
67293 , p_source_18 => l_array_source_18(Idx)
67294 , p_source_18_meaning => l_array_source_18_meaning(Idx)
67295 , p_source_19 => l_array_source_19(Idx)
67296 , p_source_21 => l_array_source_21(Idx)
67297 , p_source_23 => l_array_source_23(Idx)
67298 , p_source_24 => g_array_event(l_event_id).array_value_num('source_24')
67299 , p_source_25 => l_array_source_25(Idx)
67300 , p_source_26 => l_array_source_26(Idx)
67301 , p_source_27 => l_array_source_27(Idx)
67302 , p_source_28 => l_array_source_28(Idx)
67303 , p_source_29 => l_array_source_29(Idx)
67304 , p_source_30 => l_array_source_30(Idx)
67305 , p_source_31 => l_array_source_31(Idx)
67306 , p_source_32 => l_array_source_32(Idx)
67307 , p_source_33 => g_array_event(l_event_id).array_value_char('source_33')
67308 , p_source_34 => l_array_source_34(Idx)
67309 , p_source_35 => l_array_source_35(Idx)
67310 , p_source_36 => l_array_source_36(Idx)
67311 , p_source_37 => l_array_source_37(Idx)
67312 , p_source_38 => l_array_source_38(Idx)
67313 , p_source_39 => g_array_event(l_event_id).array_value_date('source_39')
67314 , p_source_40 => g_array_event(l_event_id).array_value_num('source_40')
67315 , p_source_41 => g_array_event(l_event_id).array_value_char('source_41')
67316 , p_source_43 => l_array_source_43(Idx)
67317 , p_source_44 => l_array_source_44(Idx)
67318 , p_source_45 => l_array_source_45(Idx)
67319 , p_source_46 => l_array_source_46(Idx)
67320 , p_source_46_meaning => l_array_source_46_meaning(Idx)
67321 , p_source_47 => g_array_event(l_event_id).array_value_num('source_47')
67322 , p_source_48 => g_array_event(l_event_id).array_value_num('source_48')
67323 , p_source_49 => g_array_event(l_event_id).array_value_char('source_49')
67324 , p_source_50 => l_array_source_50(Idx)
67325 , p_source_51 => l_array_source_51(Idx)
67326 , p_source_52 => l_array_source_52(Idx)
67327 , p_source_53 => l_array_source_53(Idx)
67328 , p_source_54 => l_array_source_54(Idx)
67329 , p_source_55 => l_array_source_55(Idx)
67330 , p_source_56 => l_array_source_56(Idx)
67331 , p_source_59 => l_array_source_59(Idx)
67332 , p_source_59_meaning => l_array_source_59_meaning(Idx)
67333 , p_source_65 => l_array_source_65(Idx)
67334 , p_source_66 => l_array_source_66(Idx)
67335 );
67336 If(l_balance_type_code = 'A') THEN
67337 l_actual_gain_loss_ref := l_gain_or_loss_ref;
67338 END IF;
67339
67340 --
67341
67342
67343 --
67344 AcctLineType_54 (
67345 p_application_id => p_application_id
67346 ,p_event_id => l_event_id
67347 ,p_calculate_acctd_flag => l_calculate_acctd_flag
67348 ,p_calculate_g_l_flag => l_calculate_g_l_flag
67349 ,p_actual_flag => l_actual_flag
67350 ,p_balance_type_code => l_balance_type_code
67351 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
67352
67353 , p_source_1 => l_array_source_1(Idx)
67354 , p_source_11 => l_array_source_11(Idx)
67355 , p_source_15 => l_array_source_15(Idx)
67356 , p_source_15_meaning => l_array_source_15_meaning(Idx)
67357 , p_source_17 => g_array_event(l_event_id).array_value_char('source_17')
67358 , p_source_17_meaning => g_array_event(l_event_id).array_value_char('source_17_meaning')
67359 , p_source_18 => l_array_source_18(Idx)
67360 , p_source_18_meaning => l_array_source_18_meaning(Idx)
67361 , p_source_19 => l_array_source_19(Idx)
67362 , p_source_21 => l_array_source_21(Idx)
67363 , p_source_23 => l_array_source_23(Idx)
67364 , p_source_24 => g_array_event(l_event_id).array_value_num('source_24')
67365 , p_source_25 => l_array_source_25(Idx)
67366 , p_source_26 => l_array_source_26(Idx)
67367 , p_source_27 => l_array_source_27(Idx)
67368 , p_source_28 => l_array_source_28(Idx)
67369 , p_source_29 => l_array_source_29(Idx)
67370 , p_source_30 => l_array_source_30(Idx)
67371 , p_source_31 => l_array_source_31(Idx)
67372 , p_source_32 => l_array_source_32(Idx)
67373 , p_source_33 => g_array_event(l_event_id).array_value_char('source_33')
67374 , p_source_34 => l_array_source_34(Idx)
67375 , p_source_35 => l_array_source_35(Idx)
67376 , p_source_36 => l_array_source_36(Idx)
67377 , p_source_37 => l_array_source_37(Idx)
67378 , p_source_38 => l_array_source_38(Idx)
67379 , p_source_39 => g_array_event(l_event_id).array_value_date('source_39')
67380 , p_source_40 => g_array_event(l_event_id).array_value_num('source_40')
67381 , p_source_41 => g_array_event(l_event_id).array_value_char('source_41')
67382 , p_source_43 => l_array_source_43(Idx)
67383 , p_source_44 => l_array_source_44(Idx)
67387 , p_source_47 => g_array_event(l_event_id).array_value_num('source_47')
67384 , p_source_45 => l_array_source_45(Idx)
67385 , p_source_46 => l_array_source_46(Idx)
67386 , p_source_46_meaning => l_array_source_46_meaning(Idx)
67388 , p_source_48 => g_array_event(l_event_id).array_value_num('source_48')
67389 , p_source_49 => g_array_event(l_event_id).array_value_char('source_49')
67390 , p_source_50 => l_array_source_50(Idx)
67391 , p_source_51 => l_array_source_51(Idx)
67392 , p_source_52 => l_array_source_52(Idx)
67393 , p_source_53 => l_array_source_53(Idx)
67394 , p_source_54 => l_array_source_54(Idx)
67395 , p_source_55 => l_array_source_55(Idx)
67396 , p_source_56 => l_array_source_56(Idx)
67397 , p_source_81 => l_array_source_81(Idx)
67398 , p_source_82 => l_array_source_82(Idx)
67399 );
67400 If(l_balance_type_code = 'A') THEN
67401 l_actual_gain_loss_ref := l_gain_or_loss_ref;
67402 END IF;
67403
67404 --
67405
67406
67407 --
67408 AcctLineType_57 (
67409 p_application_id => p_application_id
67410 ,p_event_id => l_event_id
67411 ,p_calculate_acctd_flag => l_calculate_acctd_flag
67412 ,p_calculate_g_l_flag => l_calculate_g_l_flag
67413 ,p_actual_flag => l_actual_flag
67414 ,p_balance_type_code => l_balance_type_code
67415 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
67416
67417 , p_source_1 => l_array_source_1(Idx)
67418 , p_source_11 => l_array_source_11(Idx)
67419 , p_source_15 => l_array_source_15(Idx)
67420 , p_source_15_meaning => l_array_source_15_meaning(Idx)
67421 , p_source_17 => g_array_event(l_event_id).array_value_char('source_17')
67422 , p_source_17_meaning => g_array_event(l_event_id).array_value_char('source_17_meaning')
67423 , p_source_19 => l_array_source_19(Idx)
67424 , p_source_21 => l_array_source_21(Idx)
67425 , p_source_23 => l_array_source_23(Idx)
67426 , p_source_24 => g_array_event(l_event_id).array_value_num('source_24')
67427 , p_source_25 => l_array_source_25(Idx)
67428 , p_source_26 => l_array_source_26(Idx)
67429 , p_source_27 => l_array_source_27(Idx)
67430 , p_source_28 => l_array_source_28(Idx)
67431 , p_source_29 => l_array_source_29(Idx)
67432 , p_source_30 => l_array_source_30(Idx)
67433 , p_source_31 => l_array_source_31(Idx)
67434 , p_source_32 => l_array_source_32(Idx)
67435 , p_source_33 => g_array_event(l_event_id).array_value_char('source_33')
67436 , p_source_34 => l_array_source_34(Idx)
67437 , p_source_35 => l_array_source_35(Idx)
67438 , p_source_36 => l_array_source_36(Idx)
67439 , p_source_37 => l_array_source_37(Idx)
67440 , p_source_38 => l_array_source_38(Idx)
67441 , p_source_39 => g_array_event(l_event_id).array_value_date('source_39')
67442 , p_source_40 => g_array_event(l_event_id).array_value_num('source_40')
67443 , p_source_41 => g_array_event(l_event_id).array_value_char('source_41')
67444 , p_source_43 => l_array_source_43(Idx)
67445 , p_source_44 => l_array_source_44(Idx)
67446 , p_source_45 => l_array_source_45(Idx)
67447 , p_source_46 => l_array_source_46(Idx)
67448 , p_source_46_meaning => l_array_source_46_meaning(Idx)
67449 , p_source_47 => g_array_event(l_event_id).array_value_num('source_47')
67450 , p_source_48 => g_array_event(l_event_id).array_value_num('source_48')
67451 , p_source_49 => g_array_event(l_event_id).array_value_char('source_49')
67452 , p_source_50 => l_array_source_50(Idx)
67453 , p_source_51 => l_array_source_51(Idx)
67454 , p_source_52 => l_array_source_52(Idx)
67455 , p_source_53 => l_array_source_53(Idx)
67456 , p_source_54 => l_array_source_54(Idx)
67457 , p_source_55 => l_array_source_55(Idx)
67458 , p_source_56 => l_array_source_56(Idx)
67459 , p_source_59 => l_array_source_59(Idx)
67460 , p_source_59_meaning => l_array_source_59_meaning(Idx)
67461 , p_source_65 => l_array_source_65(Idx)
67462 , p_source_66 => l_array_source_66(Idx)
67463 );
67464 If(l_balance_type_code = 'A') THEN
67465 l_actual_gain_loss_ref := l_gain_or_loss_ref;
67466 END IF;
67467
67468 --
67469
67470
67471 --
67472 AcctLineType_61 (
67473 p_application_id => p_application_id
67474 ,p_event_id => l_event_id
67475 ,p_calculate_acctd_flag => l_calculate_acctd_flag
67476 ,p_calculate_g_l_flag => l_calculate_g_l_flag
67477 ,p_actual_flag => l_actual_flag
67478 ,p_balance_type_code => l_balance_type_code
67479 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
67480
67481 , p_source_1 => l_array_source_1(Idx)
67482 , p_source_13 => l_array_source_13(Idx)
67483 , p_source_15 => l_array_source_15(Idx)
67484 , p_source_15_meaning => l_array_source_15_meaning(Idx)
67485 , p_source_17 => g_array_event(l_event_id).array_value_char('source_17')
67486 , p_source_17_meaning => g_array_event(l_event_id).array_value_char('source_17_meaning')
67487 , p_source_19 => l_array_source_19(Idx)
67488 , p_source_21 => l_array_source_21(Idx)
67489 , p_source_23 => l_array_source_23(Idx)
67490 , p_source_24 => g_array_event(l_event_id).array_value_num('source_24')
67491 , p_source_25 => l_array_source_25(Idx)
67492 , p_source_26 => l_array_source_26(Idx)
67493 , p_source_27 => l_array_source_27(Idx)
67494 , p_source_28 => l_array_source_28(Idx)
67495 , p_source_29 => l_array_source_29(Idx)
67496 , p_source_30 => l_array_source_30(Idx)
67497 , p_source_31 => l_array_source_31(Idx)
67498 , p_source_32 => l_array_source_32(Idx)
67499 , p_source_33 => g_array_event(l_event_id).array_value_char('source_33')
67500 , p_source_34 => l_array_source_34(Idx)
67501 , p_source_35 => l_array_source_35(Idx)
67505 , p_source_39 => g_array_event(l_event_id).array_value_date('source_39')
67502 , p_source_36 => l_array_source_36(Idx)
67503 , p_source_37 => l_array_source_37(Idx)
67504 , p_source_38 => l_array_source_38(Idx)
67506 , p_source_40 => g_array_event(l_event_id).array_value_num('source_40')
67507 , p_source_41 => g_array_event(l_event_id).array_value_char('source_41')
67508 , p_source_43 => l_array_source_43(Idx)
67509 , p_source_44 => l_array_source_44(Idx)
67510 , p_source_45 => l_array_source_45(Idx)
67511 , p_source_46 => l_array_source_46(Idx)
67512 , p_source_46_meaning => l_array_source_46_meaning(Idx)
67513 , p_source_47 => g_array_event(l_event_id).array_value_num('source_47')
67514 , p_source_48 => g_array_event(l_event_id).array_value_num('source_48')
67515 , p_source_49 => g_array_event(l_event_id).array_value_char('source_49')
67516 , p_source_50 => l_array_source_50(Idx)
67517 , p_source_51 => l_array_source_51(Idx)
67518 , p_source_52 => l_array_source_52(Idx)
67519 , p_source_53 => l_array_source_53(Idx)
67520 , p_source_54 => l_array_source_54(Idx)
67521 , p_source_55 => l_array_source_55(Idx)
67522 , p_source_56 => l_array_source_56(Idx)
67523 , p_source_59 => l_array_source_59(Idx)
67524 , p_source_59_meaning => l_array_source_59_meaning(Idx)
67525 , p_source_65 => l_array_source_65(Idx)
67526 , p_source_66 => l_array_source_66(Idx)
67527 );
67528 If(l_balance_type_code = 'A') THEN
67529 l_actual_gain_loss_ref := l_gain_or_loss_ref;
67530 END IF;
67531
67532 --
67533
67534
67535 --
67536 AcctLineType_66 (
67537 p_application_id => p_application_id
67538 ,p_event_id => l_event_id
67539 ,p_calculate_acctd_flag => l_calculate_acctd_flag
67540 ,p_calculate_g_l_flag => l_calculate_g_l_flag
67541 ,p_actual_flag => l_actual_flag
67542 ,p_balance_type_code => l_balance_type_code
67543 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
67544
67545 , p_source_1 => l_array_source_1(Idx)
67546 , p_source_11 => l_array_source_11(Idx)
67547 , p_source_15 => l_array_source_15(Idx)
67548 , p_source_15_meaning => l_array_source_15_meaning(Idx)
67549 , p_source_16 => l_array_source_16(Idx)
67550 , p_source_17 => g_array_event(l_event_id).array_value_char('source_17')
67551 , p_source_17_meaning => g_array_event(l_event_id).array_value_char('source_17_meaning')
67552 , p_source_18 => l_array_source_18(Idx)
67553 , p_source_18_meaning => l_array_source_18_meaning(Idx)
67554 , p_source_19 => l_array_source_19(Idx)
67555 , p_source_21 => l_array_source_21(Idx)
67556 , p_source_23 => l_array_source_23(Idx)
67557 , p_source_24 => g_array_event(l_event_id).array_value_num('source_24')
67558 , p_source_25 => l_array_source_25(Idx)
67559 , p_source_26 => l_array_source_26(Idx)
67560 , p_source_27 => l_array_source_27(Idx)
67561 , p_source_28 => l_array_source_28(Idx)
67562 , p_source_29 => l_array_source_29(Idx)
67563 , p_source_30 => l_array_source_30(Idx)
67564 , p_source_31 => l_array_source_31(Idx)
67565 , p_source_32 => l_array_source_32(Idx)
67566 , p_source_33 => g_array_event(l_event_id).array_value_char('source_33')
67567 , p_source_34 => l_array_source_34(Idx)
67568 , p_source_35 => l_array_source_35(Idx)
67569 , p_source_36 => l_array_source_36(Idx)
67570 , p_source_37 => l_array_source_37(Idx)
67571 , p_source_38 => l_array_source_38(Idx)
67572 , p_source_39 => g_array_event(l_event_id).array_value_date('source_39')
67573 , p_source_40 => g_array_event(l_event_id).array_value_num('source_40')
67574 , p_source_41 => g_array_event(l_event_id).array_value_char('source_41')
67575 , p_source_42 => l_array_source_42(Idx)
67576 , p_source_43 => l_array_source_43(Idx)
67577 , p_source_44 => l_array_source_44(Idx)
67578 , p_source_45 => l_array_source_45(Idx)
67579 , p_source_46 => l_array_source_46(Idx)
67580 , p_source_46_meaning => l_array_source_46_meaning(Idx)
67581 , p_source_47 => g_array_event(l_event_id).array_value_num('source_47')
67582 , p_source_48 => g_array_event(l_event_id).array_value_num('source_48')
67583 , p_source_49 => g_array_event(l_event_id).array_value_char('source_49')
67584 , p_source_50 => l_array_source_50(Idx)
67585 , p_source_51 => l_array_source_51(Idx)
67586 , p_source_52 => l_array_source_52(Idx)
67587 , p_source_53 => l_array_source_53(Idx)
67588 , p_source_54 => l_array_source_54(Idx)
67589 , p_source_55 => l_array_source_55(Idx)
67590 , p_source_56 => l_array_source_56(Idx)
67591 );
67592 If(l_balance_type_code = 'A') THEN
67593 l_actual_gain_loss_ref := l_gain_or_loss_ref;
67594 END IF;
67595
67596 --
67597
67598
67599 --
67600 AcctLineType_70 (
67601 p_application_id => p_application_id
67602 ,p_event_id => l_event_id
67603 ,p_calculate_acctd_flag => l_calculate_acctd_flag
67604 ,p_calculate_g_l_flag => l_calculate_g_l_flag
67605 ,p_actual_flag => l_actual_flag
67606 ,p_balance_type_code => l_balance_type_code
67607 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
67608
67609 , p_source_1 => l_array_source_1(Idx)
67610 , p_source_6 => g_array_event(l_event_id).array_value_num('source_6')
67611 , p_source_7 => g_array_event(l_event_id).array_value_char('source_7')
67612 , p_source_7_meaning => g_array_event(l_event_id).array_value_char('source_7_meaning')
67613 , p_source_8 => l_array_source_8(Idx)
67614 , p_source_9 => l_array_source_9(Idx)
67615 , p_source_9_meaning => l_array_source_9_meaning(Idx)
67616 , p_source_10 => g_array_event(l_event_id).array_value_num('source_10')
67617 , p_source_11 => l_array_source_11(Idx)
67621 , p_source_15_meaning => l_array_source_15_meaning(Idx)
67618 , p_source_12 => g_array_event(l_event_id).array_value_char('source_12')
67619 , p_source_12_meaning => g_array_event(l_event_id).array_value_char('source_12_meaning')
67620 , p_source_15 => l_array_source_15(Idx)
67622 , p_source_17 => g_array_event(l_event_id).array_value_char('source_17')
67623 , p_source_17_meaning => g_array_event(l_event_id).array_value_char('source_17_meaning')
67624 , p_source_19 => l_array_source_19(Idx)
67625 , p_source_21 => l_array_source_21(Idx)
67626 , p_source_23 => l_array_source_23(Idx)
67627 , p_source_24 => g_array_event(l_event_id).array_value_num('source_24')
67628 , p_source_25 => l_array_source_25(Idx)
67629 , p_source_26 => l_array_source_26(Idx)
67630 , p_source_27 => l_array_source_27(Idx)
67631 , p_source_28 => l_array_source_28(Idx)
67632 , p_source_29 => l_array_source_29(Idx)
67633 , p_source_30 => l_array_source_30(Idx)
67634 , p_source_31 => l_array_source_31(Idx)
67635 , p_source_32 => l_array_source_32(Idx)
67636 , p_source_33 => g_array_event(l_event_id).array_value_char('source_33')
67637 , p_source_34 => l_array_source_34(Idx)
67638 , p_source_35 => l_array_source_35(Idx)
67639 , p_source_36 => l_array_source_36(Idx)
67640 , p_source_37 => l_array_source_37(Idx)
67641 , p_source_38 => l_array_source_38(Idx)
67642 , p_source_39 => g_array_event(l_event_id).array_value_date('source_39')
67643 , p_source_40 => g_array_event(l_event_id).array_value_num('source_40')
67644 , p_source_41 => g_array_event(l_event_id).array_value_char('source_41')
67645 , p_source_43 => l_array_source_43(Idx)
67646 , p_source_44 => l_array_source_44(Idx)
67647 , p_source_45 => l_array_source_45(Idx)
67648 , p_source_46 => l_array_source_46(Idx)
67649 , p_source_46_meaning => l_array_source_46_meaning(Idx)
67650 , p_source_47 => g_array_event(l_event_id).array_value_num('source_47')
67651 , p_source_48 => g_array_event(l_event_id).array_value_num('source_48')
67652 , p_source_49 => g_array_event(l_event_id).array_value_char('source_49')
67653 , p_source_50 => l_array_source_50(Idx)
67654 , p_source_51 => l_array_source_51(Idx)
67655 , p_source_52 => l_array_source_52(Idx)
67656 , p_source_53 => l_array_source_53(Idx)
67657 , p_source_54 => l_array_source_54(Idx)
67658 , p_source_55 => l_array_source_55(Idx)
67659 , p_source_56 => l_array_source_56(Idx)
67660 , p_source_65 => l_array_source_65(Idx)
67661 , p_source_66 => l_array_source_66(Idx)
67662 );
67663 If(l_balance_type_code = 'A') THEN
67664 l_actual_gain_loss_ref := l_gain_or_loss_ref;
67665 END IF;
67666
67667 --
67668
67669
67670 --
67671 AcctLineType_73 (
67672 p_application_id => p_application_id
67673 ,p_event_id => l_event_id
67674 ,p_calculate_acctd_flag => l_calculate_acctd_flag
67675 ,p_calculate_g_l_flag => l_calculate_g_l_flag
67676 ,p_actual_flag => l_actual_flag
67677 ,p_balance_type_code => l_balance_type_code
67678 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
67679
67680 , p_source_1 => l_array_source_1(Idx)
67681 , p_source_11 => l_array_source_11(Idx)
67682 , p_source_15 => l_array_source_15(Idx)
67683 , p_source_15_meaning => l_array_source_15_meaning(Idx)
67684 , p_source_17 => g_array_event(l_event_id).array_value_char('source_17')
67685 , p_source_17_meaning => g_array_event(l_event_id).array_value_char('source_17_meaning')
67686 , p_source_19 => l_array_source_19(Idx)
67687 , p_source_21 => l_array_source_21(Idx)
67688 , p_source_23 => l_array_source_23(Idx)
67689 , p_source_24 => g_array_event(l_event_id).array_value_num('source_24')
67690 , p_source_25 => l_array_source_25(Idx)
67691 , p_source_26 => l_array_source_26(Idx)
67692 , p_source_27 => l_array_source_27(Idx)
67693 , p_source_28 => l_array_source_28(Idx)
67694 , p_source_29 => l_array_source_29(Idx)
67695 , p_source_30 => l_array_source_30(Idx)
67696 , p_source_31 => l_array_source_31(Idx)
67697 , p_source_32 => l_array_source_32(Idx)
67698 , p_source_33 => g_array_event(l_event_id).array_value_char('source_33')
67699 , p_source_34 => l_array_source_34(Idx)
67700 , p_source_35 => l_array_source_35(Idx)
67701 , p_source_36 => l_array_source_36(Idx)
67702 , p_source_37 => l_array_source_37(Idx)
67703 , p_source_38 => l_array_source_38(Idx)
67704 , p_source_39 => g_array_event(l_event_id).array_value_date('source_39')
67705 , p_source_40 => g_array_event(l_event_id).array_value_num('source_40')
67706 , p_source_41 => g_array_event(l_event_id).array_value_char('source_41')
67707 , p_source_43 => l_array_source_43(Idx)
67708 , p_source_44 => l_array_source_44(Idx)
67709 , p_source_45 => l_array_source_45(Idx)
67710 , p_source_46 => l_array_source_46(Idx)
67711 , p_source_46_meaning => l_array_source_46_meaning(Idx)
67712 , p_source_47 => g_array_event(l_event_id).array_value_num('source_47')
67713 , p_source_48 => g_array_event(l_event_id).array_value_num('source_48')
67714 , p_source_49 => g_array_event(l_event_id).array_value_char('source_49')
67715 , p_source_50 => l_array_source_50(Idx)
67716 , p_source_51 => l_array_source_51(Idx)
67717 , p_source_52 => l_array_source_52(Idx)
67718 , p_source_53 => l_array_source_53(Idx)
67719 , p_source_54 => l_array_source_54(Idx)
67720 , p_source_55 => l_array_source_55(Idx)
67721 , p_source_56 => l_array_source_56(Idx)
67722 , p_source_65 => l_array_source_65(Idx)
67723 , p_source_66 => l_array_source_66(Idx)
67724 );
67725 If(l_balance_type_code = 'A') THEN
67726 l_actual_gain_loss_ref := l_gain_or_loss_ref;
67727 END IF;
67728
67732 --
67729 --
67730
67731
67733 AcctLineType_77 (
67734 p_application_id => p_application_id
67735 ,p_event_id => l_event_id
67736 ,p_calculate_acctd_flag => l_calculate_acctd_flag
67737 ,p_calculate_g_l_flag => l_calculate_g_l_flag
67738 ,p_actual_flag => l_actual_flag
67739 ,p_balance_type_code => l_balance_type_code
67740 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
67741
67742 , p_source_1 => l_array_source_1(Idx)
67743 , p_source_11 => l_array_source_11(Idx)
67744 , p_source_15 => l_array_source_15(Idx)
67745 , p_source_15_meaning => l_array_source_15_meaning(Idx)
67746 , p_source_16 => l_array_source_16(Idx)
67747 , p_source_17 => g_array_event(l_event_id).array_value_char('source_17')
67748 , p_source_17_meaning => g_array_event(l_event_id).array_value_char('source_17_meaning')
67749 , p_source_18 => l_array_source_18(Idx)
67750 , p_source_18_meaning => l_array_source_18_meaning(Idx)
67751 , p_source_19 => l_array_source_19(Idx)
67752 , p_source_21 => l_array_source_21(Idx)
67753 , p_source_23 => l_array_source_23(Idx)
67754 , p_source_24 => g_array_event(l_event_id).array_value_num('source_24')
67755 , p_source_25 => l_array_source_25(Idx)
67756 , p_source_26 => l_array_source_26(Idx)
67757 , p_source_27 => l_array_source_27(Idx)
67758 , p_source_28 => l_array_source_28(Idx)
67759 , p_source_29 => l_array_source_29(Idx)
67760 , p_source_30 => l_array_source_30(Idx)
67761 , p_source_31 => l_array_source_31(Idx)
67762 , p_source_32 => l_array_source_32(Idx)
67763 , p_source_33 => g_array_event(l_event_id).array_value_char('source_33')
67764 , p_source_34 => l_array_source_34(Idx)
67765 , p_source_35 => l_array_source_35(Idx)
67766 , p_source_36 => l_array_source_36(Idx)
67767 , p_source_37 => l_array_source_37(Idx)
67768 , p_source_38 => l_array_source_38(Idx)
67769 , p_source_39 => g_array_event(l_event_id).array_value_date('source_39')
67770 , p_source_40 => g_array_event(l_event_id).array_value_num('source_40')
67771 , p_source_41 => g_array_event(l_event_id).array_value_char('source_41')
67772 , p_source_43 => l_array_source_43(Idx)
67773 , p_source_44 => l_array_source_44(Idx)
67774 , p_source_45 => l_array_source_45(Idx)
67775 , p_source_46 => l_array_source_46(Idx)
67776 , p_source_46_meaning => l_array_source_46_meaning(Idx)
67777 , p_source_47 => g_array_event(l_event_id).array_value_num('source_47')
67778 , p_source_48 => g_array_event(l_event_id).array_value_num('source_48')
67779 , p_source_49 => g_array_event(l_event_id).array_value_char('source_49')
67780 , p_source_50 => l_array_source_50(Idx)
67781 , p_source_51 => l_array_source_51(Idx)
67782 , p_source_52 => l_array_source_52(Idx)
67783 , p_source_53 => l_array_source_53(Idx)
67784 , p_source_54 => l_array_source_54(Idx)
67785 , p_source_55 => l_array_source_55(Idx)
67786 , p_source_56 => l_array_source_56(Idx)
67787 , p_source_81 => l_array_source_81(Idx)
67788 , p_source_82 => l_array_source_82(Idx)
67789 );
67790 If(l_balance_type_code = 'A') THEN
67791 l_actual_gain_loss_ref := l_gain_or_loss_ref;
67792 END IF;
67793
67794 --
67795
67796
67797 --
67798 AcctLineType_81 (
67799 p_application_id => p_application_id
67800 ,p_event_id => l_event_id
67801 ,p_calculate_acctd_flag => l_calculate_acctd_flag
67802 ,p_calculate_g_l_flag => l_calculate_g_l_flag
67803 ,p_actual_flag => l_actual_flag
67804 ,p_balance_type_code => l_balance_type_code
67805 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
67806
67807 , p_source_1 => l_array_source_1(Idx)
67808 , p_source_11 => l_array_source_11(Idx)
67809 , p_source_15 => l_array_source_15(Idx)
67810 , p_source_15_meaning => l_array_source_15_meaning(Idx)
67811 , p_source_17 => g_array_event(l_event_id).array_value_char('source_17')
67812 , p_source_17_meaning => g_array_event(l_event_id).array_value_char('source_17_meaning')
67813 , p_source_19 => l_array_source_19(Idx)
67814 , p_source_21 => l_array_source_21(Idx)
67815 , p_source_23 => l_array_source_23(Idx)
67816 , p_source_24 => g_array_event(l_event_id).array_value_num('source_24')
67817 , p_source_25 => l_array_source_25(Idx)
67818 , p_source_26 => l_array_source_26(Idx)
67819 , p_source_27 => l_array_source_27(Idx)
67820 , p_source_28 => l_array_source_28(Idx)
67821 , p_source_29 => l_array_source_29(Idx)
67822 , p_source_30 => l_array_source_30(Idx)
67823 , p_source_31 => l_array_source_31(Idx)
67824 , p_source_32 => l_array_source_32(Idx)
67825 , p_source_33 => g_array_event(l_event_id).array_value_char('source_33')
67826 , p_source_34 => l_array_source_34(Idx)
67827 , p_source_35 => l_array_source_35(Idx)
67828 , p_source_36 => l_array_source_36(Idx)
67829 , p_source_37 => l_array_source_37(Idx)
67830 , p_source_38 => l_array_source_38(Idx)
67831 , p_source_39 => g_array_event(l_event_id).array_value_date('source_39')
67832 , p_source_40 => g_array_event(l_event_id).array_value_num('source_40')
67833 , p_source_41 => g_array_event(l_event_id).array_value_char('source_41')
67834 , p_source_43 => l_array_source_43(Idx)
67835 , p_source_44 => l_array_source_44(Idx)
67836 , p_source_45 => l_array_source_45(Idx)
67837 , p_source_46 => l_array_source_46(Idx)
67838 , p_source_46_meaning => l_array_source_46_meaning(Idx)
67839 , p_source_47 => g_array_event(l_event_id).array_value_num('source_47')
67840 , p_source_48 => g_array_event(l_event_id).array_value_num('source_48')
67841 , p_source_49 => g_array_event(l_event_id).array_value_char('source_49')
67842 , p_source_50 => l_array_source_50(Idx)
67843 , p_source_51 => l_array_source_51(Idx)
67844 , p_source_52 => l_array_source_52(Idx)
67848 , p_source_56 => l_array_source_56(Idx)
67845 , p_source_53 => l_array_source_53(Idx)
67846 , p_source_54 => l_array_source_54(Idx)
67847 , p_source_55 => l_array_source_55(Idx)
67849 , p_source_65 => l_array_source_65(Idx)
67850 , p_source_66 => l_array_source_66(Idx)
67851 );
67852 If(l_balance_type_code = 'A') THEN
67853 l_actual_gain_loss_ref := l_gain_or_loss_ref;
67854 END IF;
67855
67856 --
67857
67858 -- only execute it if calculate g/l flag is yes, and primary or secondary ledger
67859 -- or secondary ledger that has different currency with primary
67860 -- or alc that is calculated by sla
67861 IF (((l_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
67862 (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'))
67863
67864 -- IF((l_calculate_g_l_flag='Y' or XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id <>
67865 -- XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id)
67866 AND (l_actual_flag = 'A')) THEN
67867 XLA_AE_LINES_PKG.CreateGainOrLossLines(
67868 p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
67869 ,p_application_id => p_application_id
67870 ,p_amb_context_code => 'DEFAULT'
67871 ,p_entity_code => xla_ae_journal_entry_pkg.g_cache_event.entity_code
67872 ,p_event_class_code => C_EVENT_CLASS_CODE
67873 ,p_event_type_code => C_EVENT_TYPE_CODE
67874
67875 ,p_gain_ccid => -1
67876 ,p_loss_ccid => -1
67877
67878 ,p_actual_flag => l_actual_flag
67879 ,p_enc_flag => null
67880 ,p_actual_g_l_ref => l_actual_gain_loss_ref
67881 ,p_enc_g_l_ref => null
67882 );
67883 END IF;
67884 END IF;
67885 END IF;
67886
67887 ELSE
67888 --
67889 -- Bug 4872078 - Do nothing if the event is meant for transaction reversal
67890 --
67891 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
67892 trace
67893 (p_msg => 'Trancaction revesal option is Y'
67894 ,p_level => C_LEVEL_STATEMENT
67895 ,p_module => l_log_module);
67896 END IF;
67897 END IF;
67898
67899 END LOOP;
67900 l_result := XLA_AE_LINES_PKG.InsertLines ;
67901 end loop;
67902 close line_cur;
67903
67904
67905 --
67906 -- insert headers into xla_ae_headers_gt table
67907 --
67908 l_result := XLA_AE_HEADER_PKG.InsertHeaders ;
67909
67910 -- insert into errors table here.
67911
67912 END LOOP;
67913
67914 --
67915 -- 4865292
67916 --
67917 -- Compare g_hdr_extract_count with event count in
67918 -- CreateHeadersAndLines.
67919 --
67920 g_hdr_extract_count := g_hdr_extract_count + header_cur%ROWCOUNT;
67921
67922 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
67923 trace (p_msg => '# rows extracted from header extract objects '
67924 || ' (running total): '
67925 || g_hdr_extract_count
67926 ,p_level => C_LEVEL_STATEMENT
67927 ,p_module => l_log_module);
67928 END IF;
67929
67930 CLOSE header_cur;
67931 --
67932
67933 --
67934 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
67935 trace
67936 (p_msg => 'END of EventClass_103'
67937 ,p_level => C_LEVEL_PROCEDURE
67938 ,p_module => l_log_module);
67939 END IF;
67940 --
67941 RETURN l_result;
67942 EXCEPTION
67943 WHEN xla_exceptions_pkg.application_exception THEN
67944
67945 IF header_cur%ISOPEN THEN CLOSE header_cur; END IF;
67946
67947
67948 IF line_cur%ISOPEN THEN CLOSE line_cur; END IF;
67949
67950 RAISE;
67951
67952 WHEN NO_DATA_FOUND THEN
67953
67954 IF header_cur%ISOPEN THEN CLOSE header_cur; END IF;
67955 IF line_cur%ISOPEN THEN CLOSE line_cur; END IF;
67956
67957 FOR header_record IN header_cur
67958 LOOP
67959 l_array_header_events(header_record.event_id) := header_record.event_id;
67960 END LOOP;
67961
67962 l_first_event_id := l_array_header_events(l_array_header_events.FIRST);
67963 l_last_event_id := l_array_header_events(l_array_header_events.LAST);
67964
67965 fnd_file.put_line(fnd_file.LOG, ' ');
67966 fnd_file.put_line(fnd_file.LOG, '***************************************************************************');
67967 fnd_file.put_line(fnd_file.LOG, 'EVENT CLASS CODE = ' || C_EVENT_CLASS_CODE );
67968 fnd_file.put_line(fnd_file.LOG, 'The following events are present in the line extract but MISSING in the header extract: ');
67969
67970 FOR line_record IN line_cur(l_first_event_id, l_last_event_id)
67971 LOOP
67972 IF (NOT l_array_header_events.EXISTS(line_record.event_id)) AND (NOT l_array_duplicate_checker.EXISTS(line_record.event_id)) THEN
67973 fnd_file.put_line(fnd_file.log, 'Event_id = ' || line_record.event_id);
67974 l_array_duplicate_checker(line_record.event_id) := line_record.event_id;
67975 END IF;
67976 END LOOP;
67977
67978 fnd_file.put_line(fnd_file.LOG, '***************************************************************************');
67979 fnd_file.put_line(fnd_file.LOG, ' ');
67980
67981
67982 xla_exceptions_pkg.raise_message
67986 WHEN OTHERS THEN
67983 (p_location => 'XLA_00200_AAD_S_000006_BC_PKG.EventClass_103');
67984
67985
67987 xla_exceptions_pkg.raise_message
67988 (p_location => 'XLA_00200_AAD_S_000006_BC_PKG.EventClass_103');
67989 END EventClass_103;
67990 --
67991
67992 ---------------------------------------
67993 --
67994 -- PRIVATE PROCEDURE
67995 -- insert_sources_104
67996 --
67997 ----------------------------------------
67998 --
67999 PROCEDURE insert_sources_104(
68000 p_target_ledger_id IN NUMBER
68001 , p_language IN VARCHAR2
68002 , p_sla_ledger_id IN NUMBER
68003 , p_pad_start_date IN DATE
68004 , p_pad_end_date IN DATE
68005 )
68006 IS
68007
68008 C_EVENT_TYPE_CODE CONSTANT VARCHAR2(30) := 'DEBIT MEMOS_ALL';
68009 C_EVENT_CLASS_CODE CONSTANT VARCHAR2(30) := 'DEBIT MEMOS';
68010 p_apps_owner VARCHAR2(30);
68011 l_log_module VARCHAR2(240);
68012 BEGIN
68013 IF g_log_enabled THEN
68014 l_log_module := C_DEFAULT_MODULE||'.insert_sources_104';
68015 END IF;
68016 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
68017
68018 trace
68019 (p_msg => 'BEGIN of insert_sources_104'
68020 ,p_level => C_LEVEL_PROCEDURE
68021 ,p_module => l_log_module);
68022
68023 END IF;
68024
68025 -- select APPS owner
68026 SELECT oracle_username
68027 INTO p_apps_owner
68028 FROM fnd_oracle_userid
68029 WHERE read_only_flag = 'U'
68030 ;
68031
68032 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
68033 trace
68034 (p_msg => 'p_target_ledger_id = '||p_target_ledger_id||
68035 ' - p_language = '||p_language||
68036 ' - p_sla_ledger_id = '||p_sla_ledger_id ||
68037 ' - p_pad_start_date = '||TO_CHAR(p_pad_start_date)||
68038 ' - p_pad_end_date = '||TO_CHAR(p_pad_end_date)||
68039 ' - p_apps_owner = '||TO_CHAR(p_apps_owner)
68040 ,p_level => C_LEVEL_STATEMENT
68041 ,p_module => l_log_module);
68042 END IF;
68043
68044
68045 --
68046 INSERT INTO xla_diag_sources --hdr2
68047 (
68048 event_id
68049 , ledger_id
68050 , sla_ledger_id
68051 , description_language
68052 , object_name
68053 , object_type_code
68054 , line_number
68055 , source_application_id
68056 , source_type_code
68057 , source_code
68058 , source_value
68059 , source_meaning
68060 , created_by
68061 , creation_date
68062 , last_update_date
68063 , last_updated_by
68064 , last_update_login
68065 , program_update_date
68066 , program_application_id
68067 , program_id
68068 , request_id
68069 )
68070 SELECT
68071 event_id
68072 , p_target_ledger_id
68073 , p_sla_ledger_id
68074 , p_language
68075 , object_name
68076 , object_type_code
68077 , line_number
68078 , source_application_id
68079 , source_type_code
68080 , source_code
68081 , SUBSTR(source_value ,1,1996)
68082 , SUBSTR(source_meaning ,1,200)
68083 , xla_environment_pkg.g_Usr_Id
68084 , TRUNC(SYSDATE)
68085 , TRUNC(SYSDATE)
68086 , xla_environment_pkg.g_Usr_Id
68087 , xla_environment_pkg.g_Login_Id
68088 , TRUNC(SYSDATE)
68089 , xla_environment_pkg.g_Prog_Appl_Id
68090 , xla_environment_pkg.g_Prog_Id
68091 , xla_environment_pkg.g_Req_Id
68092 FROM (
68093 SELECT xet.event_id event_id
68094 , 0 line_number
68095 , CASE r
68096 WHEN 1 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
68097 WHEN 2 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
68098 WHEN 3 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
68099 WHEN 4 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
68100 WHEN 5 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
68101 WHEN 6 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
68102 WHEN 7 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
68103 WHEN 8 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
68104 WHEN 9 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
68105 WHEN 10 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
68106 WHEN 11 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
68107 WHEN 12 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
68108 WHEN 13 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
68109 WHEN 14 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
68110 WHEN 15 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
68111 WHEN 16 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
68112
68113 ELSE null
68114 END object_name
68115 , CASE r
68116 WHEN 1 THEN 'HEADER'
68117 WHEN 2 THEN 'HEADER'
68118 WHEN 3 THEN 'HEADER'
68119 WHEN 4 THEN 'HEADER'
68120 WHEN 5 THEN 'HEADER'
68121 WHEN 6 THEN 'HEADER'
68122 WHEN 7 THEN 'HEADER'
68123 WHEN 8 THEN 'HEADER'
68124 WHEN 9 THEN 'HEADER'
68128 WHEN 13 THEN 'HEADER'
68125 WHEN 10 THEN 'HEADER'
68126 WHEN 11 THEN 'HEADER'
68127 WHEN 12 THEN 'HEADER'
68129 WHEN 14 THEN 'HEADER'
68130 WHEN 15 THEN 'HEADER'
68131 WHEN 16 THEN 'HEADER'
68132
68133 ELSE null
68134 END object_type_code
68135 , CASE r
68136 WHEN 1 THEN '200'
68137 WHEN 2 THEN '200'
68138 WHEN 3 THEN '200'
68139 WHEN 4 THEN '200'
68140 WHEN 5 THEN '200'
68141 WHEN 6 THEN '200'
68142 WHEN 7 THEN '200'
68143 WHEN 8 THEN '200'
68144 WHEN 9 THEN '200'
68145 WHEN 10 THEN '200'
68146 WHEN 11 THEN '200'
68147 WHEN 12 THEN '200'
68148 WHEN 13 THEN '200'
68149 WHEN 14 THEN '200'
68150 WHEN 15 THEN '200'
68151 WHEN 16 THEN '200'
68152
68153 ELSE null
68154 END source_application_id
68155 , 'S' source_type_code
68156 , CASE r
68157 WHEN 1 THEN 'ASP_RATE_VAR_GAIN_CCID'
68158 WHEN 2 THEN 'ASP_AUTOMATIC_OFFSETS_VALUE'
68159 WHEN 3 THEN 'ASP_RATE_VAR_LOSS_CCID'
68160 WHEN 4 THEN 'ASP_AUTO_OFFSET_FLAG'
68161 WHEN 5 THEN 'FSP_PURCH_ENCUMBRANCE_FLAG'
68162 WHEN 6 THEN 'AI_INVOICE_ID'
68163 WHEN 7 THEN 'AI_INVOICE_CURRENCY_CODE'
68164 WHEN 8 THEN 'INV_EXCHANGE_DATE'
68165 WHEN 9 THEN 'INV_EXCHANGE_RATE'
68166 WHEN 10 THEN 'INV_EXCHANGE_RATE_TYPE'
68167 WHEN 11 THEN 'AI_VENDOR_ID'
68168 WHEN 12 THEN 'AI_VENDOR_SITE_ID'
68169 WHEN 13 THEN 'THIRD_PARTY_TYPE'
68170 WHEN 14 THEN 'INV_DOC_SEQUENCE_CATEGORY'
68171 WHEN 15 THEN 'INV_DOC_SEQUENCE_IDENTIFIER'
68172 WHEN 16 THEN 'INV_DOC_SEQUENCE_VALUE'
68173
68174 ELSE null
68175 END source_code
68176 , CASE r
68177 WHEN 1 THEN TO_CHAR(h3.ASP_RATE_VAR_GAIN_CCID)
68178 WHEN 2 THEN TO_CHAR(h3.ASP_AUTOMATIC_OFFSETS_VALUE)
68179 WHEN 3 THEN TO_CHAR(h3.ASP_RATE_VAR_LOSS_CCID)
68180 WHEN 4 THEN TO_CHAR(h3.ASP_AUTO_OFFSET_FLAG)
68181 WHEN 5 THEN TO_CHAR(h3.FSP_PURCH_ENCUMBRANCE_FLAG)
68182 WHEN 6 THEN TO_CHAR(h2.AI_INVOICE_ID)
68183 WHEN 7 THEN TO_CHAR(h2.AI_INVOICE_CURRENCY_CODE)
68184 WHEN 8 THEN TO_CHAR(h2.INV_EXCHANGE_DATE)
68185 WHEN 9 THEN TO_CHAR(h2.INV_EXCHANGE_RATE)
68186 WHEN 10 THEN TO_CHAR(h2.INV_EXCHANGE_RATE_TYPE)
68187 WHEN 11 THEN TO_CHAR(h2.AI_VENDOR_ID)
68188 WHEN 12 THEN TO_CHAR(h2.AI_VENDOR_SITE_ID)
68189 WHEN 13 THEN TO_CHAR(h2.THIRD_PARTY_TYPE)
68190 WHEN 14 THEN TO_CHAR(h2.INV_DOC_SEQUENCE_CATEGORY)
68191 WHEN 15 THEN TO_CHAR(h2.INV_DOC_SEQUENCE_IDENTIFIER)
68192 WHEN 16 THEN TO_CHAR(h2.INV_DOC_SEQUENCE_VALUE)
68193
68194 ELSE null
68195 END source_value
68196 , CASE r
68197 WHEN 2 THEN fvl7.meaning
68198 WHEN 4 THEN fvl12.meaning
68199 WHEN 5 THEN fvl17.meaning
68200
68201 ELSE null
68202 END source_meaning
68203 FROM xla_events_gt xet
68204 , AP_INVOICE_EXTRACT_HEADER_V h2
68205 , AP_SYSTEM_PARAMETERS_EXTRACT_V h3
68206 , fnd_lookup_values fvl7
68207 , fnd_lookup_values fvl12
68208 , fnd_lookup_values fvl17
68209 ,(select rownum r from all_objects where rownum <= 16 and owner = p_apps_owner)
68210 WHERE xet.event_date between p_pad_start_date AND p_pad_end_date
68211 AND xet.event_class_code = C_EVENT_CLASS_CODE
68212 AND h2.event_id = xet.event_id
68213 AND h3.asp_org_id= h2.ai_org_id AND fvl7.lookup_type(+) = 'LIABILITY FLEXBUILD METHOD'
68214 AND fvl7.lookup_code(+) = h3.ASP_AUTOMATIC_OFFSETS_VALUE
68215 AND fvl7.view_application_id(+) = 200
68216 AND fvl7.language(+) = USERENV('LANG')
68217 AND fvl12.lookup_type(+) = 'YES_NO'
68218 AND fvl12.lookup_code(+) = h3.ASP_AUTO_OFFSET_FLAG
68219 AND fvl12.view_application_id(+) = 0
68220 AND fvl12.language(+) = USERENV('LANG')
68221 AND fvl17.lookup_type(+) = 'YES_NO'
68222 AND fvl17.lookup_code(+) = h3.FSP_PURCH_ENCUMBRANCE_FLAG
68223 AND fvl17.view_application_id(+) = 0
68224 AND fvl17.language(+) = USERENV('LANG')
68225
68226 )
68227 ;
68228 --
68229 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
68230
68231 trace
68232 (p_msg => 'number of header sources inserted = '||SQL%ROWCOUNT
68233 ,p_level => C_LEVEL_STATEMENT
68234 ,p_module => l_log_module);
68235
68236 END IF;
68237 --
68238
68239
68240
68241 --
68242 INSERT INTO xla_diag_sources --line2
68243 (
68244 event_id
68248 , object_name
68245 , ledger_id
68246 , sla_ledger_id
68247 , description_language
68249 , object_type_code
68250 , line_number
68251 , source_application_id
68252 , source_type_code
68253 , source_code
68254 , source_value
68255 , source_meaning
68256 , created_by
68257 , creation_date
68258 , last_update_date
68259 , last_updated_by
68260 , last_update_login
68261 , program_update_date
68262 , program_application_id
68263 , program_id
68264 , request_id
68265 )
68266 SELECT event_id
68267 , p_target_ledger_id
68268 , p_sla_ledger_id
68269 , p_language
68270 , object_name
68271 , object_type_code
68272 , line_number
68273 , source_application_id
68274 , source_type_code
68275 , source_code
68276 , SUBSTR(source_value,1,1996)
68277 , SUBSTR(source_meaning ,1,200)
68278 , xla_environment_pkg.g_Usr_Id
68279 , TRUNC(SYSDATE)
68280 , TRUNC(SYSDATE)
68281 , xla_environment_pkg.g_Usr_Id
68282 , xla_environment_pkg.g_Login_Id
68283 , TRUNC(SYSDATE)
68284 , xla_environment_pkg.g_Prog_Appl_Id
68285 , xla_environment_pkg.g_Prog_Id
68286 , xla_environment_pkg.g_Req_Id
68287 FROM (
68288 SELECT xet.event_id event_id
68289 , l1.line_number line_number
68290 , CASE r
68291 WHEN 1 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
68292 WHEN 2 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
68293 WHEN 3 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
68294 WHEN 4 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
68295 WHEN 5 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
68296 WHEN 6 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
68297 WHEN 7 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
68298 WHEN 8 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
68299 WHEN 9 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
68300 WHEN 10 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
68301 WHEN 11 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
68302 WHEN 12 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
68303 WHEN 13 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
68304 WHEN 14 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
68305 WHEN 15 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
68306 WHEN 16 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
68307 WHEN 17 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
68308 WHEN 18 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
68309 WHEN 19 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
68310 WHEN 20 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
68311 WHEN 21 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
68312 WHEN 22 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
68313 WHEN 23 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
68314 WHEN 24 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
68315 WHEN 25 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
68316 WHEN 26 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
68317 WHEN 27 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
68318 WHEN 28 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
68319 WHEN 29 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
68320 WHEN 30 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
68321 WHEN 31 THEN 'ZX_AP_DEF_TAX_EXTRACT_V'
68322 WHEN 32 THEN 'ZX_AP_TAX_JRNL_LINE_DESC_V'
68323 WHEN 33 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
68324 WHEN 34 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
68325 WHEN 35 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
68326 WHEN 36 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
68327 WHEN 37 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
68328 WHEN 38 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
68329 WHEN 39 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
68330 WHEN 40 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
68331 WHEN 41 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
68332 WHEN 42 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
68333 WHEN 43 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
68334 WHEN 44 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
68335 WHEN 45 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
68336 WHEN 46 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
68337
68338 ELSE null
68339 END object_name
68340 , CASE r
68341 WHEN 1 THEN 'LINE'
68342 WHEN 2 THEN 'LINE'
68343 WHEN 3 THEN 'LINE'
68344 WHEN 4 THEN 'LINE'
68345 WHEN 5 THEN 'LINE'
68346 WHEN 6 THEN 'LINE'
68347 WHEN 7 THEN 'LINE'
68348 WHEN 8 THEN 'LINE'
68349 WHEN 9 THEN 'LINE'
68350 WHEN 10 THEN 'LINE'
68351 WHEN 11 THEN 'LINE'
68352 WHEN 12 THEN 'LINE'
68353 WHEN 13 THEN 'LINE'
68354 WHEN 14 THEN 'LINE'
68355 WHEN 15 THEN 'LINE'
68356 WHEN 16 THEN 'LINE'
68357 WHEN 17 THEN 'LINE'
68358 WHEN 18 THEN 'LINE'
68359 WHEN 19 THEN 'LINE'
68360 WHEN 20 THEN 'LINE'
68361 WHEN 21 THEN 'LINE'
68365 WHEN 25 THEN 'LINE'
68362 WHEN 22 THEN 'LINE'
68363 WHEN 23 THEN 'LINE'
68364 WHEN 24 THEN 'LINE'
68366 WHEN 26 THEN 'LINE'
68367 WHEN 27 THEN 'LINE'
68368 WHEN 28 THEN 'LINE'
68369 WHEN 29 THEN 'LINE'
68370 WHEN 30 THEN 'LINE'
68371 WHEN 31 THEN 'LINE'
68372 WHEN 32 THEN 'LINE'
68373 WHEN 33 THEN 'LINE'
68374 WHEN 34 THEN 'LINE'
68375 WHEN 35 THEN 'LINE'
68376 WHEN 36 THEN 'LINE'
68377 WHEN 37 THEN 'LINE'
68378 WHEN 38 THEN 'LINE'
68379 WHEN 39 THEN 'LINE'
68380 WHEN 40 THEN 'LINE'
68381 WHEN 41 THEN 'LINE'
68382 WHEN 42 THEN 'LINE'
68383 WHEN 43 THEN 'LINE'
68384 WHEN 44 THEN 'LINE'
68385 WHEN 45 THEN 'LINE'
68386 WHEN 46 THEN 'LINE'
68387
68388 ELSE null
68389 END object_type_code
68390 , CASE r
68391 WHEN 1 THEN '200'
68392 WHEN 2 THEN '200'
68393 WHEN 3 THEN '200'
68394 WHEN 4 THEN '200'
68395 WHEN 5 THEN '200'
68396 WHEN 6 THEN '200'
68397 WHEN 7 THEN '200'
68398 WHEN 8 THEN '200'
68399 WHEN 9 THEN '200'
68400 WHEN 10 THEN '200'
68401 WHEN 11 THEN '200'
68402 WHEN 12 THEN '200'
68403 WHEN 13 THEN '200'
68404 WHEN 14 THEN '200'
68405 WHEN 15 THEN '200'
68406 WHEN 16 THEN '200'
68407 WHEN 17 THEN '200'
68408 WHEN 18 THEN '200'
68409 WHEN 19 THEN '200'
68410 WHEN 20 THEN '200'
68411 WHEN 21 THEN '200'
68412 WHEN 22 THEN '200'
68413 WHEN 23 THEN '200'
68414 WHEN 24 THEN '200'
68415 WHEN 25 THEN '200'
68416 WHEN 26 THEN '200'
68417 WHEN 27 THEN '200'
68418 WHEN 28 THEN '200'
68419 WHEN 29 THEN '200'
68420 WHEN 30 THEN '200'
68421 WHEN 31 THEN '200'
68422 WHEN 32 THEN '200'
68423 WHEN 33 THEN '200'
68424 WHEN 34 THEN '200'
68425 WHEN 35 THEN '200'
68426 WHEN 36 THEN '200'
68427 WHEN 37 THEN '200'
68428 WHEN 38 THEN '200'
68429 WHEN 39 THEN '200'
68430 WHEN 40 THEN '200'
68431 WHEN 41 THEN '200'
68432 WHEN 42 THEN '200'
68433 WHEN 43 THEN '200'
68434 WHEN 44 THEN '200'
68435 WHEN 45 THEN '200'
68436 WHEN 46 THEN '200'
68437
68438 ELSE null
68439 END source_application_id
68440 , 'S' source_type_code
68441 , CASE r
68442 WHEN 1 THEN 'AID_DESCRIPTION'
68443 WHEN 2 THEN 'INV_DIST_BASE_AMOUNT'
68444 WHEN 3 THEN 'RELATED_INV_DIST_DEST_TYPE'
68445 WHEN 4 THEN 'AID_DIST_CCID'
68446 WHEN 5 THEN 'SELF_ASSESSED_TAX_ACCOUNT'
68447 WHEN 6 THEN 'AID_LINE_TYPE_LOOKUP_CODE'
68448 WHEN 7 THEN 'AID_AMOUNT_VARIANCE'
68449 WHEN 8 THEN 'POD_ACCRUE_ON_RECEIPT_FLAG'
68450 WHEN 9 THEN 'DIST_ACCOUNT_REVERSAL_OPTION'
68451 WHEN 10 THEN 'DISTRIBUTION_LINK_TYPE'
68452 WHEN 11 THEN 'ALLOC_TO_MAIN_DIST_ID'
68453 WHEN 12 THEN 'BUS_FLOW_AP_APP_ID'
68454 WHEN 13 THEN 'BUS_FLOW_INV_DIST_TYPE'
68455 WHEN 14 THEN 'BUS_FLOW_INV_ENTITY_CODE'
68456 WHEN 15 THEN 'BUS_FLOW_INV_DIST_ID'
68457 WHEN 16 THEN 'BUS_FLOW_INV_ID'
68458 WHEN 17 THEN 'AID_INVOICE_DIST_ID'
68459 WHEN 18 THEN 'UPG_ENC_CR_CCID'
68460 WHEN 19 THEN 'UPG_ENC_CR_AMT'
68461 WHEN 20 THEN 'UPG_ENC_CR_BASE_AMT'
68462 WHEN 21 THEN 'UPG_ENC_DR_CCID'
68463 WHEN 22 THEN 'UPG_ENC_DR_AMT'
68464 WHEN 23 THEN 'UPG_ENC_DR_BASE_AMT'
68465 WHEN 24 THEN 'UPG_AP_ENCUM_OPTION'
68466 WHEN 25 THEN 'AID_BASE_AMOUNT_VARIANCE'
68467 WHEN 26 THEN 'DEFERRED_END_DATE'
68468 WHEN 27 THEN 'DEFERRED_OPTION'
68469 WHEN 28 THEN 'DEFERRED_START_DATE'
68470 WHEN 29 THEN 'OVERRIDE_ACCTD_AMT_FLAG'
68471 WHEN 30 THEN 'AID_PARENT_REVERSAL_ID'
68472 WHEN 31 THEN 'TAX_LINE_ID'
68473 WHEN 32 THEN 'REC_NREC_TAX_DIST_ID'
68474 WHEN 33 THEN 'SUMMARY_TAX_LINE_ID'
68475 WHEN 34 THEN 'UPG_CR_ENC_TYPE_ID'
68476 WHEN 35 THEN 'UPG_DR_ENC_TYPE_ID'
68477 WHEN 36 THEN 'PO_DISTRIBUTION_ID'
68478 WHEN 37 THEN 'SELF_ASSESSED_TAX_FLAG'
68482 WHEN 41 THEN 'BUS_FLOW_PO_DIST_ID'
68479 WHEN 38 THEN 'BUS_FLOW_PO_APP_ID'
68480 WHEN 39 THEN 'BUS_FLOW_PO_DIST_TYPE'
68481 WHEN 40 THEN 'BUS_FLOW_PO_ENTITY_CODE'
68483 WHEN 42 THEN 'BUS_FLOW_PO_DOC_ID'
68484 WHEN 43 THEN 'ENCUMBRANCE_AMOUNT'
68485 WHEN 44 THEN 'ENCUMBRANCE_BASE_AMOUNT'
68486 WHEN 45 THEN 'AID_QUANTITY_VARIANCE'
68487 WHEN 46 THEN 'AID_BASE_QUANTITY_VARIANCE'
68488
68489 ELSE null
68490 END source_code
68491 , CASE r
68492 WHEN 1 THEN TO_CHAR(l1.AID_DESCRIPTION)
68493 WHEN 2 THEN TO_CHAR(l1.INV_DIST_BASE_AMOUNT)
68494 WHEN 3 THEN TO_CHAR(l1.RELATED_INV_DIST_DEST_TYPE)
68495 WHEN 4 THEN TO_CHAR(l1.AID_DIST_CCID)
68496 WHEN 5 THEN TO_CHAR(l1.SELF_ASSESSED_TAX_ACCOUNT)
68497 WHEN 6 THEN TO_CHAR(l1.AID_LINE_TYPE_LOOKUP_CODE)
68498 WHEN 7 THEN TO_CHAR(l1.AID_AMOUNT_VARIANCE)
68499 WHEN 8 THEN TO_CHAR(l1.POD_ACCRUE_ON_RECEIPT_FLAG)
68500 WHEN 9 THEN TO_CHAR(l1.DIST_ACCOUNT_REVERSAL_OPTION)
68501 WHEN 10 THEN TO_CHAR(l1.DISTRIBUTION_LINK_TYPE)
68502 WHEN 11 THEN TO_CHAR(l1.ALLOC_TO_MAIN_DIST_ID)
68503 WHEN 12 THEN TO_CHAR(l1.BUS_FLOW_AP_APP_ID)
68504 WHEN 13 THEN TO_CHAR(l1.BUS_FLOW_INV_DIST_TYPE)
68505 WHEN 14 THEN TO_CHAR(l1.BUS_FLOW_INV_ENTITY_CODE)
68506 WHEN 15 THEN TO_CHAR(l1.BUS_FLOW_INV_DIST_ID)
68507 WHEN 16 THEN TO_CHAR(l1.BUS_FLOW_INV_ID)
68508 WHEN 17 THEN TO_CHAR(l1.AID_INVOICE_DIST_ID)
68509 WHEN 18 THEN TO_CHAR(l1.UPG_ENC_CR_CCID)
68510 WHEN 19 THEN TO_CHAR(l1.UPG_ENC_CR_AMT)
68511 WHEN 20 THEN TO_CHAR(l1.UPG_ENC_CR_BASE_AMT)
68512 WHEN 21 THEN TO_CHAR(l1.UPG_ENC_DR_CCID)
68513 WHEN 22 THEN TO_CHAR(l1.UPG_ENC_DR_AMT)
68514 WHEN 23 THEN TO_CHAR(l1.UPG_ENC_DR_BASE_AMT)
68515 WHEN 24 THEN TO_CHAR(l1.UPG_AP_ENCUM_OPTION)
68516 WHEN 25 THEN TO_CHAR(l1.AID_BASE_AMOUNT_VARIANCE)
68517 WHEN 26 THEN TO_CHAR(l1.DEFERRED_END_DATE)
68518 WHEN 27 THEN TO_CHAR(l1.DEFERRED_OPTION)
68519 WHEN 28 THEN TO_CHAR(l1.DEFERRED_START_DATE)
68520 WHEN 29 THEN TO_CHAR(l1.OVERRIDE_ACCTD_AMT_FLAG)
68521 WHEN 30 THEN TO_CHAR(l1.AID_PARENT_REVERSAL_ID)
68522 WHEN 31 THEN TO_CHAR(l4.TAX_LINE_ID)
68523 WHEN 32 THEN TO_CHAR(l5.REC_NREC_TAX_DIST_ID)
68524 WHEN 33 THEN TO_CHAR(l1.SUMMARY_TAX_LINE_ID)
68525 WHEN 34 THEN TO_CHAR(l1.UPG_CR_ENC_TYPE_ID)
68526 WHEN 35 THEN TO_CHAR(l1.UPG_DR_ENC_TYPE_ID)
68527 WHEN 36 THEN TO_CHAR(l1.PO_DISTRIBUTION_ID)
68528 WHEN 37 THEN TO_CHAR(l1.SELF_ASSESSED_TAX_FLAG)
68529 WHEN 38 THEN TO_CHAR(l1.BUS_FLOW_PO_APP_ID)
68530 WHEN 39 THEN TO_CHAR(l1.BUS_FLOW_PO_DIST_TYPE)
68531 WHEN 40 THEN TO_CHAR(l1.BUS_FLOW_PO_ENTITY_CODE)
68532 WHEN 41 THEN TO_CHAR(l1.BUS_FLOW_PO_DIST_ID)
68533 WHEN 42 THEN TO_CHAR(l1.BUS_FLOW_PO_DOC_ID)
68534 WHEN 43 THEN TO_CHAR(l1.ENCUMBRANCE_AMOUNT)
68535 WHEN 44 THEN TO_CHAR(l1.ENCUMBRANCE_BASE_AMOUNT)
68536 WHEN 45 THEN TO_CHAR(l1.AID_QUANTITY_VARIANCE)
68537 WHEN 46 THEN TO_CHAR(l1.AID_BASE_QUANTITY_VARIANCE)
68538
68539 ELSE null
68540 END source_value
68541 , CASE r
68542 WHEN 3 THEN fvl9.meaning
68543 WHEN 6 THEN fvl15.meaning
68544 WHEN 8 THEN fvl18.meaning
68545 WHEN 29 THEN fvl46.meaning
68546 WHEN 37 THEN fvl59.meaning
68547
68548 ELSE null
68549 END source_meaning
68550 FROM xla_events_gt xet
68551 , AP_EXTRACT_INVOICE_DTLS_BC_V l1
68552 , ZX_AP_DEF_TAX_EXTRACT_V l4
68553 , ZX_AP_TAX_JRNL_LINE_DESC_V l5
68554 , fnd_lookup_values fvl9
68555 , fnd_lookup_values fvl15
68556 , fnd_lookup_values fvl18
68557 , fnd_lookup_values fvl46
68558 , fnd_lookup_values fvl59
68559 , (select rownum r from all_objects where rownum <= 46 and owner = p_apps_owner)
68560 WHERE xet.event_date between p_pad_start_date AND p_pad_end_date
68561 AND xet.event_class_code = C_EVENT_CLASS_CODE
68562 AND l1.event_id = xet.event_id
68563 AND l1.zrnd_tax_dist_id = l4.rec_nrec_tax_dist_id (+) AND l1.zrnd_tax_dist_id = l5.rec_nrec_tax_dist_id (+) AND fvl9.lookup_type(+) = 'DESTINATION TYPE'
68564 AND fvl9.lookup_code(+) = l1.RELATED_INV_DIST_DEST_TYPE
68565 AND fvl9.view_application_id(+) = 201
68566 AND fvl9.language(+) = USERENV('LANG')
68567 AND fvl15.lookup_type(+) = 'INVOICE DISTRIBUTION TYPE'
68568 AND fvl15.lookup_code(+) = l1.AID_LINE_TYPE_LOOKUP_CODE
68569 AND fvl15.view_application_id(+) = 200
68570 AND fvl15.language(+) = USERENV('LANG')
68571 AND fvl18.lookup_type(+) = 'YES_NO'
68572 AND fvl18.lookup_code(+) = l1.POD_ACCRUE_ON_RECEIPT_FLAG
68573 AND fvl18.view_application_id(+) = 0
68574 AND fvl18.language(+) = USERENV('LANG')
68578 AND fvl46.language(+) = USERENV('LANG')
68575 AND fvl46.lookup_type(+) = 'YES_NO'
68576 AND fvl46.lookup_code(+) = l1.OVERRIDE_ACCTD_AMT_FLAG
68577 AND fvl46.view_application_id(+) = 0
68579 AND fvl59.lookup_type(+) = 'YES_NO'
68580 AND fvl59.lookup_code(+) = l1.SELF_ASSESSED_TAX_FLAG
68581 AND fvl59.view_application_id(+) = 0
68582 AND fvl59.language(+) = USERENV('LANG')
68583
68584 )
68585 ;
68586 --
68587 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
68588
68589 trace
68590 (p_msg => 'number of line sources inserted = '||SQL%ROWCOUNT
68591 ,p_level => C_LEVEL_STATEMENT
68592 ,p_module => l_log_module);
68593
68594 END IF;
68595
68596
68597 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
68598 trace
68599 (p_msg => 'END of insert_sources_104'
68600 ,p_level => C_LEVEL_PROCEDURE
68601 ,p_module => l_log_module);
68602 END IF;
68603 EXCEPTION
68604 WHEN xla_exceptions_pkg.application_exception THEN
68605 IF (C_LEVEL_EXCEPTION >= g_log_level) THEN
68606 trace
68607 (p_msg => 'ERROR: XLA_CMP_COMPILER_ERROR = '||sqlerrm
68608 ,p_level => C_LEVEL_EXCEPTION
68609 ,p_module => l_log_module);
68610 END IF;
68611 RAISE;
68612 WHEN OTHERS THEN
68613 IF (C_LEVEL_EXCEPTION >= g_log_level) THEN
68614 trace
68615 (p_msg => 'ERROR: XLA_CMP_COMPILER_ERROR = '||sqlerrm
68616 ,p_level => C_LEVEL_EXCEPTION
68617 ,p_module => l_log_module);
68618 END IF;
68619 xla_exceptions_pkg.raise_message
68620 (p_location => 'XLA_00200_AAD_S_000006_BC_PKG.insert_sources_104');
68621 END insert_sources_104;
68622 --
68623
68624 ---------------------------------------
68625 --
68626 -- PRIVATE FUNCTION
68627 -- EventClass_104
68628 --
68629 ----------------------------------------
68630 --
68631 FUNCTION EventClass_104
68632 (p_application_id IN NUMBER
68633 ,p_base_ledger_id IN NUMBER
68634 ,p_target_ledger_id IN NUMBER
68635 ,p_language IN VARCHAR2
68636 ,p_currency_code IN VARCHAR2
68637 ,p_sla_ledger_id IN NUMBER
68638 ,p_pad_start_date IN DATE
68639 ,p_pad_end_date IN DATE
68640 ,p_primary_ledger_id IN NUMBER)
68641 RETURN BOOLEAN IS
68642 --
68643 C_EVENT_TYPE_CODE CONSTANT VARCHAR2(30) := 'DEBIT MEMOS_ALL';
68644 C_EVENT_CLASS_CODE CONSTANT VARCHAR2(30) := 'DEBIT MEMOS';
68645
68646 l_calculate_acctd_flag VARCHAR2(1) :='N';
68647 l_calculate_g_l_flag VARCHAR2(1) :='N';
68648 --
68649 l_array_legal_entity_id XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
68650 l_array_entity_id XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
68651 l_array_entity_code XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
68652 l_array_transaction_num XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
68653 l_array_event_id XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
68654 l_array_class_code XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
68655 l_array_event_type XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
68656 l_array_event_number XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
68657 l_array_event_date XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
68658 l_array_transaction_date XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
68659 l_array_reference_num_1 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
68660 l_array_reference_num_2 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
68661 l_array_reference_num_3 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
68662 l_array_reference_num_4 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
68663 l_array_reference_char_1 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
68664 l_array_reference_char_2 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
68665 l_array_reference_char_3 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
68666 l_array_reference_char_4 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
68667 l_array_reference_date_1 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
68668 l_array_reference_date_2 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
68669 l_array_reference_date_3 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
68670 l_array_reference_date_4 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
68671 l_array_event_created_by XLA_AE_JOURNAL_ENTRY_PKG.t_array_V100L;
68672 l_array_budgetary_control_flag XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
68673 l_array_header_events XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num; --added
68674 l_array_duplicate_checker XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num; --added
68675
68676 l_event_id NUMBER;
68677 l_previous_event_id NUMBER;
68678 l_first_event_id NUMBER;
68679 l_last_event_id NUMBER;
68680
68681 l_rec_acct_attrs XLA_AE_HEADER_PKG.t_rec_acct_attrs;
68682 l_rec_rev_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
68683 --
68684 --
68685 l_result BOOLEAN := TRUE;
68686 l_rows NUMBER := 1000;
68687 l_event_type_name VARCHAR2(80) := 'All';
68688 l_event_class_name VARCHAR2(80) := 'Debit Memos';
68689 l_description VARCHAR2(4000);
68693 l_log_module VARCHAR2(240);
68690 l_transaction_reversal NUMBER;
68691 l_ae_header_id NUMBER;
68692 l_array_extract_line_num xla_ae_journal_entry_pkg.t_array_Num;
68694 --
68695 l_acct_reversal_source VARCHAR2(30);
68696 l_trx_reversal_source VARCHAR2(30);
68697
68698 l_continue_with_lines BOOLEAN := TRUE;
68699 --
68700 l_acc_rev_gl_date_source DATE; -- 4262811
68701 --
68702 type t_array_event_id is table of number index by binary_integer;
68703
68704 l_rec_array_event t_rec_array_event;
68705 l_null_rec_array_event t_rec_array_event;
68706 l_array_ae_header_id xla_number_array_type;
68707 l_actual_flag VARCHAR2(1) := NULL;
68708 l_actual_gain_loss_ref VARCHAR2(30) := '#####';
68709 l_balance_type_code VARCHAR2(1) :=NULL;
68710 l_gain_or_loss_ref VARCHAR2(30) :=NULL;
68711
68712 --
68713 TYPE t_array_lookup_meaning IS TABLE OF fnd_lookup_values.meaning%TYPE INDEX BY BINARY_INTEGER;
68714 --
68715
68716 TYPE t_array_source_6 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_RATE_VAR_GAIN_CCID%TYPE INDEX BY BINARY_INTEGER;
68717 TYPE t_array_source_7 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_AUTOMATIC_OFFSETS_VALUE%TYPE INDEX BY BINARY_INTEGER;
68718 TYPE t_array_source_10 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_RATE_VAR_LOSS_CCID%TYPE INDEX BY BINARY_INTEGER;
68719 TYPE t_array_source_12 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_AUTO_OFFSET_FLAG%TYPE INDEX BY BINARY_INTEGER;
68720 TYPE t_array_source_17 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.FSP_PURCH_ENCUMBRANCE_FLAG%TYPE INDEX BY BINARY_INTEGER;
68721 TYPE t_array_source_24 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_INVOICE_ID%TYPE INDEX BY BINARY_INTEGER;
68722 TYPE t_array_source_33 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_INVOICE_CURRENCY_CODE%TYPE INDEX BY BINARY_INTEGER;
68723 TYPE t_array_source_39 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_EXCHANGE_DATE%TYPE INDEX BY BINARY_INTEGER;
68724 TYPE t_array_source_40 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_EXCHANGE_RATE%TYPE INDEX BY BINARY_INTEGER;
68725 TYPE t_array_source_41 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_EXCHANGE_RATE_TYPE%TYPE INDEX BY BINARY_INTEGER;
68726 TYPE t_array_source_47 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_VENDOR_ID%TYPE INDEX BY BINARY_INTEGER;
68727 TYPE t_array_source_48 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_VENDOR_SITE_ID%TYPE INDEX BY BINARY_INTEGER;
68728 TYPE t_array_source_49 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.THIRD_PARTY_TYPE%TYPE INDEX BY BINARY_INTEGER;
68729 TYPE t_array_source_122 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_DOC_SEQUENCE_CATEGORY%TYPE INDEX BY BINARY_INTEGER;
68730 TYPE t_array_source_123 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_DOC_SEQUENCE_IDENTIFIER%TYPE INDEX BY BINARY_INTEGER;
68731 TYPE t_array_source_124 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_DOC_SEQUENCE_VALUE%TYPE INDEX BY BINARY_INTEGER;
68732
68733 TYPE t_array_source_1 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.AID_DESCRIPTION%TYPE INDEX BY BINARY_INTEGER;
68734 TYPE t_array_source_8 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.INV_DIST_BASE_AMOUNT%TYPE INDEX BY BINARY_INTEGER;
68735 TYPE t_array_source_9 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.RELATED_INV_DIST_DEST_TYPE%TYPE INDEX BY BINARY_INTEGER;
68736 TYPE t_array_source_11 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.AID_DIST_CCID%TYPE INDEX BY BINARY_INTEGER;
68737 TYPE t_array_source_13 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.SELF_ASSESSED_TAX_ACCOUNT%TYPE INDEX BY BINARY_INTEGER;
68738 TYPE t_array_source_15 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.AID_LINE_TYPE_LOOKUP_CODE%TYPE INDEX BY BINARY_INTEGER;
68739 TYPE t_array_source_16 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.AID_AMOUNT_VARIANCE%TYPE INDEX BY BINARY_INTEGER;
68740 TYPE t_array_source_18 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.POD_ACCRUE_ON_RECEIPT_FLAG%TYPE INDEX BY BINARY_INTEGER;
68741 TYPE t_array_source_19 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.DIST_ACCOUNT_REVERSAL_OPTION%TYPE INDEX BY BINARY_INTEGER;
68742 TYPE t_array_source_21 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.DISTRIBUTION_LINK_TYPE%TYPE INDEX BY BINARY_INTEGER;
68743 TYPE t_array_source_23 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.ALLOC_TO_MAIN_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
68744 TYPE t_array_source_25 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.BUS_FLOW_AP_APP_ID%TYPE INDEX BY BINARY_INTEGER;
68745 TYPE t_array_source_26 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.BUS_FLOW_INV_DIST_TYPE%TYPE INDEX BY BINARY_INTEGER;
68746 TYPE t_array_source_27 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.BUS_FLOW_INV_ENTITY_CODE%TYPE INDEX BY BINARY_INTEGER;
68747 TYPE t_array_source_28 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.BUS_FLOW_INV_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
68748 TYPE t_array_source_29 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.BUS_FLOW_INV_ID%TYPE INDEX BY BINARY_INTEGER;
68749 TYPE t_array_source_30 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.AID_INVOICE_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
68750 TYPE t_array_source_31 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.UPG_ENC_CR_CCID%TYPE INDEX BY BINARY_INTEGER;
68751 TYPE t_array_source_32 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.UPG_ENC_CR_AMT%TYPE INDEX BY BINARY_INTEGER;
68752 TYPE t_array_source_34 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.UPG_ENC_CR_BASE_AMT%TYPE INDEX BY BINARY_INTEGER;
68753 TYPE t_array_source_35 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.UPG_ENC_DR_CCID%TYPE INDEX BY BINARY_INTEGER;
68754 TYPE t_array_source_36 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.UPG_ENC_DR_AMT%TYPE INDEX BY BINARY_INTEGER;
68755 TYPE t_array_source_37 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.UPG_ENC_DR_BASE_AMT%TYPE INDEX BY BINARY_INTEGER;
68759 TYPE t_array_source_44 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.DEFERRED_OPTION%TYPE INDEX BY BINARY_INTEGER;
68756 TYPE t_array_source_38 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.UPG_AP_ENCUM_OPTION%TYPE INDEX BY BINARY_INTEGER;
68757 TYPE t_array_source_42 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.AID_BASE_AMOUNT_VARIANCE%TYPE INDEX BY BINARY_INTEGER;
68758 TYPE t_array_source_43 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.DEFERRED_END_DATE%TYPE INDEX BY BINARY_INTEGER;
68760 TYPE t_array_source_45 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.DEFERRED_START_DATE%TYPE INDEX BY BINARY_INTEGER;
68761 TYPE t_array_source_46 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.OVERRIDE_ACCTD_AMT_FLAG%TYPE INDEX BY BINARY_INTEGER;
68762 TYPE t_array_source_50 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.AID_PARENT_REVERSAL_ID%TYPE INDEX BY BINARY_INTEGER;
68763 TYPE t_array_source_52 IS TABLE OF ZX_AP_DEF_TAX_EXTRACT_V.TAX_LINE_ID%TYPE INDEX BY BINARY_INTEGER;
68764 TYPE t_array_source_53 IS TABLE OF ZX_AP_TAX_JRNL_LINE_DESC_V.REC_NREC_TAX_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
68765 TYPE t_array_source_54 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.SUMMARY_TAX_LINE_ID%TYPE INDEX BY BINARY_INTEGER;
68766 TYPE t_array_source_55 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.UPG_CR_ENC_TYPE_ID%TYPE INDEX BY BINARY_INTEGER;
68767 TYPE t_array_source_56 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.UPG_DR_ENC_TYPE_ID%TYPE INDEX BY BINARY_INTEGER;
68768 TYPE t_array_source_58 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.PO_DISTRIBUTION_ID%TYPE INDEX BY BINARY_INTEGER;
68769 TYPE t_array_source_59 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.SELF_ASSESSED_TAX_FLAG%TYPE INDEX BY BINARY_INTEGER;
68770 TYPE t_array_source_60 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.BUS_FLOW_PO_APP_ID%TYPE INDEX BY BINARY_INTEGER;
68771 TYPE t_array_source_61 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.BUS_FLOW_PO_DIST_TYPE%TYPE INDEX BY BINARY_INTEGER;
68772 TYPE t_array_source_62 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.BUS_FLOW_PO_ENTITY_CODE%TYPE INDEX BY BINARY_INTEGER;
68773 TYPE t_array_source_63 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.BUS_FLOW_PO_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
68774 TYPE t_array_source_64 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.BUS_FLOW_PO_DOC_ID%TYPE INDEX BY BINARY_INTEGER;
68775 TYPE t_array_source_65 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.ENCUMBRANCE_AMOUNT%TYPE INDEX BY BINARY_INTEGER;
68776 TYPE t_array_source_66 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.ENCUMBRANCE_BASE_AMOUNT%TYPE INDEX BY BINARY_INTEGER;
68777 TYPE t_array_source_81 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.AID_QUANTITY_VARIANCE%TYPE INDEX BY BINARY_INTEGER;
68778 TYPE t_array_source_82 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.AID_BASE_QUANTITY_VARIANCE%TYPE INDEX BY BINARY_INTEGER;
68779
68780 l_array_source_6 t_array_source_6;
68781 l_array_source_7 t_array_source_7;
68782 l_array_source_7_meaning t_array_lookup_meaning;
68783 l_array_source_10 t_array_source_10;
68784 l_array_source_12 t_array_source_12;
68785 l_array_source_12_meaning t_array_lookup_meaning;
68786 l_array_source_17 t_array_source_17;
68787 l_array_source_17_meaning t_array_lookup_meaning;
68788 l_array_source_24 t_array_source_24;
68789 l_array_source_33 t_array_source_33;
68790 l_array_source_39 t_array_source_39;
68791 l_array_source_40 t_array_source_40;
68792 l_array_source_41 t_array_source_41;
68793 l_array_source_47 t_array_source_47;
68794 l_array_source_48 t_array_source_48;
68795 l_array_source_49 t_array_source_49;
68796 l_array_source_122 t_array_source_122;
68797 l_array_source_123 t_array_source_123;
68798 l_array_source_124 t_array_source_124;
68799
68800 l_array_source_1 t_array_source_1;
68801 l_array_source_8 t_array_source_8;
68802 l_array_source_9 t_array_source_9;
68803 l_array_source_9_meaning t_array_lookup_meaning;
68804 l_array_source_11 t_array_source_11;
68805 l_array_source_13 t_array_source_13;
68806 l_array_source_15 t_array_source_15;
68807 l_array_source_15_meaning t_array_lookup_meaning;
68808 l_array_source_16 t_array_source_16;
68809 l_array_source_18 t_array_source_18;
68810 l_array_source_18_meaning t_array_lookup_meaning;
68811 l_array_source_19 t_array_source_19;
68812 l_array_source_21 t_array_source_21;
68813 l_array_source_23 t_array_source_23;
68814 l_array_source_25 t_array_source_25;
68815 l_array_source_26 t_array_source_26;
68816 l_array_source_27 t_array_source_27;
68817 l_array_source_28 t_array_source_28;
68818 l_array_source_29 t_array_source_29;
68819 l_array_source_30 t_array_source_30;
68820 l_array_source_31 t_array_source_31;
68821 l_array_source_32 t_array_source_32;
68822 l_array_source_34 t_array_source_34;
68823 l_array_source_35 t_array_source_35;
68824 l_array_source_36 t_array_source_36;
68825 l_array_source_37 t_array_source_37;
68826 l_array_source_38 t_array_source_38;
68827 l_array_source_42 t_array_source_42;
68828 l_array_source_43 t_array_source_43;
68829 l_array_source_44 t_array_source_44;
68830 l_array_source_45 t_array_source_45;
68831 l_array_source_46 t_array_source_46;
68832 l_array_source_46_meaning t_array_lookup_meaning;
68833 l_array_source_50 t_array_source_50;
68834 l_array_source_52 t_array_source_52;
68835 l_array_source_53 t_array_source_53;
68836 l_array_source_54 t_array_source_54;
68837 l_array_source_55 t_array_source_55;
68838 l_array_source_56 t_array_source_56;
68839 l_array_source_58 t_array_source_58;
68840 l_array_source_59 t_array_source_59;
68841 l_array_source_59_meaning t_array_lookup_meaning;
68842 l_array_source_60 t_array_source_60;
68843 l_array_source_61 t_array_source_61;
68847 l_array_source_65 t_array_source_65;
68844 l_array_source_62 t_array_source_62;
68845 l_array_source_63 t_array_source_63;
68846 l_array_source_64 t_array_source_64;
68848 l_array_source_66 t_array_source_66;
68849 l_array_source_81 t_array_source_81;
68850 l_array_source_82 t_array_source_82;
68851
68852 --
68853 CURSOR header_cur
68854 IS
68855 SELECT /*+ leading(xet) cardinality(xet,1) */
68856 -- Event Class Code: DEBIT MEMOS
68857 xet.entity_id
68858 ,xet.legal_entity_id
68859 ,xet.entity_code
68860 ,xet.transaction_number
68861 ,xet.event_id
68862 ,xet.event_class_code
68863 ,xet.event_type_code
68864 ,xet.event_number
68865 ,xet.event_date
68866 ,xet.transaction_date
68867 ,xet.reference_num_1
68868 ,xet.reference_num_2
68869 ,xet.reference_num_3
68870 ,xet.reference_num_4
68871 ,xet.reference_char_1
68872 ,xet.reference_char_2
68873 ,xet.reference_char_3
68874 ,xet.reference_char_4
68875 ,xet.reference_date_1
68876 ,xet.reference_date_2
68877 ,xet.reference_date_3
68878 ,xet.reference_date_4
68879 ,xet.event_created_by
68880 ,xet.budgetary_control_flag
68881 , h3.ASP_RATE_VAR_GAIN_CCID source_6
68882 , h3.ASP_AUTOMATIC_OFFSETS_VALUE source_7
68883 , fvl7.meaning source_7_meaning
68884 , h3.ASP_RATE_VAR_LOSS_CCID source_10
68885 , h3.ASP_AUTO_OFFSET_FLAG source_12
68886 , fvl12.meaning source_12_meaning
68887 , h3.FSP_PURCH_ENCUMBRANCE_FLAG source_17
68888 , fvl17.meaning source_17_meaning
68889 , h2.AI_INVOICE_ID source_24
68890 , h2.AI_INVOICE_CURRENCY_CODE source_33
68891 , h2.INV_EXCHANGE_DATE source_39
68892 , h2.INV_EXCHANGE_RATE source_40
68893 , h2.INV_EXCHANGE_RATE_TYPE source_41
68894 , h2.AI_VENDOR_ID source_47
68895 , h2.AI_VENDOR_SITE_ID source_48
68896 , h2.THIRD_PARTY_TYPE source_49
68897 , h2.INV_DOC_SEQUENCE_CATEGORY source_122
68898 , h2.INV_DOC_SEQUENCE_IDENTIFIER source_123
68899 , h2.INV_DOC_SEQUENCE_VALUE source_124
68900 FROM xla_events_gt xet
68901 , AP_INVOICE_EXTRACT_HEADER_V h2
68902 , AP_SYSTEM_PARAMETERS_EXTRACT_V h3
68903 , fnd_lookup_values fvl7
68904 , fnd_lookup_values fvl12
68905 , fnd_lookup_values fvl17
68906 WHERE xet.event_date between p_pad_start_date and p_pad_end_date
68907 and xet.event_class_code = C_EVENT_CLASS_CODE
68908 and xet.event_status_code <> 'N' AND h2.event_id = xet.event_id
68909 AND h3.asp_org_id= h2.ai_org_id AND fvl7.lookup_type(+) = 'LIABILITY FLEXBUILD METHOD'
68910 AND fvl7.lookup_code(+) = h3.ASP_AUTOMATIC_OFFSETS_VALUE
68911 AND fvl7.view_application_id(+) = 200
68912 AND fvl7.language(+) = USERENV('LANG')
68913 AND fvl12.lookup_type(+) = 'YES_NO'
68914 AND fvl12.lookup_code(+) = h3.ASP_AUTO_OFFSET_FLAG
68915 AND fvl12.view_application_id(+) = 0
68916 AND fvl12.language(+) = USERENV('LANG')
68917 AND fvl17.lookup_type(+) = 'YES_NO'
68918 AND fvl17.lookup_code(+) = h3.FSP_PURCH_ENCUMBRANCE_FLAG
68919 AND fvl17.view_application_id(+) = 0
68920 AND fvl17.language(+) = USERENV('LANG')
68921
68922 ORDER BY event_id
68923 ;
68924
68925
68926 --
68927 CURSOR line_cur (x_first_event_id in number, x_last_event_id in number)
68928 IS
68929 SELECT /*+ leading(xet) cardinality(xet,1) */
68930 -- Event Class Code: DEBIT MEMOS
68931 xet.entity_id
68932 ,xet.legal_entity_id
68933 ,xet.entity_code
68934 ,xet.transaction_number
68935 ,xet.event_id
68936 ,xet.event_class_code
68937 ,xet.event_type_code
68938 ,xet.event_number
68939 ,xet.event_date
68940 ,xet.transaction_date
68941 ,xet.reference_num_1
68942 ,xet.reference_num_2
68943 ,xet.reference_num_3
68944 ,xet.reference_num_4
68945 ,xet.reference_char_1
68946 ,xet.reference_char_2
68947 ,xet.reference_char_3
68948 ,xet.reference_char_4
68949 ,xet.reference_date_1
68950 ,xet.reference_date_2
68951 ,xet.reference_date_3
68952 ,xet.reference_date_4
68953 ,xet.event_created_by
68954 ,xet.budgetary_control_flag
68955 , l1.LINE_NUMBER
68956 , l1.AID_DESCRIPTION source_1
68957 , l1.INV_DIST_BASE_AMOUNT source_8
68958 , l1.RELATED_INV_DIST_DEST_TYPE source_9
68959 , fvl9.meaning source_9_meaning
68960 , l1.AID_DIST_CCID source_11
68961 , l1.SELF_ASSESSED_TAX_ACCOUNT source_13
68962 , l1.AID_LINE_TYPE_LOOKUP_CODE source_15
68963 , fvl15.meaning source_15_meaning
68964 , l1.AID_AMOUNT_VARIANCE source_16
68965 , l1.POD_ACCRUE_ON_RECEIPT_FLAG source_18
68966 , fvl18.meaning source_18_meaning
68967 , l1.DIST_ACCOUNT_REVERSAL_OPTION source_19
68968 , l1.DISTRIBUTION_LINK_TYPE source_21
68969 , l1.ALLOC_TO_MAIN_DIST_ID source_23
68970 , l1.BUS_FLOW_AP_APP_ID source_25
68971 , l1.BUS_FLOW_INV_DIST_TYPE source_26
68972 , l1.BUS_FLOW_INV_ENTITY_CODE source_27
68973 , l1.BUS_FLOW_INV_DIST_ID source_28
68974 , l1.BUS_FLOW_INV_ID source_29
68975 , l1.AID_INVOICE_DIST_ID source_30
68976 , l1.UPG_ENC_CR_CCID source_31
68977 , l1.UPG_ENC_CR_AMT source_32
68978 , l1.UPG_ENC_CR_BASE_AMT source_34
68979 , l1.UPG_ENC_DR_CCID source_35
68980 , l1.UPG_ENC_DR_AMT source_36
68984 , l1.DEFERRED_END_DATE source_43
68981 , l1.UPG_ENC_DR_BASE_AMT source_37
68982 , l1.UPG_AP_ENCUM_OPTION source_38
68983 , l1.AID_BASE_AMOUNT_VARIANCE source_42
68985 , l1.DEFERRED_OPTION source_44
68986 , l1.DEFERRED_START_DATE source_45
68987 , l1.OVERRIDE_ACCTD_AMT_FLAG source_46
68988 , fvl46.meaning source_46_meaning
68989 , l1.AID_PARENT_REVERSAL_ID source_50
68990 , l4.TAX_LINE_ID source_52
68991 , l5.REC_NREC_TAX_DIST_ID source_53
68992 , l1.SUMMARY_TAX_LINE_ID source_54
68993 , l1.UPG_CR_ENC_TYPE_ID source_55
68994 , l1.UPG_DR_ENC_TYPE_ID source_56
68995 , l1.PO_DISTRIBUTION_ID source_58
68996 , l1.SELF_ASSESSED_TAX_FLAG source_59
68997 , fvl59.meaning source_59_meaning
68998 , l1.BUS_FLOW_PO_APP_ID source_60
68999 , l1.BUS_FLOW_PO_DIST_TYPE source_61
69000 , l1.BUS_FLOW_PO_ENTITY_CODE source_62
69001 , l1.BUS_FLOW_PO_DIST_ID source_63
69002 , l1.BUS_FLOW_PO_DOC_ID source_64
69003 , l1.ENCUMBRANCE_AMOUNT source_65
69004 , l1.ENCUMBRANCE_BASE_AMOUNT source_66
69005 , l1.AID_QUANTITY_VARIANCE source_81
69006 , l1.AID_BASE_QUANTITY_VARIANCE source_82
69007 FROM xla_events_gt xet
69008 , AP_EXTRACT_INVOICE_DTLS_BC_V l1
69009 , ZX_AP_DEF_TAX_EXTRACT_V l4
69010 , ZX_AP_TAX_JRNL_LINE_DESC_V l5
69011 , fnd_lookup_values fvl9
69012 , fnd_lookup_values fvl15
69013 , fnd_lookup_values fvl18
69014 , fnd_lookup_values fvl46
69015 , fnd_lookup_values fvl59
69016 WHERE xet.event_id between x_first_event_id and x_last_event_id
69017 and xet.event_date between p_pad_start_date and p_pad_end_date
69018 and xet.event_class_code = C_EVENT_CLASS_CODE
69019 and xet.event_status_code <> 'N' AND l1.event_id = xet.event_id
69020 AND l1.ZRND_tax_dist_id = l4.REC_NREC_TAX_DIST_ID (+) AND l1.ZRND_tax_dist_id = l5.REC_NREC_TAX_DIST_ID (+) AND fvl9.lookup_type(+) = 'DESTINATION TYPE'
69021 AND fvl9.lookup_code(+) = l1.RELATED_INV_DIST_DEST_TYPE
69022 AND fvl9.view_application_id(+) = 201
69023 AND fvl9.language(+) = USERENV('LANG')
69024 AND fvl15.lookup_type(+) = 'INVOICE DISTRIBUTION TYPE'
69025 AND fvl15.lookup_code(+) = l1.AID_LINE_TYPE_LOOKUP_CODE
69026 AND fvl15.view_application_id(+) = 200
69027 AND fvl15.language(+) = USERENV('LANG')
69028 AND fvl18.lookup_type(+) = 'YES_NO'
69029 AND fvl18.lookup_code(+) = l1.POD_ACCRUE_ON_RECEIPT_FLAG
69030 AND fvl18.view_application_id(+) = 0
69031 AND fvl18.language(+) = USERENV('LANG')
69032 AND fvl46.lookup_type(+) = 'YES_NO'
69033 AND fvl46.lookup_code(+) = l1.OVERRIDE_ACCTD_AMT_FLAG
69034 AND fvl46.view_application_id(+) = 0
69035 AND fvl46.language(+) = USERENV('LANG')
69036 AND fvl59.lookup_type(+) = 'YES_NO'
69037 AND fvl59.lookup_code(+) = l1.SELF_ASSESSED_TAX_FLAG
69038 AND fvl59.view_application_id(+) = 0
69039 AND fvl59.language(+) = USERENV('LANG')
69040 ;
69041
69042 --
69043 BEGIN
69044 IF g_log_enabled THEN
69045 l_log_module := C_DEFAULT_MODULE||'.EventClass_104';
69046 END IF;
69047 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
69048 trace
69049 (p_msg => 'BEGIN of EventClass_104'
69050 ,p_level => C_LEVEL_PROCEDURE
69051 ,p_module => l_log_module);
69052 END IF;
69053
69054 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
69055 trace
69056 (p_msg => 'p_application_id = '||p_application_id||
69057 ' - p_base_ledger_id = '||p_base_ledger_id||
69058 ' - p_target_ledger_id = '||p_target_ledger_id||
69059 ' - p_language = '||p_language||
69060 ' - p_currency_code = '||p_currency_code||
69061 ' - p_sla_ledger_id = '||p_sla_ledger_id
69062 ,p_level => C_LEVEL_STATEMENT
69063 ,p_module => l_log_module);
69064 END IF;
69065 --
69066 -- initialze arrays
69067 --
69068 g_array_event.DELETE;
69069 l_rec_array_event := l_null_rec_array_event;
69070 --
69071 --------------------------------------
69072 -- 4262811 Initialze MPA Line Number
69073 --------------------------------------
69074 XLA_AE_HEADER_PKG.g_mpa_line_num := 0;
69075
69076 --
69077
69078 --
69079 OPEN header_cur;
69080 --
69081 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
69082 trace
69083 (p_msg => 'SQL - FETCH header_cur'
69084 ,p_level => C_LEVEL_STATEMENT
69085 ,p_module => l_log_module);
69086 END IF;
69087 --
69088 LOOP
69089 FETCH header_cur BULK COLLECT INTO
69090 l_array_entity_id
69091 , l_array_legal_entity_id
69092 , l_array_entity_code
69093 , l_array_transaction_num
69094 , l_array_event_id
69095 , l_array_class_code
69096 , l_array_event_type
69097 , l_array_event_number
69098 , l_array_event_date
69099 , l_array_transaction_date
69100 , l_array_reference_num_1
69101 , l_array_reference_num_2
69102 , l_array_reference_num_3
69103 , l_array_reference_num_4
69104 , l_array_reference_char_1
69105 , l_array_reference_char_2
69106 , l_array_reference_char_3
69107 , l_array_reference_char_4
69108 , l_array_reference_date_1
69109 , l_array_reference_date_2
69113 , l_array_budgetary_control_flag
69110 , l_array_reference_date_3
69111 , l_array_reference_date_4
69112 , l_array_event_created_by
69114 , l_array_source_6
69115 , l_array_source_7
69116 , l_array_source_7_meaning
69117 , l_array_source_10
69118 , l_array_source_12
69119 , l_array_source_12_meaning
69120 , l_array_source_17
69121 , l_array_source_17_meaning
69122 , l_array_source_24
69123 , l_array_source_33
69124 , l_array_source_39
69125 , l_array_source_40
69126 , l_array_source_41
69127 , l_array_source_47
69128 , l_array_source_48
69129 , l_array_source_49
69130 , l_array_source_122
69131 , l_array_source_123
69132 , l_array_source_124
69133 LIMIT l_rows;
69134 --
69135 IF (C_LEVEL_EVENT >= g_log_level) THEN
69136 trace
69137 (p_msg => '# rows extracted from header extract objects = '||TO_CHAR(header_cur%ROWCOUNT)
69138 ,p_level => C_LEVEL_EVENT
69139 ,p_module => l_log_module);
69140 END IF;
69141 --
69142 EXIT WHEN l_array_entity_id.COUNT = 0;
69143
69144 -- initialize arrays
69145 XLA_AE_HEADER_PKG.g_rec_header_new := NULL;
69146 XLA_AE_LINES_PKG.g_rec_lines := NULL;
69147
69148 --
69149 -- Bug 4458708
69150 --
69151 XLA_AE_LINES_PKG.g_LineNumber := 0;
69152
69153
69154 -- 4262811 - when creating Accrual Reversal or MPA, use g_last_hdr_idx to increment for next header id
69155 g_last_hdr_idx := l_array_event_id.LAST;
69156 --
69157 -- loop for the headers. Each iteration is for each header extract row
69158 -- fetched in header cursor
69159 --
69160 FOR hdr_idx IN l_array_event_id.FIRST .. l_array_event_id.LAST LOOP
69161
69162 --
69163 -- set event info as cache for other routines to refer event attributes
69164 --
69165 XLA_AE_JOURNAL_ENTRY_PKG.set_event_info
69166 (p_application_id => p_application_id
69167 ,p_primary_ledger_id => p_primary_ledger_id
69168 ,p_base_ledger_id => p_base_ledger_id
69169 ,p_target_ledger_id => p_target_ledger_id
69170 ,p_entity_id => l_array_entity_id(hdr_idx)
69171 ,p_legal_entity_id => l_array_legal_entity_id(hdr_idx)
69172 ,p_entity_code => l_array_entity_code(hdr_idx)
69173 ,p_transaction_num => l_array_transaction_num(hdr_idx)
69174 ,p_event_id => l_array_event_id(hdr_idx)
69175 ,p_event_class_code => l_array_class_code(hdr_idx)
69176 ,p_event_type_code => l_array_event_type(hdr_idx)
69177 ,p_event_number => l_array_event_number(hdr_idx)
69178 ,p_event_date => l_array_event_date(hdr_idx)
69179 ,p_transaction_date => l_array_transaction_date(hdr_idx)
69180 ,p_reference_num_1 => l_array_reference_num_1(hdr_idx)
69181 ,p_reference_num_2 => l_array_reference_num_2(hdr_idx)
69182 ,p_reference_num_3 => l_array_reference_num_3(hdr_idx)
69183 ,p_reference_num_4 => l_array_reference_num_4(hdr_idx)
69184 ,p_reference_char_1 => l_array_reference_char_1(hdr_idx)
69185 ,p_reference_char_2 => l_array_reference_char_2(hdr_idx)
69186 ,p_reference_char_3 => l_array_reference_char_3(hdr_idx)
69187 ,p_reference_char_4 => l_array_reference_char_4(hdr_idx)
69188 ,p_reference_date_1 => l_array_reference_date_1(hdr_idx)
69189 ,p_reference_date_2 => l_array_reference_date_2(hdr_idx)
69190 ,p_reference_date_3 => l_array_reference_date_3(hdr_idx)
69191 ,p_reference_date_4 => l_array_reference_date_4(hdr_idx)
69192 ,p_event_created_by => l_array_event_created_by(hdr_idx)
69193 ,p_budgetary_control_flag => l_array_budgetary_control_flag(hdr_idx));
69194
69195 --
69196 -- set the status of entry to C_VALID (0)
69197 --
69198 XLA_AE_JOURNAL_ENTRY_PKG.g_global_status := XLA_AE_JOURNAL_ENTRY_PKG.C_VALID;
69199
69200 --
69201 -- initialize a row for ae header
69202 --
69203 XLA_AE_HEADER_PKG.InitHeader(hdr_idx);
69204
69205 l_event_id := l_array_event_id(hdr_idx);
69206
69207 --
69208 -- storing the hdr_idx for event. May be used by line cursor.
69209 --
69210 g_array_event(l_event_id).array_value_num('header_index') := hdr_idx;
69211
69212 --
69213 -- store sources from header extract. This can be improved to
69214 -- store only those sources from header extract that may be used in lines
69215 --
69216
69217 g_array_event(l_event_id).array_value_num('source_6') := l_array_source_6(hdr_idx);
69218 g_array_event(l_event_id).array_value_char('source_7') := l_array_source_7(hdr_idx);
69219 g_array_event(l_event_id).array_value_char('source_7_meaning') := l_array_source_7_meaning(hdr_idx);
69220 g_array_event(l_event_id).array_value_num('source_10') := l_array_source_10(hdr_idx);
69221 g_array_event(l_event_id).array_value_char('source_12') := l_array_source_12(hdr_idx);
69222 g_array_event(l_event_id).array_value_char('source_12_meaning') := l_array_source_12_meaning(hdr_idx);
69223 g_array_event(l_event_id).array_value_char('source_17') := l_array_source_17(hdr_idx);
69224 g_array_event(l_event_id).array_value_char('source_17_meaning') := l_array_source_17_meaning(hdr_idx);
69225 g_array_event(l_event_id).array_value_num('source_24') := l_array_source_24(hdr_idx);
69226 g_array_event(l_event_id).array_value_char('source_33') := l_array_source_33(hdr_idx);
69230 g_array_event(l_event_id).array_value_num('source_47') := l_array_source_47(hdr_idx);
69227 g_array_event(l_event_id).array_value_date('source_39') := l_array_source_39(hdr_idx);
69228 g_array_event(l_event_id).array_value_num('source_40') := l_array_source_40(hdr_idx);
69229 g_array_event(l_event_id).array_value_char('source_41') := l_array_source_41(hdr_idx);
69231 g_array_event(l_event_id).array_value_num('source_48') := l_array_source_48(hdr_idx);
69232 g_array_event(l_event_id).array_value_char('source_49') := l_array_source_49(hdr_idx);
69233 g_array_event(l_event_id).array_value_char('source_122') := l_array_source_122(hdr_idx);
69234 g_array_event(l_event_id).array_value_num('source_123') := l_array_source_123(hdr_idx);
69235 g_array_event(l_event_id).array_value_num('source_124') := l_array_source_124(hdr_idx);
69236
69237 --
69238 -- initilaize the status of ae headers for diffrent balance types
69239 -- the status is initialised to C_NOT_CREATED (2)
69240 --
69241 --g_array_event(l_event_id).array_value_num('actual_je_status') := XLA_AE_JOURNAL_ENTRY_PKG.C_NOT_CREATED;
69242 --g_array_event(l_event_id).array_value_num('budget_je_status') := XLA_AE_JOURNAL_ENTRY_PKG.C_NOT_CREATED;
69243 --g_array_event(l_event_id).array_value_num('encumbrance_je_status') := XLA_AE_JOURNAL_ENTRY_PKG.C_NOT_CREATED;
69244
69245 --
69246 -- call api to validate and store accounting attributes for header
69247 --
69248
69249 ------------------------------------------------------------
69250 -- Accrual Reversal : to get date for Standard Source (NONE)
69251 ------------------------------------------------------------
69252 l_acc_rev_gl_date_source := NULL;
69253
69254 l_rec_acct_attrs.array_acct_attr_code(1) := 'DOC_CATEGORY_CODE';
69255 l_rec_acct_attrs.array_char_value(1) := g_array_event(l_event_id).array_value_char('source_122');
69256 l_rec_acct_attrs.array_acct_attr_code(2) := 'DOC_SEQUENCE_ID';
69257 l_rec_acct_attrs.array_num_value(2) := g_array_event(l_event_id).array_value_num('source_123');
69258 l_rec_acct_attrs.array_acct_attr_code(3) := 'DOC_SEQUENCE_VALUE';
69259 l_rec_acct_attrs.array_num_value(3) := g_array_event(l_event_id).array_value_num('source_124');
69260 l_rec_acct_attrs.array_acct_attr_code(4) := 'GL_DATE';
69261 l_rec_acct_attrs.array_date_value(4) :=
69262 xla_ae_sources_pkg.GetSystemSourceDate(
69263 p_source_code => 'XLA_EVENT_DATE'
69264 , p_source_type_code => 'Y'
69265 , p_source_application_id => 602
69266 );
69267
69268
69269 XLA_AE_HEADER_PKG.SetHdrAcctAttrs(l_rec_acct_attrs);
69270
69271 XLA_AE_HEADER_PKG.SetJeCategoryName;
69272
69273 XLA_AE_HEADER_PKG.g_rec_header_new.array_event_type_code(hdr_idx) := l_array_event_type(hdr_idx);
69274 XLA_AE_HEADER_PKG.g_rec_header_new.array_event_id(hdr_idx) := l_array_event_id(hdr_idx);
69275 XLA_AE_HEADER_PKG.g_rec_header_new.array_entity_id(hdr_idx) := l_array_entity_id(hdr_idx);
69276 XLA_AE_HEADER_PKG.g_rec_header_new.array_event_number(hdr_idx) := l_array_event_number(hdr_idx);
69277 XLA_AE_HEADER_PKG.g_rec_header_new.array_target_ledger_id(hdr_idx) := p_target_ledger_id;
69278
69279
69280 --
69281 xla_ae_header_pkg.SetHdrDescription(
69282 p_description => Description_1 (
69283 p_application_id => p_application_id
69284 )
69285 );
69286 --
69287
69288 -- No header level analytical criteria
69289
69290 --
69291 --accounting attribute enhancement, bug 3612931
69292 --
69293 l_trx_reversal_source := SUBSTR(NULL, 1,30);
69294
69295 IF NVL(l_trx_reversal_source, 'N') NOT IN ('N','Y') THEN
69296 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
69297
69298 xla_accounting_err_pkg.build_message
69299 (p_appli_s_name => 'XLA'
69300 ,p_msg_name => 'XLA_AP_INVALID_HDR_ATTR'
69301 ,p_token_1 => 'ACCT_ATTR_NAME'
69302 ,p_value_1 => xla_ae_sources_pkg.GetAccountingSourceName('TRX_ACCT_REVERSAL_OPTION')
69303 ,p_token_2 => 'PRODUCT_NAME'
69304 ,p_value_2 => xla_ae_journal_entry_pkg.g_cache_event.application_name
69305 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
69306 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
69307 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id);
69308
69309 ELSIF NVL(l_trx_reversal_source, 'N') = 'Y' THEN
69310 --
69311 -- following sets the accounting attributes needed to reverse
69312 -- accounting for a distributeion
69313 --
69314 xla_ae_lines_pkg.SetTrxReversalAttrs
69315 (p_event_id => l_event_id
69316 ,p_gl_date => XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(hdr_idx)
69317 ,p_trx_reversal_source => l_trx_reversal_source);
69318
69319 END IF;
69320
69321
69322 ----------------------------------------------------------------
69323 -- 4262811 - update the header statuses to invalid in need be
69324 ----------------------------------------------------------------
69325 --
69326 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus (p_hdr_idx => hdr_idx);
69327
69328
69329 -----------------------------------------------
69330 -- No accrual reversal for the event class/type
69331 -----------------------------------------------
69332 ----------------------------------------------------------------
69333
69334 --
69335 -- this ends the header loop iteration for one bulk fetch
69336 --
69337 END LOOP;
69338
69339 l_first_event_id := l_array_event_id(l_array_event_id.FIRST);
69343 -- insert dummy rows into lines gt table that were created due to
69340 l_last_event_id := l_array_event_id(l_array_event_id.LAST);
69341
69342 --
69344 -- transaction reversals
69345 --
69346 IF XLA_AE_LINES_PKG.g_rec_lines.array_ae_header_id.COUNT > 0 THEN
69347 l_result := XLA_AE_LINES_PKG.InsertLines;
69348 END IF;
69349
69350 --
69351 -- reset the temp_line_num for each set of events fetched from header
69352 -- cursor rather than doing it for each new event in line cursor
69353 -- Bug 3939231
69354 --
69355 xla_ae_lines_pkg.g_temp_line_num := 0;
69356
69357
69358
69359 --
69360 OPEN line_cur(x_first_event_id => l_first_event_id, x_last_event_id => l_last_event_id);
69361 --
69362 --
69363 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
69364
69365 trace
69366 (p_msg => 'SQL - FETCH line_cur'
69367 ,p_level => C_LEVEL_STATEMENT
69368 ,p_module => l_log_module);
69369
69370 END IF;
69371 --
69372 --
69373 LOOP
69374 --
69375 FETCH line_cur BULK COLLECT INTO
69376 l_array_entity_id
69377 , l_array_legal_entity_id
69378 , l_array_entity_code
69379 , l_array_transaction_num
69380 , l_array_event_id
69381 , l_array_class_code
69382 , l_array_event_type
69383 , l_array_event_number
69384 , l_array_event_date
69385 , l_array_transaction_date
69386 , l_array_reference_num_1
69387 , l_array_reference_num_2
69388 , l_array_reference_num_3
69389 , l_array_reference_num_4
69390 , l_array_reference_char_1
69391 , l_array_reference_char_2
69392 , l_array_reference_char_3
69393 , l_array_reference_char_4
69394 , l_array_reference_date_1
69395 , l_array_reference_date_2
69396 , l_array_reference_date_3
69397 , l_array_reference_date_4
69398 , l_array_event_created_by
69399 , l_array_budgetary_control_flag
69400 , l_array_extract_line_num
69401 , l_array_source_1
69402 , l_array_source_8
69403 , l_array_source_9
69404 , l_array_source_9_meaning
69405 , l_array_source_11
69406 , l_array_source_13
69407 , l_array_source_15
69408 , l_array_source_15_meaning
69409 , l_array_source_16
69410 , l_array_source_18
69411 , l_array_source_18_meaning
69412 , l_array_source_19
69413 , l_array_source_21
69414 , l_array_source_23
69415 , l_array_source_25
69416 , l_array_source_26
69417 , l_array_source_27
69418 , l_array_source_28
69419 , l_array_source_29
69420 , l_array_source_30
69421 , l_array_source_31
69422 , l_array_source_32
69423 , l_array_source_34
69424 , l_array_source_35
69425 , l_array_source_36
69426 , l_array_source_37
69427 , l_array_source_38
69428 , l_array_source_42
69429 , l_array_source_43
69430 , l_array_source_44
69431 , l_array_source_45
69432 , l_array_source_46
69433 , l_array_source_46_meaning
69434 , l_array_source_50
69435 , l_array_source_52
69436 , l_array_source_53
69437 , l_array_source_54
69438 , l_array_source_55
69439 , l_array_source_56
69440 , l_array_source_58
69441 , l_array_source_59
69442 , l_array_source_59_meaning
69443 , l_array_source_60
69444 , l_array_source_61
69445 , l_array_source_62
69446 , l_array_source_63
69447 , l_array_source_64
69448 , l_array_source_65
69449 , l_array_source_66
69450 , l_array_source_81
69451 , l_array_source_82
69452 LIMIT l_rows;
69453
69454 --
69455 IF (C_LEVEL_EVENT >= g_log_level) THEN
69456 trace
69457 (p_msg => '# rows extracted from line extract objects = '||TO_CHAR(line_cur%ROWCOUNT)
69458 ,p_level => C_LEVEL_EVENT
69459 ,p_module => l_log_module);
69460 END IF;
69461 --
69462 EXIT WHEN l_array_entity_id.count = 0;
69463
69464 XLA_AE_LINES_PKG.g_rec_lines := null;
69465
69466 --
69467 -- Bug 4458708
69468 --
69469 XLA_AE_LINES_PKG.g_LineNumber := 0;
69470 --
69471 --
69472
69473 FOR Idx IN 1..l_array_event_id.count LOOP
69474 --
69475 -- 5648433 (move l_event_id out of IF statement) set l_event_id to be used inside IF condition
69476 --
69477 l_event_id := l_array_event_id(idx); -- 5648433
69478
69479 --
69480 -- Bug 4872078 - Do nothing if the event is meant for transaction reversal
69481 --
69482
69483 IF NVL(xla_ae_header_pkg.g_rec_header_new.array_trx_acct_reversal_option
69484 (g_array_event(l_event_id).array_value_num('header_index'))
69485 ,'N'
69486 ) <> 'Y'
69487 THEN
69488 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
69489 trace
69490 (p_msg => 'Trancaction revesal option is not Y '
69491 ,p_level => C_LEVEL_STATEMENT
69492 ,p_module => l_log_module);
69493 END IF;
69494
69495 --
69496 -- set the XLA_AE_JOURNAL_ENTRY_PKG.g_global_status to C_VALID (0)
69497 --
69498 XLA_AE_JOURNAL_ENTRY_PKG.g_global_status := XLA_AE_JOURNAL_ENTRY_PKG.C_VALID;
69499 --
69503 IF l_event_id <> NVL(l_previous_event_id, -1) THEN
69500 -- set event info as cache for other routines to refer event attributes
69501 --
69502
69504 l_previous_event_id := l_event_id;
69505
69506 XLA_AE_JOURNAL_ENTRY_PKG.set_event_info
69507 (p_application_id => p_application_id
69508 ,p_primary_ledger_id => p_primary_ledger_id
69509 ,p_base_ledger_id => p_base_ledger_id
69510 ,p_target_ledger_id => p_target_ledger_id
69511 ,p_entity_id => l_array_entity_id(Idx)
69512 ,p_legal_entity_id => l_array_legal_entity_id(Idx)
69513 ,p_entity_code => l_array_entity_code(Idx)
69514 ,p_transaction_num => l_array_transaction_num(Idx)
69515 ,p_event_id => l_array_event_id(Idx)
69516 ,p_event_class_code => l_array_class_code(Idx)
69517 ,p_event_type_code => l_array_event_type(Idx)
69518 ,p_event_number => l_array_event_number(Idx)
69519 ,p_event_date => l_array_event_date(Idx)
69520 ,p_transaction_date => l_array_transaction_date(Idx)
69521 ,p_reference_num_1 => l_array_reference_num_1(Idx)
69522 ,p_reference_num_2 => l_array_reference_num_2(Idx)
69523 ,p_reference_num_3 => l_array_reference_num_3(Idx)
69524 ,p_reference_num_4 => l_array_reference_num_4(Idx)
69525 ,p_reference_char_1 => l_array_reference_char_1(Idx)
69526 ,p_reference_char_2 => l_array_reference_char_2(Idx)
69527 ,p_reference_char_3 => l_array_reference_char_3(Idx)
69528 ,p_reference_char_4 => l_array_reference_char_4(Idx)
69529 ,p_reference_date_1 => l_array_reference_date_1(Idx)
69530 ,p_reference_date_2 => l_array_reference_date_2(Idx)
69531 ,p_reference_date_3 => l_array_reference_date_3(Idx)
69532 ,p_reference_date_4 => l_array_reference_date_4(Idx)
69533 ,p_event_created_by => l_array_event_created_by(Idx)
69534 ,p_budgetary_control_flag => l_array_budgetary_control_flag(Idx));
69535 --
69536 END IF;
69537
69538
69539
69540 --
69541 xla_ae_lines_pkg.SetExtractLine(p_extract_line => l_array_extract_line_num(Idx));
69542
69543 l_acct_reversal_source := SUBSTR(l_array_source_19(Idx), 1,30);
69544
69545 IF l_continue_with_lines THEN
69546 IF NVL(l_acct_reversal_source, 'N') NOT IN ('N','Y','B') THEN
69547 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
69548
69549 xla_accounting_err_pkg.build_message
69550 (p_appli_s_name => 'XLA'
69551 ,p_msg_name => 'XLA_AP_INVALID_REVERSAL_OPTION'
69552 ,p_token_1 => 'LINE_NUMBER'
69553 ,p_value_1 => l_array_extract_line_num(Idx)
69554 ,p_token_2 => 'PRODUCT_NAME'
69555 ,p_value_2 => xla_ae_journal_entry_pkg.g_cache_event.application_name
69556 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
69557 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
69558 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id);
69559
69560 ELSIF NVL(l_acct_reversal_source, 'N') IN ('Y','B') THEN
69561 --
69562 -- following sets the accounting attributes needed to reverse
69563 -- accounting for a distributeion
69564 --
69565
69566 --
69567 -- 5217187
69568 --
69569 l_rec_rev_acct_attrs.array_acct_attr_code(1):= 'GL_DATE';
69570 l_rec_rev_acct_attrs.array_date_value(1) := XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(
69571 g_array_event(l_event_id).array_value_num('header_index'));
69572 --
69573 --
69574
69575 l_rec_rev_acct_attrs.array_acct_attr_code(2) := 'ACCOUNTING_REVERSAL_OPTION';
69576 l_rec_rev_acct_attrs.array_char_value(2) := l_array_source_19(Idx);
69577 l_rec_rev_acct_attrs.array_acct_attr_code(3) := 'DISTRIBUTION_IDENTIFIER_1';
69578 l_rec_rev_acct_attrs.array_num_value(3) := l_array_source_30(Idx);
69579 l_rec_rev_acct_attrs.array_acct_attr_code(4) := 'DISTRIBUTION_TYPE';
69580 l_rec_rev_acct_attrs.array_char_value(4) := l_array_source_21(Idx);
69581 l_rec_rev_acct_attrs.array_acct_attr_code(5) := 'ENC_UPG_CR_CCID';
69582 l_rec_rev_acct_attrs.array_num_value(5) := l_array_source_31(Idx);
69583 l_rec_rev_acct_attrs.array_acct_attr_code(6) := 'ENC_UPG_CR_ENTERED_AMT';
69584 l_rec_rev_acct_attrs.array_num_value(6) := l_array_source_32(Idx);
69585 l_rec_rev_acct_attrs.array_acct_attr_code(7) := 'ENC_UPG_CR_ENTERED_CURR';
69586 l_rec_rev_acct_attrs.array_char_value(7) := g_array_event(l_event_id).array_value_char('source_33');
69587 l_rec_rev_acct_attrs.array_acct_attr_code(8) := 'ENC_UPG_CR_LEDGER_AMT';
69588 l_rec_rev_acct_attrs.array_num_value(8) := l_array_source_34(Idx);
69589 l_rec_rev_acct_attrs.array_acct_attr_code(9) := 'ENC_UPG_DR_CCID';
69590 l_rec_rev_acct_attrs.array_num_value(9) := l_array_source_35(Idx);
69591 l_rec_rev_acct_attrs.array_acct_attr_code(10) := 'ENC_UPG_DR_ENTERED_AMT';
69592 l_rec_rev_acct_attrs.array_num_value(10) := l_array_source_36(Idx);
69593 l_rec_rev_acct_attrs.array_acct_attr_code(11) := 'ENC_UPG_DR_ENTERED_CURR';
69594 l_rec_rev_acct_attrs.array_char_value(11) := g_array_event(l_event_id).array_value_char('source_33');
69598 l_rec_rev_acct_attrs.array_char_value(13) := l_array_source_38(Idx);
69595 l_rec_rev_acct_attrs.array_acct_attr_code(12) := 'ENC_UPG_DR_LEDGER_AMT';
69596 l_rec_rev_acct_attrs.array_num_value(12) := l_array_source_37(Idx);
69597 l_rec_rev_acct_attrs.array_acct_attr_code(13) := 'ENC_UPG_OPTION';
69599 l_rec_rev_acct_attrs.array_acct_attr_code(14) := 'PARTY_TYPE';
69600 l_rec_rev_acct_attrs.array_char_value(14) := g_array_event(l_event_id).array_value_char('source_49');
69601 l_rec_rev_acct_attrs.array_acct_attr_code(15) := 'REVERSED_DISTRIBUTION_ID1';
69602 l_rec_rev_acct_attrs.array_num_value(15) := l_array_source_50(Idx);
69603 l_rec_rev_acct_attrs.array_acct_attr_code(16) := 'REVERSED_DISTRIBUTION_TYPE';
69604 l_rec_rev_acct_attrs.array_char_value(16) := l_array_source_21(Idx);
69605 l_rec_rev_acct_attrs.array_acct_attr_code(17) := 'TAX_LINE_REF_ID';
69606 l_rec_rev_acct_attrs.array_num_value(17) := l_array_source_52(Idx);
69607 l_rec_rev_acct_attrs.array_acct_attr_code(18) := 'TAX_REC_NREC_DIST_REF_ID';
69608 l_rec_rev_acct_attrs.array_num_value(18) := l_array_source_53(Idx);
69609 l_rec_rev_acct_attrs.array_acct_attr_code(19) := 'TAX_SUMMARY_LINE_REF_ID';
69610 l_rec_rev_acct_attrs.array_num_value(19) := l_array_source_54(Idx);
69611 l_rec_rev_acct_attrs.array_acct_attr_code(20) := 'UPG_CR_ENC_TYPE_ID';
69612 l_rec_rev_acct_attrs.array_num_value(20) := l_array_source_55(Idx);
69613 l_rec_rev_acct_attrs.array_acct_attr_code(21) := 'UPG_DR_ENC_TYPE_ID';
69614 l_rec_rev_acct_attrs.array_num_value(21) := l_array_source_56(Idx);
69615
69616
69617 xla_ae_lines_pkg.SetAcctReversalAttrs
69618 (p_event_id => l_event_id
69619 ,p_rec_acct_attrs => l_rec_rev_acct_attrs
69620 ,p_calculate_acctd_flag => l_calculate_acctd_flag
69621 ,p_calculate_g_l_flag => l_calculate_g_l_flag);
69622 END IF;
69623
69624 IF NVL(l_acct_reversal_source, 'N') IN ('N','B') THEN
69625 l_actual_flag := NULL; l_actual_gain_loss_ref := '#####';
69626
69627 --
69628 AcctLineType_15 (
69629 p_application_id => p_application_id
69630 ,p_event_id => l_event_id
69631 ,p_calculate_acctd_flag => l_calculate_acctd_flag
69632 ,p_calculate_g_l_flag => l_calculate_g_l_flag
69633 ,p_actual_flag => l_actual_flag
69634 ,p_balance_type_code => l_balance_type_code
69635 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
69636
69637 , p_source_1 => l_array_source_1(Idx)
69638 , p_source_11 => l_array_source_11(Idx)
69639 , p_source_15 => l_array_source_15(Idx)
69640 , p_source_15_meaning => l_array_source_15_meaning(Idx)
69641 , p_source_16 => l_array_source_16(Idx)
69642 , p_source_17 => g_array_event(l_event_id).array_value_char('source_17')
69643 , p_source_17_meaning => g_array_event(l_event_id).array_value_char('source_17_meaning')
69644 , p_source_18 => l_array_source_18(Idx)
69645 , p_source_18_meaning => l_array_source_18_meaning(Idx)
69646 , p_source_19 => l_array_source_19(Idx)
69647 , p_source_21 => l_array_source_21(Idx)
69648 , p_source_23 => l_array_source_23(Idx)
69649 , p_source_24 => g_array_event(l_event_id).array_value_num('source_24')
69650 , p_source_25 => l_array_source_25(Idx)
69651 , p_source_26 => l_array_source_26(Idx)
69652 , p_source_27 => l_array_source_27(Idx)
69653 , p_source_28 => l_array_source_28(Idx)
69654 , p_source_29 => l_array_source_29(Idx)
69655 , p_source_30 => l_array_source_30(Idx)
69656 , p_source_31 => l_array_source_31(Idx)
69657 , p_source_32 => l_array_source_32(Idx)
69658 , p_source_33 => g_array_event(l_event_id).array_value_char('source_33')
69659 , p_source_34 => l_array_source_34(Idx)
69660 , p_source_35 => l_array_source_35(Idx)
69661 , p_source_36 => l_array_source_36(Idx)
69662 , p_source_37 => l_array_source_37(Idx)
69663 , p_source_38 => l_array_source_38(Idx)
69664 , p_source_39 => g_array_event(l_event_id).array_value_date('source_39')
69665 , p_source_40 => g_array_event(l_event_id).array_value_num('source_40')
69666 , p_source_41 => g_array_event(l_event_id).array_value_char('source_41')
69667 , p_source_42 => l_array_source_42(Idx)
69668 , p_source_43 => l_array_source_43(Idx)
69669 , p_source_44 => l_array_source_44(Idx)
69670 , p_source_45 => l_array_source_45(Idx)
69671 , p_source_46 => l_array_source_46(Idx)
69672 , p_source_46_meaning => l_array_source_46_meaning(Idx)
69673 , p_source_47 => g_array_event(l_event_id).array_value_num('source_47')
69674 , p_source_48 => g_array_event(l_event_id).array_value_num('source_48')
69675 , p_source_49 => g_array_event(l_event_id).array_value_char('source_49')
69676 , p_source_50 => l_array_source_50(Idx)
69677 , p_source_52 => l_array_source_52(Idx)
69678 , p_source_53 => l_array_source_53(Idx)
69679 , p_source_54 => l_array_source_54(Idx)
69680 , p_source_55 => l_array_source_55(Idx)
69681 , p_source_56 => l_array_source_56(Idx)
69682 );
69683 If(l_balance_type_code = 'A') THEN
69684 l_actual_gain_loss_ref := l_gain_or_loss_ref;
69685 END IF;
69686
69687 --
69688
69689
69690 --
69691 AcctLineType_20 (
69692 p_application_id => p_application_id
69693 ,p_event_id => l_event_id
69694 ,p_calculate_acctd_flag => l_calculate_acctd_flag
69695 ,p_calculate_g_l_flag => l_calculate_g_l_flag
69696 ,p_actual_flag => l_actual_flag
69697 ,p_balance_type_code => l_balance_type_code
69698 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
69699
69700 , p_source_15 => l_array_source_15(Idx)
69701 , p_source_15_meaning => l_array_source_15_meaning(Idx)
69702 , p_source_18 => l_array_source_18(Idx)
69703 , p_source_18_meaning => l_array_source_18_meaning(Idx)
69707 , p_source_24 => g_array_event(l_event_id).array_value_num('source_24')
69704 , p_source_19 => l_array_source_19(Idx)
69705 , p_source_21 => l_array_source_21(Idx)
69706 , p_source_23 => l_array_source_23(Idx)
69708 , p_source_30 => l_array_source_30(Idx)
69709 , p_source_31 => l_array_source_31(Idx)
69710 , p_source_32 => l_array_source_32(Idx)
69711 , p_source_33 => g_array_event(l_event_id).array_value_char('source_33')
69712 , p_source_34 => l_array_source_34(Idx)
69713 , p_source_35 => l_array_source_35(Idx)
69714 , p_source_36 => l_array_source_36(Idx)
69715 , p_source_37 => l_array_source_37(Idx)
69716 , p_source_38 => l_array_source_38(Idx)
69717 , p_source_43 => l_array_source_43(Idx)
69718 , p_source_44 => l_array_source_44(Idx)
69719 , p_source_45 => l_array_source_45(Idx)
69720 , p_source_46 => l_array_source_46(Idx)
69721 , p_source_46_meaning => l_array_source_46_meaning(Idx)
69722 , p_source_49 => g_array_event(l_event_id).array_value_char('source_49')
69723 , p_source_50 => l_array_source_50(Idx)
69724 , p_source_52 => l_array_source_52(Idx)
69725 , p_source_53 => l_array_source_53(Idx)
69726 , p_source_54 => l_array_source_54(Idx)
69727 , p_source_55 => l_array_source_55(Idx)
69728 , p_source_56 => l_array_source_56(Idx)
69729 , p_source_58 => l_array_source_58(Idx)
69730 , p_source_59 => l_array_source_59(Idx)
69731 , p_source_59_meaning => l_array_source_59_meaning(Idx)
69732 , p_source_60 => l_array_source_60(Idx)
69733 , p_source_61 => l_array_source_61(Idx)
69734 , p_source_62 => l_array_source_62(Idx)
69735 , p_source_63 => l_array_source_63(Idx)
69736 , p_source_64 => l_array_source_64(Idx)
69737 , p_source_65 => l_array_source_65(Idx)
69738 , p_source_66 => l_array_source_66(Idx)
69739 );
69740 If(l_balance_type_code = 'A') THEN
69741 l_actual_gain_loss_ref := l_gain_or_loss_ref;
69742 END IF;
69743
69744 --
69745
69746
69747 --
69748 AcctLineType_21 (
69749 p_application_id => p_application_id
69750 ,p_event_id => l_event_id
69751 ,p_calculate_acctd_flag => l_calculate_acctd_flag
69752 ,p_calculate_g_l_flag => l_calculate_g_l_flag
69753 ,p_actual_flag => l_actual_flag
69754 ,p_balance_type_code => l_balance_type_code
69755 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
69756
69757 , p_source_15 => l_array_source_15(Idx)
69758 , p_source_15_meaning => l_array_source_15_meaning(Idx)
69759 , p_source_18 => l_array_source_18(Idx)
69760 , p_source_18_meaning => l_array_source_18_meaning(Idx)
69761 , p_source_19 => l_array_source_19(Idx)
69762 , p_source_21 => l_array_source_21(Idx)
69763 , p_source_23 => l_array_source_23(Idx)
69764 , p_source_24 => g_array_event(l_event_id).array_value_num('source_24')
69765 , p_source_30 => l_array_source_30(Idx)
69766 , p_source_31 => l_array_source_31(Idx)
69767 , p_source_32 => l_array_source_32(Idx)
69768 , p_source_33 => g_array_event(l_event_id).array_value_char('source_33')
69769 , p_source_34 => l_array_source_34(Idx)
69770 , p_source_35 => l_array_source_35(Idx)
69771 , p_source_36 => l_array_source_36(Idx)
69772 , p_source_37 => l_array_source_37(Idx)
69773 , p_source_38 => l_array_source_38(Idx)
69774 , p_source_43 => l_array_source_43(Idx)
69775 , p_source_44 => l_array_source_44(Idx)
69776 , p_source_45 => l_array_source_45(Idx)
69777 , p_source_46 => l_array_source_46(Idx)
69778 , p_source_46_meaning => l_array_source_46_meaning(Idx)
69779 , p_source_49 => g_array_event(l_event_id).array_value_char('source_49')
69780 , p_source_50 => l_array_source_50(Idx)
69781 , p_source_52 => l_array_source_52(Idx)
69782 , p_source_53 => l_array_source_53(Idx)
69783 , p_source_54 => l_array_source_54(Idx)
69784 , p_source_55 => l_array_source_55(Idx)
69785 , p_source_56 => l_array_source_56(Idx)
69786 , p_source_58 => l_array_source_58(Idx)
69787 , p_source_60 => l_array_source_60(Idx)
69788 , p_source_61 => l_array_source_61(Idx)
69789 , p_source_62 => l_array_source_62(Idx)
69790 , p_source_63 => l_array_source_63(Idx)
69791 , p_source_64 => l_array_source_64(Idx)
69792 , p_source_65 => l_array_source_65(Idx)
69793 , p_source_66 => l_array_source_66(Idx)
69794 );
69795 If(l_balance_type_code = 'A') THEN
69796 l_actual_gain_loss_ref := l_gain_or_loss_ref;
69797 END IF;
69798
69799 --
69800
69801
69802 --
69803 AcctLineType_23 (
69804 p_application_id => p_application_id
69805 ,p_event_id => l_event_id
69806 ,p_calculate_acctd_flag => l_calculate_acctd_flag
69807 ,p_calculate_g_l_flag => l_calculate_g_l_flag
69808 ,p_actual_flag => l_actual_flag
69809 ,p_balance_type_code => l_balance_type_code
69810 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
69811
69812 , p_source_1 => l_array_source_1(Idx)
69813 , p_source_6 => g_array_event(l_event_id).array_value_num('source_6')
69814 , p_source_7 => g_array_event(l_event_id).array_value_char('source_7')
69815 , p_source_7_meaning => g_array_event(l_event_id).array_value_char('source_7_meaning')
69816 , p_source_8 => l_array_source_8(Idx)
69817 , p_source_9 => l_array_source_9(Idx)
69818 , p_source_9_meaning => l_array_source_9_meaning(Idx)
69819 , p_source_10 => g_array_event(l_event_id).array_value_num('source_10')
69820 , p_source_11 => l_array_source_11(Idx)
69821 , p_source_12 => g_array_event(l_event_id).array_value_char('source_12')
69822 , p_source_12_meaning => g_array_event(l_event_id).array_value_char('source_12_meaning')
69823 , p_source_15 => l_array_source_15(Idx)
69824 , p_source_15_meaning => l_array_source_15_meaning(Idx)
69828 , p_source_21 => l_array_source_21(Idx)
69825 , p_source_17 => g_array_event(l_event_id).array_value_char('source_17')
69826 , p_source_17_meaning => g_array_event(l_event_id).array_value_char('source_17_meaning')
69827 , p_source_19 => l_array_source_19(Idx)
69829 , p_source_23 => l_array_source_23(Idx)
69830 , p_source_24 => g_array_event(l_event_id).array_value_num('source_24')
69831 , p_source_25 => l_array_source_25(Idx)
69832 , p_source_26 => l_array_source_26(Idx)
69833 , p_source_27 => l_array_source_27(Idx)
69834 , p_source_28 => l_array_source_28(Idx)
69835 , p_source_29 => l_array_source_29(Idx)
69836 , p_source_30 => l_array_source_30(Idx)
69837 , p_source_31 => l_array_source_31(Idx)
69838 , p_source_32 => l_array_source_32(Idx)
69839 , p_source_33 => g_array_event(l_event_id).array_value_char('source_33')
69840 , p_source_34 => l_array_source_34(Idx)
69841 , p_source_35 => l_array_source_35(Idx)
69842 , p_source_36 => l_array_source_36(Idx)
69843 , p_source_37 => l_array_source_37(Idx)
69844 , p_source_38 => l_array_source_38(Idx)
69845 , p_source_39 => g_array_event(l_event_id).array_value_date('source_39')
69846 , p_source_40 => g_array_event(l_event_id).array_value_num('source_40')
69847 , p_source_41 => g_array_event(l_event_id).array_value_char('source_41')
69848 , p_source_43 => l_array_source_43(Idx)
69849 , p_source_44 => l_array_source_44(Idx)
69850 , p_source_45 => l_array_source_45(Idx)
69851 , p_source_46 => l_array_source_46(Idx)
69852 , p_source_46_meaning => l_array_source_46_meaning(Idx)
69853 , p_source_47 => g_array_event(l_event_id).array_value_num('source_47')
69854 , p_source_48 => g_array_event(l_event_id).array_value_num('source_48')
69855 , p_source_49 => g_array_event(l_event_id).array_value_char('source_49')
69856 , p_source_50 => l_array_source_50(Idx)
69857 , p_source_52 => l_array_source_52(Idx)
69858 , p_source_53 => l_array_source_53(Idx)
69859 , p_source_54 => l_array_source_54(Idx)
69860 , p_source_55 => l_array_source_55(Idx)
69861 , p_source_56 => l_array_source_56(Idx)
69862 , p_source_65 => l_array_source_65(Idx)
69863 , p_source_66 => l_array_source_66(Idx)
69864 );
69865 If(l_balance_type_code = 'A') THEN
69866 l_actual_gain_loss_ref := l_gain_or_loss_ref;
69867 END IF;
69868
69869 --
69870
69871
69872 --
69873 AcctLineType_27 (
69874 p_application_id => p_application_id
69875 ,p_event_id => l_event_id
69876 ,p_calculate_acctd_flag => l_calculate_acctd_flag
69877 ,p_calculate_g_l_flag => l_calculate_g_l_flag
69878 ,p_actual_flag => l_actual_flag
69879 ,p_balance_type_code => l_balance_type_code
69880 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
69881
69882 , p_source_1 => l_array_source_1(Idx)
69883 , p_source_11 => l_array_source_11(Idx)
69884 , p_source_15 => l_array_source_15(Idx)
69885 , p_source_15_meaning => l_array_source_15_meaning(Idx)
69886 , p_source_17 => g_array_event(l_event_id).array_value_char('source_17')
69887 , p_source_17_meaning => g_array_event(l_event_id).array_value_char('source_17_meaning')
69888 , p_source_19 => l_array_source_19(Idx)
69889 , p_source_21 => l_array_source_21(Idx)
69890 , p_source_23 => l_array_source_23(Idx)
69891 , p_source_24 => g_array_event(l_event_id).array_value_num('source_24')
69892 , p_source_25 => l_array_source_25(Idx)
69893 , p_source_26 => l_array_source_26(Idx)
69894 , p_source_27 => l_array_source_27(Idx)
69895 , p_source_28 => l_array_source_28(Idx)
69896 , p_source_29 => l_array_source_29(Idx)
69897 , p_source_30 => l_array_source_30(Idx)
69898 , p_source_31 => l_array_source_31(Idx)
69899 , p_source_32 => l_array_source_32(Idx)
69900 , p_source_33 => g_array_event(l_event_id).array_value_char('source_33')
69901 , p_source_34 => l_array_source_34(Idx)
69902 , p_source_35 => l_array_source_35(Idx)
69903 , p_source_36 => l_array_source_36(Idx)
69904 , p_source_37 => l_array_source_37(Idx)
69905 , p_source_38 => l_array_source_38(Idx)
69906 , p_source_39 => g_array_event(l_event_id).array_value_date('source_39')
69907 , p_source_40 => g_array_event(l_event_id).array_value_num('source_40')
69908 , p_source_41 => g_array_event(l_event_id).array_value_char('source_41')
69909 , p_source_43 => l_array_source_43(Idx)
69910 , p_source_44 => l_array_source_44(Idx)
69911 , p_source_45 => l_array_source_45(Idx)
69912 , p_source_46 => l_array_source_46(Idx)
69913 , p_source_46_meaning => l_array_source_46_meaning(Idx)
69914 , p_source_47 => g_array_event(l_event_id).array_value_num('source_47')
69915 , p_source_48 => g_array_event(l_event_id).array_value_num('source_48')
69916 , p_source_49 => g_array_event(l_event_id).array_value_char('source_49')
69917 , p_source_50 => l_array_source_50(Idx)
69918 , p_source_52 => l_array_source_52(Idx)
69919 , p_source_53 => l_array_source_53(Idx)
69920 , p_source_54 => l_array_source_54(Idx)
69921 , p_source_55 => l_array_source_55(Idx)
69922 , p_source_56 => l_array_source_56(Idx)
69923 , p_source_65 => l_array_source_65(Idx)
69924 , p_source_66 => l_array_source_66(Idx)
69925 );
69926 If(l_balance_type_code = 'A') THEN
69927 l_actual_gain_loss_ref := l_gain_or_loss_ref;
69928 END IF;
69929
69930 --
69931
69932
69933 --
69934 AcctLineType_34 (
69935 p_application_id => p_application_id
69936 ,p_event_id => l_event_id
69937 ,p_calculate_acctd_flag => l_calculate_acctd_flag
69938 ,p_calculate_g_l_flag => l_calculate_g_l_flag
69939 ,p_actual_flag => l_actual_flag
69943 , p_source_1 => l_array_source_1(Idx)
69940 ,p_balance_type_code => l_balance_type_code
69941 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
69942
69944 , p_source_11 => l_array_source_11(Idx)
69945 , p_source_15 => l_array_source_15(Idx)
69946 , p_source_15_meaning => l_array_source_15_meaning(Idx)
69947 , p_source_17 => g_array_event(l_event_id).array_value_char('source_17')
69948 , p_source_17_meaning => g_array_event(l_event_id).array_value_char('source_17_meaning')
69949 , p_source_19 => l_array_source_19(Idx)
69950 , p_source_21 => l_array_source_21(Idx)
69951 , p_source_23 => l_array_source_23(Idx)
69952 , p_source_24 => g_array_event(l_event_id).array_value_num('source_24')
69953 , p_source_25 => l_array_source_25(Idx)
69954 , p_source_26 => l_array_source_26(Idx)
69955 , p_source_27 => l_array_source_27(Idx)
69956 , p_source_28 => l_array_source_28(Idx)
69957 , p_source_29 => l_array_source_29(Idx)
69958 , p_source_30 => l_array_source_30(Idx)
69959 , p_source_31 => l_array_source_31(Idx)
69960 , p_source_32 => l_array_source_32(Idx)
69961 , p_source_33 => g_array_event(l_event_id).array_value_char('source_33')
69962 , p_source_34 => l_array_source_34(Idx)
69963 , p_source_35 => l_array_source_35(Idx)
69964 , p_source_36 => l_array_source_36(Idx)
69965 , p_source_37 => l_array_source_37(Idx)
69966 , p_source_38 => l_array_source_38(Idx)
69967 , p_source_39 => g_array_event(l_event_id).array_value_date('source_39')
69968 , p_source_40 => g_array_event(l_event_id).array_value_num('source_40')
69969 , p_source_41 => g_array_event(l_event_id).array_value_char('source_41')
69970 , p_source_43 => l_array_source_43(Idx)
69971 , p_source_44 => l_array_source_44(Idx)
69972 , p_source_45 => l_array_source_45(Idx)
69973 , p_source_46 => l_array_source_46(Idx)
69974 , p_source_46_meaning => l_array_source_46_meaning(Idx)
69975 , p_source_47 => g_array_event(l_event_id).array_value_num('source_47')
69976 , p_source_48 => g_array_event(l_event_id).array_value_num('source_48')
69977 , p_source_49 => g_array_event(l_event_id).array_value_char('source_49')
69978 , p_source_50 => l_array_source_50(Idx)
69979 , p_source_52 => l_array_source_52(Idx)
69980 , p_source_53 => l_array_source_53(Idx)
69981 , p_source_54 => l_array_source_54(Idx)
69982 , p_source_55 => l_array_source_55(Idx)
69983 , p_source_56 => l_array_source_56(Idx)
69984 , p_source_65 => l_array_source_65(Idx)
69985 , p_source_66 => l_array_source_66(Idx)
69986 );
69987 If(l_balance_type_code = 'A') THEN
69988 l_actual_gain_loss_ref := l_gain_or_loss_ref;
69989 END IF;
69990
69991 --
69992
69993
69994 --
69995 AcctLineType_38 (
69996 p_application_id => p_application_id
69997 ,p_event_id => l_event_id
69998 ,p_calculate_acctd_flag => l_calculate_acctd_flag
69999 ,p_calculate_g_l_flag => l_calculate_g_l_flag
70000 ,p_actual_flag => l_actual_flag
70001 ,p_balance_type_code => l_balance_type_code
70002 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
70003
70004 , p_source_1 => l_array_source_1(Idx)
70005 , p_source_11 => l_array_source_11(Idx)
70006 , p_source_15 => l_array_source_15(Idx)
70007 , p_source_15_meaning => l_array_source_15_meaning(Idx)
70008 , p_source_17 => g_array_event(l_event_id).array_value_char('source_17')
70009 , p_source_17_meaning => g_array_event(l_event_id).array_value_char('source_17_meaning')
70010 , p_source_18 => l_array_source_18(Idx)
70011 , p_source_18_meaning => l_array_source_18_meaning(Idx)
70012 , p_source_19 => l_array_source_19(Idx)
70013 , p_source_21 => l_array_source_21(Idx)
70014 , p_source_23 => l_array_source_23(Idx)
70015 , p_source_24 => g_array_event(l_event_id).array_value_num('source_24')
70016 , p_source_25 => l_array_source_25(Idx)
70017 , p_source_26 => l_array_source_26(Idx)
70018 , p_source_27 => l_array_source_27(Idx)
70019 , p_source_28 => l_array_source_28(Idx)
70020 , p_source_29 => l_array_source_29(Idx)
70021 , p_source_30 => l_array_source_30(Idx)
70022 , p_source_31 => l_array_source_31(Idx)
70023 , p_source_32 => l_array_source_32(Idx)
70024 , p_source_33 => g_array_event(l_event_id).array_value_char('source_33')
70025 , p_source_34 => l_array_source_34(Idx)
70026 , p_source_35 => l_array_source_35(Idx)
70027 , p_source_36 => l_array_source_36(Idx)
70028 , p_source_37 => l_array_source_37(Idx)
70029 , p_source_38 => l_array_source_38(Idx)
70030 , p_source_39 => g_array_event(l_event_id).array_value_date('source_39')
70031 , p_source_40 => g_array_event(l_event_id).array_value_num('source_40')
70032 , p_source_41 => g_array_event(l_event_id).array_value_char('source_41')
70033 , p_source_43 => l_array_source_43(Idx)
70034 , p_source_44 => l_array_source_44(Idx)
70035 , p_source_45 => l_array_source_45(Idx)
70036 , p_source_46 => l_array_source_46(Idx)
70037 , p_source_46_meaning => l_array_source_46_meaning(Idx)
70038 , p_source_47 => g_array_event(l_event_id).array_value_num('source_47')
70039 , p_source_48 => g_array_event(l_event_id).array_value_num('source_48')
70040 , p_source_49 => g_array_event(l_event_id).array_value_char('source_49')
70041 , p_source_50 => l_array_source_50(Idx)
70042 , p_source_52 => l_array_source_52(Idx)
70043 , p_source_53 => l_array_source_53(Idx)
70044 , p_source_54 => l_array_source_54(Idx)
70045 , p_source_55 => l_array_source_55(Idx)
70046 , p_source_56 => l_array_source_56(Idx)
70047 , p_source_65 => l_array_source_65(Idx)
70048 , p_source_66 => l_array_source_66(Idx)
70049 );
70050 If(l_balance_type_code = 'A') THEN
70051 l_actual_gain_loss_ref := l_gain_or_loss_ref;
70055
70052 END IF;
70053
70054 --
70056
70057 --
70058 AcctLineType_42 (
70059 p_application_id => p_application_id
70060 ,p_event_id => l_event_id
70061 ,p_calculate_acctd_flag => l_calculate_acctd_flag
70062 ,p_calculate_g_l_flag => l_calculate_g_l_flag
70063 ,p_actual_flag => l_actual_flag
70064 ,p_balance_type_code => l_balance_type_code
70065 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
70066
70067 , p_source_1 => l_array_source_1(Idx)
70068 , p_source_11 => l_array_source_11(Idx)
70069 , p_source_15 => l_array_source_15(Idx)
70070 , p_source_15_meaning => l_array_source_15_meaning(Idx)
70071 , p_source_17 => g_array_event(l_event_id).array_value_char('source_17')
70072 , p_source_17_meaning => g_array_event(l_event_id).array_value_char('source_17_meaning')
70073 , p_source_19 => l_array_source_19(Idx)
70074 , p_source_21 => l_array_source_21(Idx)
70075 , p_source_23 => l_array_source_23(Idx)
70076 , p_source_24 => g_array_event(l_event_id).array_value_num('source_24')
70077 , p_source_25 => l_array_source_25(Idx)
70078 , p_source_26 => l_array_source_26(Idx)
70079 , p_source_27 => l_array_source_27(Idx)
70080 , p_source_28 => l_array_source_28(Idx)
70081 , p_source_29 => l_array_source_29(Idx)
70082 , p_source_30 => l_array_source_30(Idx)
70083 , p_source_31 => l_array_source_31(Idx)
70084 , p_source_32 => l_array_source_32(Idx)
70085 , p_source_33 => g_array_event(l_event_id).array_value_char('source_33')
70086 , p_source_34 => l_array_source_34(Idx)
70087 , p_source_35 => l_array_source_35(Idx)
70088 , p_source_36 => l_array_source_36(Idx)
70089 , p_source_37 => l_array_source_37(Idx)
70090 , p_source_38 => l_array_source_38(Idx)
70091 , p_source_39 => g_array_event(l_event_id).array_value_date('source_39')
70092 , p_source_40 => g_array_event(l_event_id).array_value_num('source_40')
70093 , p_source_41 => g_array_event(l_event_id).array_value_char('source_41')
70094 , p_source_43 => l_array_source_43(Idx)
70095 , p_source_44 => l_array_source_44(Idx)
70096 , p_source_45 => l_array_source_45(Idx)
70097 , p_source_46 => l_array_source_46(Idx)
70098 , p_source_46_meaning => l_array_source_46_meaning(Idx)
70099 , p_source_47 => g_array_event(l_event_id).array_value_num('source_47')
70100 , p_source_48 => g_array_event(l_event_id).array_value_num('source_48')
70101 , p_source_49 => g_array_event(l_event_id).array_value_char('source_49')
70102 , p_source_50 => l_array_source_50(Idx)
70103 , p_source_52 => l_array_source_52(Idx)
70104 , p_source_53 => l_array_source_53(Idx)
70105 , p_source_54 => l_array_source_54(Idx)
70106 , p_source_55 => l_array_source_55(Idx)
70107 , p_source_56 => l_array_source_56(Idx)
70108 , p_source_65 => l_array_source_65(Idx)
70109 , p_source_66 => l_array_source_66(Idx)
70110 );
70111 If(l_balance_type_code = 'A') THEN
70112 l_actual_gain_loss_ref := l_gain_or_loss_ref;
70113 END IF;
70114
70115 --
70116
70117
70118 --
70119 AcctLineType_46 (
70120 p_application_id => p_application_id
70121 ,p_event_id => l_event_id
70122 ,p_calculate_acctd_flag => l_calculate_acctd_flag
70123 ,p_calculate_g_l_flag => l_calculate_g_l_flag
70124 ,p_actual_flag => l_actual_flag
70125 ,p_balance_type_code => l_balance_type_code
70126 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
70127
70128 , p_source_1 => l_array_source_1(Idx)
70129 , p_source_11 => l_array_source_11(Idx)
70130 , p_source_15 => l_array_source_15(Idx)
70131 , p_source_15_meaning => l_array_source_15_meaning(Idx)
70132 , p_source_17 => g_array_event(l_event_id).array_value_char('source_17')
70133 , p_source_17_meaning => g_array_event(l_event_id).array_value_char('source_17_meaning')
70134 , p_source_18 => l_array_source_18(Idx)
70135 , p_source_18_meaning => l_array_source_18_meaning(Idx)
70136 , p_source_19 => l_array_source_19(Idx)
70137 , p_source_21 => l_array_source_21(Idx)
70138 , p_source_23 => l_array_source_23(Idx)
70139 , p_source_24 => g_array_event(l_event_id).array_value_num('source_24')
70140 , p_source_25 => l_array_source_25(Idx)
70141 , p_source_26 => l_array_source_26(Idx)
70142 , p_source_27 => l_array_source_27(Idx)
70143 , p_source_28 => l_array_source_28(Idx)
70144 , p_source_29 => l_array_source_29(Idx)
70145 , p_source_30 => l_array_source_30(Idx)
70146 , p_source_31 => l_array_source_31(Idx)
70147 , p_source_32 => l_array_source_32(Idx)
70148 , p_source_33 => g_array_event(l_event_id).array_value_char('source_33')
70149 , p_source_34 => l_array_source_34(Idx)
70150 , p_source_35 => l_array_source_35(Idx)
70151 , p_source_36 => l_array_source_36(Idx)
70152 , p_source_37 => l_array_source_37(Idx)
70153 , p_source_38 => l_array_source_38(Idx)
70154 , p_source_39 => g_array_event(l_event_id).array_value_date('source_39')
70155 , p_source_40 => g_array_event(l_event_id).array_value_num('source_40')
70156 , p_source_41 => g_array_event(l_event_id).array_value_char('source_41')
70157 , p_source_43 => l_array_source_43(Idx)
70158 , p_source_44 => l_array_source_44(Idx)
70159 , p_source_45 => l_array_source_45(Idx)
70160 , p_source_46 => l_array_source_46(Idx)
70161 , p_source_46_meaning => l_array_source_46_meaning(Idx)
70162 , p_source_47 => g_array_event(l_event_id).array_value_num('source_47')
70163 , p_source_48 => g_array_event(l_event_id).array_value_num('source_48')
70164 , p_source_49 => g_array_event(l_event_id).array_value_char('source_49')
70165 , p_source_50 => l_array_source_50(Idx)
70166 , p_source_52 => l_array_source_52(Idx)
70167 , p_source_53 => l_array_source_53(Idx)
70168 , p_source_54 => l_array_source_54(Idx)
70169 , p_source_55 => l_array_source_55(Idx)
70173 , p_source_65 => l_array_source_65(Idx)
70170 , p_source_56 => l_array_source_56(Idx)
70171 , p_source_59 => l_array_source_59(Idx)
70172 , p_source_59_meaning => l_array_source_59_meaning(Idx)
70174 , p_source_66 => l_array_source_66(Idx)
70175 );
70176 If(l_balance_type_code = 'A') THEN
70177 l_actual_gain_loss_ref := l_gain_or_loss_ref;
70178 END IF;
70179
70180 --
70181
70182
70183 --
70184 AcctLineType_55 (
70185 p_application_id => p_application_id
70186 ,p_event_id => l_event_id
70187 ,p_calculate_acctd_flag => l_calculate_acctd_flag
70188 ,p_calculate_g_l_flag => l_calculate_g_l_flag
70189 ,p_actual_flag => l_actual_flag
70190 ,p_balance_type_code => l_balance_type_code
70191 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
70192
70193 , p_source_1 => l_array_source_1(Idx)
70194 , p_source_11 => l_array_source_11(Idx)
70195 , p_source_15 => l_array_source_15(Idx)
70196 , p_source_15_meaning => l_array_source_15_meaning(Idx)
70197 , p_source_16 => l_array_source_16(Idx)
70198 , p_source_17 => g_array_event(l_event_id).array_value_char('source_17')
70199 , p_source_17_meaning => g_array_event(l_event_id).array_value_char('source_17_meaning')
70200 , p_source_18 => l_array_source_18(Idx)
70201 , p_source_18_meaning => l_array_source_18_meaning(Idx)
70202 , p_source_19 => l_array_source_19(Idx)
70203 , p_source_21 => l_array_source_21(Idx)
70204 , p_source_23 => l_array_source_23(Idx)
70205 , p_source_24 => g_array_event(l_event_id).array_value_num('source_24')
70206 , p_source_25 => l_array_source_25(Idx)
70207 , p_source_26 => l_array_source_26(Idx)
70208 , p_source_27 => l_array_source_27(Idx)
70209 , p_source_28 => l_array_source_28(Idx)
70210 , p_source_29 => l_array_source_29(Idx)
70211 , p_source_30 => l_array_source_30(Idx)
70212 , p_source_31 => l_array_source_31(Idx)
70213 , p_source_32 => l_array_source_32(Idx)
70214 , p_source_33 => g_array_event(l_event_id).array_value_char('source_33')
70215 , p_source_34 => l_array_source_34(Idx)
70216 , p_source_35 => l_array_source_35(Idx)
70217 , p_source_36 => l_array_source_36(Idx)
70218 , p_source_37 => l_array_source_37(Idx)
70219 , p_source_38 => l_array_source_38(Idx)
70220 , p_source_39 => g_array_event(l_event_id).array_value_date('source_39')
70221 , p_source_40 => g_array_event(l_event_id).array_value_num('source_40')
70222 , p_source_41 => g_array_event(l_event_id).array_value_char('source_41')
70223 , p_source_43 => l_array_source_43(Idx)
70224 , p_source_44 => l_array_source_44(Idx)
70225 , p_source_45 => l_array_source_45(Idx)
70226 , p_source_46 => l_array_source_46(Idx)
70227 , p_source_46_meaning => l_array_source_46_meaning(Idx)
70228 , p_source_47 => g_array_event(l_event_id).array_value_num('source_47')
70229 , p_source_48 => g_array_event(l_event_id).array_value_num('source_48')
70230 , p_source_49 => g_array_event(l_event_id).array_value_char('source_49')
70231 , p_source_50 => l_array_source_50(Idx)
70232 , p_source_52 => l_array_source_52(Idx)
70233 , p_source_53 => l_array_source_53(Idx)
70234 , p_source_54 => l_array_source_54(Idx)
70235 , p_source_55 => l_array_source_55(Idx)
70236 , p_source_56 => l_array_source_56(Idx)
70237 , p_source_81 => l_array_source_81(Idx)
70238 , p_source_82 => l_array_source_82(Idx)
70239 );
70240 If(l_balance_type_code = 'A') THEN
70241 l_actual_gain_loss_ref := l_gain_or_loss_ref;
70242 END IF;
70243
70244 --
70245
70246
70247 --
70248 AcctLineType_58 (
70249 p_application_id => p_application_id
70250 ,p_event_id => l_event_id
70251 ,p_calculate_acctd_flag => l_calculate_acctd_flag
70252 ,p_calculate_g_l_flag => l_calculate_g_l_flag
70253 ,p_actual_flag => l_actual_flag
70254 ,p_balance_type_code => l_balance_type_code
70255 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
70256
70257 , p_source_1 => l_array_source_1(Idx)
70258 , p_source_11 => l_array_source_11(Idx)
70259 , p_source_15 => l_array_source_15(Idx)
70260 , p_source_15_meaning => l_array_source_15_meaning(Idx)
70261 , p_source_17 => g_array_event(l_event_id).array_value_char('source_17')
70262 , p_source_17_meaning => g_array_event(l_event_id).array_value_char('source_17_meaning')
70263 , p_source_19 => l_array_source_19(Idx)
70264 , p_source_21 => l_array_source_21(Idx)
70265 , p_source_23 => l_array_source_23(Idx)
70266 , p_source_24 => g_array_event(l_event_id).array_value_num('source_24')
70267 , p_source_25 => l_array_source_25(Idx)
70268 , p_source_26 => l_array_source_26(Idx)
70269 , p_source_27 => l_array_source_27(Idx)
70270 , p_source_28 => l_array_source_28(Idx)
70271 , p_source_29 => l_array_source_29(Idx)
70272 , p_source_30 => l_array_source_30(Idx)
70273 , p_source_31 => l_array_source_31(Idx)
70274 , p_source_32 => l_array_source_32(Idx)
70275 , p_source_33 => g_array_event(l_event_id).array_value_char('source_33')
70276 , p_source_34 => l_array_source_34(Idx)
70277 , p_source_35 => l_array_source_35(Idx)
70278 , p_source_36 => l_array_source_36(Idx)
70279 , p_source_37 => l_array_source_37(Idx)
70280 , p_source_38 => l_array_source_38(Idx)
70281 , p_source_39 => g_array_event(l_event_id).array_value_date('source_39')
70282 , p_source_40 => g_array_event(l_event_id).array_value_num('source_40')
70283 , p_source_41 => g_array_event(l_event_id).array_value_char('source_41')
70284 , p_source_43 => l_array_source_43(Idx)
70285 , p_source_44 => l_array_source_44(Idx)
70286 , p_source_45 => l_array_source_45(Idx)
70287 , p_source_46 => l_array_source_46(Idx)
70288 , p_source_46_meaning => l_array_source_46_meaning(Idx)
70292 , p_source_50 => l_array_source_50(Idx)
70289 , p_source_47 => g_array_event(l_event_id).array_value_num('source_47')
70290 , p_source_48 => g_array_event(l_event_id).array_value_num('source_48')
70291 , p_source_49 => g_array_event(l_event_id).array_value_char('source_49')
70293 , p_source_52 => l_array_source_52(Idx)
70294 , p_source_53 => l_array_source_53(Idx)
70295 , p_source_54 => l_array_source_54(Idx)
70296 , p_source_55 => l_array_source_55(Idx)
70297 , p_source_56 => l_array_source_56(Idx)
70298 , p_source_59 => l_array_source_59(Idx)
70299 , p_source_59_meaning => l_array_source_59_meaning(Idx)
70300 , p_source_65 => l_array_source_65(Idx)
70301 , p_source_66 => l_array_source_66(Idx)
70302 );
70303 If(l_balance_type_code = 'A') THEN
70304 l_actual_gain_loss_ref := l_gain_or_loss_ref;
70305 END IF;
70306
70307 --
70308
70309
70310 --
70311 AcctLineType_63 (
70312 p_application_id => p_application_id
70313 ,p_event_id => l_event_id
70314 ,p_calculate_acctd_flag => l_calculate_acctd_flag
70315 ,p_calculate_g_l_flag => l_calculate_g_l_flag
70316 ,p_actual_flag => l_actual_flag
70317 ,p_balance_type_code => l_balance_type_code
70318 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
70319
70320 , p_source_1 => l_array_source_1(Idx)
70321 , p_source_13 => l_array_source_13(Idx)
70322 , p_source_15 => l_array_source_15(Idx)
70323 , p_source_15_meaning => l_array_source_15_meaning(Idx)
70324 , p_source_17 => g_array_event(l_event_id).array_value_char('source_17')
70325 , p_source_17_meaning => g_array_event(l_event_id).array_value_char('source_17_meaning')
70326 , p_source_19 => l_array_source_19(Idx)
70327 , p_source_21 => l_array_source_21(Idx)
70328 , p_source_23 => l_array_source_23(Idx)
70329 , p_source_24 => g_array_event(l_event_id).array_value_num('source_24')
70330 , p_source_25 => l_array_source_25(Idx)
70331 , p_source_26 => l_array_source_26(Idx)
70332 , p_source_27 => l_array_source_27(Idx)
70333 , p_source_28 => l_array_source_28(Idx)
70334 , p_source_29 => l_array_source_29(Idx)
70335 , p_source_30 => l_array_source_30(Idx)
70336 , p_source_31 => l_array_source_31(Idx)
70337 , p_source_32 => l_array_source_32(Idx)
70338 , p_source_33 => g_array_event(l_event_id).array_value_char('source_33')
70339 , p_source_34 => l_array_source_34(Idx)
70340 , p_source_35 => l_array_source_35(Idx)
70341 , p_source_36 => l_array_source_36(Idx)
70342 , p_source_37 => l_array_source_37(Idx)
70343 , p_source_38 => l_array_source_38(Idx)
70344 , p_source_39 => g_array_event(l_event_id).array_value_date('source_39')
70345 , p_source_40 => g_array_event(l_event_id).array_value_num('source_40')
70346 , p_source_41 => g_array_event(l_event_id).array_value_char('source_41')
70347 , p_source_43 => l_array_source_43(Idx)
70348 , p_source_44 => l_array_source_44(Idx)
70349 , p_source_45 => l_array_source_45(Idx)
70350 , p_source_46 => l_array_source_46(Idx)
70351 , p_source_46_meaning => l_array_source_46_meaning(Idx)
70352 , p_source_47 => g_array_event(l_event_id).array_value_num('source_47')
70353 , p_source_48 => g_array_event(l_event_id).array_value_num('source_48')
70354 , p_source_49 => g_array_event(l_event_id).array_value_char('source_49')
70355 , p_source_50 => l_array_source_50(Idx)
70356 , p_source_52 => l_array_source_52(Idx)
70357 , p_source_53 => l_array_source_53(Idx)
70358 , p_source_54 => l_array_source_54(Idx)
70359 , p_source_55 => l_array_source_55(Idx)
70360 , p_source_56 => l_array_source_56(Idx)
70361 , p_source_59 => l_array_source_59(Idx)
70362 , p_source_59_meaning => l_array_source_59_meaning(Idx)
70363 , p_source_65 => l_array_source_65(Idx)
70364 , p_source_66 => l_array_source_66(Idx)
70365 );
70366 If(l_balance_type_code = 'A') THEN
70367 l_actual_gain_loss_ref := l_gain_or_loss_ref;
70368 END IF;
70369
70370 --
70371
70372
70373 --
70374 AcctLineType_67 (
70375 p_application_id => p_application_id
70376 ,p_event_id => l_event_id
70377 ,p_calculate_acctd_flag => l_calculate_acctd_flag
70378 ,p_calculate_g_l_flag => l_calculate_g_l_flag
70379 ,p_actual_flag => l_actual_flag
70380 ,p_balance_type_code => l_balance_type_code
70381 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
70382
70383 , p_source_1 => l_array_source_1(Idx)
70384 , p_source_11 => l_array_source_11(Idx)
70385 , p_source_15 => l_array_source_15(Idx)
70386 , p_source_15_meaning => l_array_source_15_meaning(Idx)
70387 , p_source_16 => l_array_source_16(Idx)
70388 , p_source_17 => g_array_event(l_event_id).array_value_char('source_17')
70389 , p_source_17_meaning => g_array_event(l_event_id).array_value_char('source_17_meaning')
70390 , p_source_18 => l_array_source_18(Idx)
70391 , p_source_18_meaning => l_array_source_18_meaning(Idx)
70392 , p_source_19 => l_array_source_19(Idx)
70393 , p_source_21 => l_array_source_21(Idx)
70394 , p_source_23 => l_array_source_23(Idx)
70395 , p_source_24 => g_array_event(l_event_id).array_value_num('source_24')
70396 , p_source_25 => l_array_source_25(Idx)
70397 , p_source_26 => l_array_source_26(Idx)
70398 , p_source_27 => l_array_source_27(Idx)
70399 , p_source_28 => l_array_source_28(Idx)
70400 , p_source_29 => l_array_source_29(Idx)
70401 , p_source_30 => l_array_source_30(Idx)
70402 , p_source_31 => l_array_source_31(Idx)
70403 , p_source_32 => l_array_source_32(Idx)
70404 , p_source_33 => g_array_event(l_event_id).array_value_char('source_33')
70405 , p_source_34 => l_array_source_34(Idx)
70406 , p_source_35 => l_array_source_35(Idx)
70407 , p_source_36 => l_array_source_36(Idx)
70411 , p_source_40 => g_array_event(l_event_id).array_value_num('source_40')
70408 , p_source_37 => l_array_source_37(Idx)
70409 , p_source_38 => l_array_source_38(Idx)
70410 , p_source_39 => g_array_event(l_event_id).array_value_date('source_39')
70412 , p_source_41 => g_array_event(l_event_id).array_value_char('source_41')
70413 , p_source_42 => l_array_source_42(Idx)
70414 , p_source_43 => l_array_source_43(Idx)
70415 , p_source_44 => l_array_source_44(Idx)
70416 , p_source_45 => l_array_source_45(Idx)
70417 , p_source_46 => l_array_source_46(Idx)
70418 , p_source_46_meaning => l_array_source_46_meaning(Idx)
70419 , p_source_47 => g_array_event(l_event_id).array_value_num('source_47')
70420 , p_source_48 => g_array_event(l_event_id).array_value_num('source_48')
70421 , p_source_49 => g_array_event(l_event_id).array_value_char('source_49')
70422 , p_source_50 => l_array_source_50(Idx)
70423 , p_source_52 => l_array_source_52(Idx)
70424 , p_source_53 => l_array_source_53(Idx)
70425 , p_source_54 => l_array_source_54(Idx)
70426 , p_source_55 => l_array_source_55(Idx)
70427 , p_source_56 => l_array_source_56(Idx)
70428 );
70429 If(l_balance_type_code = 'A') THEN
70430 l_actual_gain_loss_ref := l_gain_or_loss_ref;
70431 END IF;
70432
70433 --
70434
70435
70436 --
70437 AcctLineType_71 (
70438 p_application_id => p_application_id
70439 ,p_event_id => l_event_id
70440 ,p_calculate_acctd_flag => l_calculate_acctd_flag
70441 ,p_calculate_g_l_flag => l_calculate_g_l_flag
70442 ,p_actual_flag => l_actual_flag
70443 ,p_balance_type_code => l_balance_type_code
70444 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
70445
70446 , p_source_1 => l_array_source_1(Idx)
70447 , p_source_6 => g_array_event(l_event_id).array_value_num('source_6')
70448 , p_source_7 => g_array_event(l_event_id).array_value_char('source_7')
70449 , p_source_7_meaning => g_array_event(l_event_id).array_value_char('source_7_meaning')
70450 , p_source_8 => l_array_source_8(Idx)
70451 , p_source_9 => l_array_source_9(Idx)
70452 , p_source_9_meaning => l_array_source_9_meaning(Idx)
70453 , p_source_10 => g_array_event(l_event_id).array_value_num('source_10')
70454 , p_source_11 => l_array_source_11(Idx)
70455 , p_source_12 => g_array_event(l_event_id).array_value_char('source_12')
70456 , p_source_12_meaning => g_array_event(l_event_id).array_value_char('source_12_meaning')
70457 , p_source_15 => l_array_source_15(Idx)
70458 , p_source_15_meaning => l_array_source_15_meaning(Idx)
70459 , p_source_17 => g_array_event(l_event_id).array_value_char('source_17')
70460 , p_source_17_meaning => g_array_event(l_event_id).array_value_char('source_17_meaning')
70461 , p_source_19 => l_array_source_19(Idx)
70462 , p_source_21 => l_array_source_21(Idx)
70463 , p_source_23 => l_array_source_23(Idx)
70464 , p_source_24 => g_array_event(l_event_id).array_value_num('source_24')
70465 , p_source_25 => l_array_source_25(Idx)
70466 , p_source_26 => l_array_source_26(Idx)
70467 , p_source_27 => l_array_source_27(Idx)
70468 , p_source_28 => l_array_source_28(Idx)
70469 , p_source_29 => l_array_source_29(Idx)
70470 , p_source_30 => l_array_source_30(Idx)
70471 , p_source_31 => l_array_source_31(Idx)
70472 , p_source_32 => l_array_source_32(Idx)
70473 , p_source_33 => g_array_event(l_event_id).array_value_char('source_33')
70474 , p_source_34 => l_array_source_34(Idx)
70475 , p_source_35 => l_array_source_35(Idx)
70476 , p_source_36 => l_array_source_36(Idx)
70477 , p_source_37 => l_array_source_37(Idx)
70478 , p_source_38 => l_array_source_38(Idx)
70479 , p_source_39 => g_array_event(l_event_id).array_value_date('source_39')
70480 , p_source_40 => g_array_event(l_event_id).array_value_num('source_40')
70481 , p_source_41 => g_array_event(l_event_id).array_value_char('source_41')
70482 , p_source_43 => l_array_source_43(Idx)
70483 , p_source_44 => l_array_source_44(Idx)
70484 , p_source_45 => l_array_source_45(Idx)
70485 , p_source_46 => l_array_source_46(Idx)
70486 , p_source_46_meaning => l_array_source_46_meaning(Idx)
70487 , p_source_47 => g_array_event(l_event_id).array_value_num('source_47')
70488 , p_source_48 => g_array_event(l_event_id).array_value_num('source_48')
70489 , p_source_49 => g_array_event(l_event_id).array_value_char('source_49')
70490 , p_source_50 => l_array_source_50(Idx)
70491 , p_source_52 => l_array_source_52(Idx)
70492 , p_source_53 => l_array_source_53(Idx)
70493 , p_source_54 => l_array_source_54(Idx)
70494 , p_source_55 => l_array_source_55(Idx)
70495 , p_source_56 => l_array_source_56(Idx)
70496 , p_source_65 => l_array_source_65(Idx)
70497 , p_source_66 => l_array_source_66(Idx)
70498 );
70499 If(l_balance_type_code = 'A') THEN
70500 l_actual_gain_loss_ref := l_gain_or_loss_ref;
70501 END IF;
70502
70503 --
70504
70505
70506 --
70507 AcctLineType_74 (
70508 p_application_id => p_application_id
70509 ,p_event_id => l_event_id
70510 ,p_calculate_acctd_flag => l_calculate_acctd_flag
70511 ,p_calculate_g_l_flag => l_calculate_g_l_flag
70512 ,p_actual_flag => l_actual_flag
70513 ,p_balance_type_code => l_balance_type_code
70514 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
70515
70516 , p_source_1 => l_array_source_1(Idx)
70517 , p_source_11 => l_array_source_11(Idx)
70518 , p_source_15 => l_array_source_15(Idx)
70519 , p_source_15_meaning => l_array_source_15_meaning(Idx)
70520 , p_source_17 => g_array_event(l_event_id).array_value_char('source_17')
70521 , p_source_17_meaning => g_array_event(l_event_id).array_value_char('source_17_meaning')
70522 , p_source_19 => l_array_source_19(Idx)
70523 , p_source_21 => l_array_source_21(Idx)
70527 , p_source_26 => l_array_source_26(Idx)
70524 , p_source_23 => l_array_source_23(Idx)
70525 , p_source_24 => g_array_event(l_event_id).array_value_num('source_24')
70526 , p_source_25 => l_array_source_25(Idx)
70528 , p_source_27 => l_array_source_27(Idx)
70529 , p_source_28 => l_array_source_28(Idx)
70530 , p_source_29 => l_array_source_29(Idx)
70531 , p_source_30 => l_array_source_30(Idx)
70532 , p_source_31 => l_array_source_31(Idx)
70533 , p_source_32 => l_array_source_32(Idx)
70534 , p_source_33 => g_array_event(l_event_id).array_value_char('source_33')
70535 , p_source_34 => l_array_source_34(Idx)
70536 , p_source_35 => l_array_source_35(Idx)
70537 , p_source_36 => l_array_source_36(Idx)
70538 , p_source_37 => l_array_source_37(Idx)
70539 , p_source_38 => l_array_source_38(Idx)
70540 , p_source_39 => g_array_event(l_event_id).array_value_date('source_39')
70541 , p_source_40 => g_array_event(l_event_id).array_value_num('source_40')
70542 , p_source_41 => g_array_event(l_event_id).array_value_char('source_41')
70543 , p_source_43 => l_array_source_43(Idx)
70544 , p_source_44 => l_array_source_44(Idx)
70545 , p_source_45 => l_array_source_45(Idx)
70546 , p_source_46 => l_array_source_46(Idx)
70547 , p_source_46_meaning => l_array_source_46_meaning(Idx)
70548 , p_source_47 => g_array_event(l_event_id).array_value_num('source_47')
70549 , p_source_48 => g_array_event(l_event_id).array_value_num('source_48')
70550 , p_source_49 => g_array_event(l_event_id).array_value_char('source_49')
70551 , p_source_50 => l_array_source_50(Idx)
70552 , p_source_52 => l_array_source_52(Idx)
70553 , p_source_53 => l_array_source_53(Idx)
70554 , p_source_54 => l_array_source_54(Idx)
70555 , p_source_55 => l_array_source_55(Idx)
70556 , p_source_56 => l_array_source_56(Idx)
70557 , p_source_65 => l_array_source_65(Idx)
70558 , p_source_66 => l_array_source_66(Idx)
70559 );
70560 If(l_balance_type_code = 'A') THEN
70561 l_actual_gain_loss_ref := l_gain_or_loss_ref;
70562 END IF;
70563
70564 --
70565
70566
70567 --
70568 AcctLineType_78 (
70569 p_application_id => p_application_id
70570 ,p_event_id => l_event_id
70571 ,p_calculate_acctd_flag => l_calculate_acctd_flag
70572 ,p_calculate_g_l_flag => l_calculate_g_l_flag
70573 ,p_actual_flag => l_actual_flag
70574 ,p_balance_type_code => l_balance_type_code
70575 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
70576
70577 , p_source_1 => l_array_source_1(Idx)
70578 , p_source_11 => l_array_source_11(Idx)
70579 , p_source_15 => l_array_source_15(Idx)
70580 , p_source_15_meaning => l_array_source_15_meaning(Idx)
70581 , p_source_17 => g_array_event(l_event_id).array_value_char('source_17')
70582 , p_source_17_meaning => g_array_event(l_event_id).array_value_char('source_17_meaning')
70583 , p_source_18 => l_array_source_18(Idx)
70584 , p_source_18_meaning => l_array_source_18_meaning(Idx)
70585 , p_source_19 => l_array_source_19(Idx)
70586 , p_source_21 => l_array_source_21(Idx)
70587 , p_source_23 => l_array_source_23(Idx)
70588 , p_source_24 => g_array_event(l_event_id).array_value_num('source_24')
70589 , p_source_25 => l_array_source_25(Idx)
70590 , p_source_26 => l_array_source_26(Idx)
70591 , p_source_27 => l_array_source_27(Idx)
70592 , p_source_28 => l_array_source_28(Idx)
70593 , p_source_29 => l_array_source_29(Idx)
70594 , p_source_30 => l_array_source_30(Idx)
70595 , p_source_31 => l_array_source_31(Idx)
70596 , p_source_32 => l_array_source_32(Idx)
70597 , p_source_33 => g_array_event(l_event_id).array_value_char('source_33')
70598 , p_source_34 => l_array_source_34(Idx)
70599 , p_source_35 => l_array_source_35(Idx)
70600 , p_source_36 => l_array_source_36(Idx)
70601 , p_source_37 => l_array_source_37(Idx)
70602 , p_source_38 => l_array_source_38(Idx)
70603 , p_source_39 => g_array_event(l_event_id).array_value_date('source_39')
70604 , p_source_40 => g_array_event(l_event_id).array_value_num('source_40')
70605 , p_source_41 => g_array_event(l_event_id).array_value_char('source_41')
70606 , p_source_43 => l_array_source_43(Idx)
70607 , p_source_44 => l_array_source_44(Idx)
70608 , p_source_45 => l_array_source_45(Idx)
70609 , p_source_46 => l_array_source_46(Idx)
70610 , p_source_46_meaning => l_array_source_46_meaning(Idx)
70611 , p_source_47 => g_array_event(l_event_id).array_value_num('source_47')
70612 , p_source_48 => g_array_event(l_event_id).array_value_num('source_48')
70613 , p_source_49 => g_array_event(l_event_id).array_value_char('source_49')
70614 , p_source_50 => l_array_source_50(Idx)
70615 , p_source_52 => l_array_source_52(Idx)
70616 , p_source_53 => l_array_source_53(Idx)
70617 , p_source_54 => l_array_source_54(Idx)
70618 , p_source_55 => l_array_source_55(Idx)
70619 , p_source_56 => l_array_source_56(Idx)
70620 , p_source_81 => l_array_source_81(Idx)
70621 , p_source_82 => l_array_source_82(Idx)
70622 );
70623 If(l_balance_type_code = 'A') THEN
70624 l_actual_gain_loss_ref := l_gain_or_loss_ref;
70625 END IF;
70626
70627 --
70628
70629
70630 --
70631 AcctLineType_82 (
70632 p_application_id => p_application_id
70633 ,p_event_id => l_event_id
70634 ,p_calculate_acctd_flag => l_calculate_acctd_flag
70635 ,p_calculate_g_l_flag => l_calculate_g_l_flag
70636 ,p_actual_flag => l_actual_flag
70637 ,p_balance_type_code => l_balance_type_code
70638 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
70639
70640 , p_source_1 => l_array_source_1(Idx)
70644 , p_source_17 => g_array_event(l_event_id).array_value_char('source_17')
70641 , p_source_11 => l_array_source_11(Idx)
70642 , p_source_15 => l_array_source_15(Idx)
70643 , p_source_15_meaning => l_array_source_15_meaning(Idx)
70645 , p_source_17_meaning => g_array_event(l_event_id).array_value_char('source_17_meaning')
70646 , p_source_19 => l_array_source_19(Idx)
70647 , p_source_21 => l_array_source_21(Idx)
70648 , p_source_23 => l_array_source_23(Idx)
70649 , p_source_24 => g_array_event(l_event_id).array_value_num('source_24')
70650 , p_source_25 => l_array_source_25(Idx)
70651 , p_source_26 => l_array_source_26(Idx)
70652 , p_source_27 => l_array_source_27(Idx)
70653 , p_source_28 => l_array_source_28(Idx)
70654 , p_source_29 => l_array_source_29(Idx)
70655 , p_source_30 => l_array_source_30(Idx)
70656 , p_source_31 => l_array_source_31(Idx)
70657 , p_source_32 => l_array_source_32(Idx)
70658 , p_source_33 => g_array_event(l_event_id).array_value_char('source_33')
70659 , p_source_34 => l_array_source_34(Idx)
70660 , p_source_35 => l_array_source_35(Idx)
70661 , p_source_36 => l_array_source_36(Idx)
70662 , p_source_37 => l_array_source_37(Idx)
70663 , p_source_38 => l_array_source_38(Idx)
70664 , p_source_39 => g_array_event(l_event_id).array_value_date('source_39')
70665 , p_source_40 => g_array_event(l_event_id).array_value_num('source_40')
70666 , p_source_41 => g_array_event(l_event_id).array_value_char('source_41')
70667 , p_source_43 => l_array_source_43(Idx)
70668 , p_source_44 => l_array_source_44(Idx)
70669 , p_source_45 => l_array_source_45(Idx)
70670 , p_source_46 => l_array_source_46(Idx)
70671 , p_source_46_meaning => l_array_source_46_meaning(Idx)
70672 , p_source_47 => g_array_event(l_event_id).array_value_num('source_47')
70673 , p_source_48 => g_array_event(l_event_id).array_value_num('source_48')
70674 , p_source_49 => g_array_event(l_event_id).array_value_char('source_49')
70675 , p_source_50 => l_array_source_50(Idx)
70676 , p_source_52 => l_array_source_52(Idx)
70677 , p_source_53 => l_array_source_53(Idx)
70678 , p_source_54 => l_array_source_54(Idx)
70679 , p_source_55 => l_array_source_55(Idx)
70680 , p_source_56 => l_array_source_56(Idx)
70681 , p_source_65 => l_array_source_65(Idx)
70682 , p_source_66 => l_array_source_66(Idx)
70683 );
70684 If(l_balance_type_code = 'A') THEN
70685 l_actual_gain_loss_ref := l_gain_or_loss_ref;
70686 END IF;
70687
70688 --
70689
70690 -- only execute it if calculate g/l flag is yes, and primary or secondary ledger
70691 -- or secondary ledger that has different currency with primary
70692 -- or alc that is calculated by sla
70693 IF (((l_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
70694 (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'))
70695
70696 -- IF((l_calculate_g_l_flag='Y' or XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id <>
70697 -- XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id)
70698 AND (l_actual_flag = 'A')) THEN
70699 XLA_AE_LINES_PKG.CreateGainOrLossLines(
70700 p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
70701 ,p_application_id => p_application_id
70702 ,p_amb_context_code => 'DEFAULT'
70703 ,p_entity_code => xla_ae_journal_entry_pkg.g_cache_event.entity_code
70704 ,p_event_class_code => C_EVENT_CLASS_CODE
70705 ,p_event_type_code => C_EVENT_TYPE_CODE
70706
70707 ,p_gain_ccid => -1
70708 ,p_loss_ccid => -1
70709
70710 ,p_actual_flag => l_actual_flag
70711 ,p_enc_flag => null
70712 ,p_actual_g_l_ref => l_actual_gain_loss_ref
70713 ,p_enc_g_l_ref => null
70714 );
70715 END IF;
70716 END IF;
70717 END IF;
70718
70719 ELSE
70720 --
70721 -- Bug 4872078 - Do nothing if the event is meant for transaction reversal
70722 --
70723 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
70724 trace
70725 (p_msg => 'Trancaction revesal option is Y'
70726 ,p_level => C_LEVEL_STATEMENT
70727 ,p_module => l_log_module);
70728 END IF;
70729 END IF;
70730
70731 END LOOP;
70732 l_result := XLA_AE_LINES_PKG.InsertLines ;
70733 end loop;
70734 close line_cur;
70735
70736
70737 --
70738 -- insert headers into xla_ae_headers_gt table
70739 --
70740 l_result := XLA_AE_HEADER_PKG.InsertHeaders ;
70741
70742 -- insert into errors table here.
70743
70744 END LOOP;
70745
70746 --
70747 -- 4865292
70748 --
70749 -- Compare g_hdr_extract_count with event count in
70750 -- CreateHeadersAndLines.
70751 --
70752 g_hdr_extract_count := g_hdr_extract_count + header_cur%ROWCOUNT;
70753
70754 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
70755 trace (p_msg => '# rows extracted from header extract objects '
70756 || ' (running total): '
70757 || g_hdr_extract_count
70758 ,p_level => C_LEVEL_STATEMENT
70759 ,p_module => l_log_module);
70760 END IF;
70761
70762 CLOSE header_cur;
70763 --
70764
70765 --
70766 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
70767 trace
70771 END IF;
70768 (p_msg => 'END of EventClass_104'
70769 ,p_level => C_LEVEL_PROCEDURE
70770 ,p_module => l_log_module);
70772 --
70773 RETURN l_result;
70774 EXCEPTION
70775 WHEN xla_exceptions_pkg.application_exception THEN
70776
70777 IF header_cur%ISOPEN THEN CLOSE header_cur; END IF;
70778
70779
70780 IF line_cur%ISOPEN THEN CLOSE line_cur; END IF;
70781
70782 RAISE;
70783
70784 WHEN NO_DATA_FOUND THEN
70785
70786 IF header_cur%ISOPEN THEN CLOSE header_cur; END IF;
70787 IF line_cur%ISOPEN THEN CLOSE line_cur; END IF;
70788
70789 FOR header_record IN header_cur
70790 LOOP
70791 l_array_header_events(header_record.event_id) := header_record.event_id;
70792 END LOOP;
70793
70794 l_first_event_id := l_array_header_events(l_array_header_events.FIRST);
70795 l_last_event_id := l_array_header_events(l_array_header_events.LAST);
70796
70797 fnd_file.put_line(fnd_file.LOG, ' ');
70798 fnd_file.put_line(fnd_file.LOG, '***************************************************************************');
70799 fnd_file.put_line(fnd_file.LOG, 'EVENT CLASS CODE = ' || C_EVENT_CLASS_CODE );
70800 fnd_file.put_line(fnd_file.LOG, 'The following events are present in the line extract but MISSING in the header extract: ');
70801
70802 FOR line_record IN line_cur(l_first_event_id, l_last_event_id)
70803 LOOP
70804 IF (NOT l_array_header_events.EXISTS(line_record.event_id)) AND (NOT l_array_duplicate_checker.EXISTS(line_record.event_id)) THEN
70805 fnd_file.put_line(fnd_file.log, 'Event_id = ' || line_record.event_id);
70806 l_array_duplicate_checker(line_record.event_id) := line_record.event_id;
70807 END IF;
70808 END LOOP;
70809
70810 fnd_file.put_line(fnd_file.LOG, '***************************************************************************');
70811 fnd_file.put_line(fnd_file.LOG, ' ');
70812
70813
70814 xla_exceptions_pkg.raise_message
70815 (p_location => 'XLA_00200_AAD_S_000006_BC_PKG.EventClass_104');
70816
70817
70818 WHEN OTHERS THEN
70819 xla_exceptions_pkg.raise_message
70820 (p_location => 'XLA_00200_AAD_S_000006_BC_PKG.EventClass_104');
70821 END EventClass_104;
70822 --
70823
70824 ---------------------------------------
70825 --
70826 -- PRIVATE PROCEDURE
70827 -- insert_sources_105
70828 --
70829 ----------------------------------------
70830 --
70831 PROCEDURE insert_sources_105(
70832 p_target_ledger_id IN NUMBER
70833 , p_language IN VARCHAR2
70834 , p_sla_ledger_id IN NUMBER
70835 , p_pad_start_date IN DATE
70836 , p_pad_end_date IN DATE
70837 )
70838 IS
70839
70840 C_EVENT_TYPE_CODE CONSTANT VARCHAR2(30) := 'INVOICES_ALL';
70841 C_EVENT_CLASS_CODE CONSTANT VARCHAR2(30) := 'INVOICES';
70842 p_apps_owner VARCHAR2(30);
70843 l_log_module VARCHAR2(240);
70844 BEGIN
70845 IF g_log_enabled THEN
70846 l_log_module := C_DEFAULT_MODULE||'.insert_sources_105';
70847 END IF;
70848 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
70849
70850 trace
70851 (p_msg => 'BEGIN of insert_sources_105'
70852 ,p_level => C_LEVEL_PROCEDURE
70853 ,p_module => l_log_module);
70854
70855 END IF;
70856
70857 -- select APPS owner
70858 SELECT oracle_username
70859 INTO p_apps_owner
70860 FROM fnd_oracle_userid
70861 WHERE read_only_flag = 'U'
70862 ;
70863
70864 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
70865 trace
70866 (p_msg => 'p_target_ledger_id = '||p_target_ledger_id||
70867 ' - p_language = '||p_language||
70868 ' - p_sla_ledger_id = '||p_sla_ledger_id ||
70869 ' - p_pad_start_date = '||TO_CHAR(p_pad_start_date)||
70870 ' - p_pad_end_date = '||TO_CHAR(p_pad_end_date)||
70871 ' - p_apps_owner = '||TO_CHAR(p_apps_owner)
70872 ,p_level => C_LEVEL_STATEMENT
70873 ,p_module => l_log_module);
70874 END IF;
70875
70876
70877 --
70878 INSERT INTO xla_diag_sources --hdr2
70879 (
70880 event_id
70881 , ledger_id
70882 , sla_ledger_id
70883 , description_language
70884 , object_name
70885 , object_type_code
70886 , line_number
70887 , source_application_id
70888 , source_type_code
70889 , source_code
70890 , source_value
70891 , source_meaning
70892 , created_by
70893 , creation_date
70894 , last_update_date
70895 , last_updated_by
70896 , last_update_login
70897 , program_update_date
70898 , program_application_id
70899 , program_id
70900 , request_id
70901 )
70902 SELECT
70903 event_id
70904 , p_target_ledger_id
70905 , p_sla_ledger_id
70906 , p_language
70907 , object_name
70908 , object_type_code
70909 , line_number
70910 , source_application_id
70911 , source_type_code
70912 , source_code
70913 , SUBSTR(source_value ,1,1996)
70917 , TRUNC(SYSDATE)
70914 , SUBSTR(source_meaning ,1,200)
70915 , xla_environment_pkg.g_Usr_Id
70916 , TRUNC(SYSDATE)
70918 , xla_environment_pkg.g_Usr_Id
70919 , xla_environment_pkg.g_Login_Id
70920 , TRUNC(SYSDATE)
70921 , xla_environment_pkg.g_Prog_Appl_Id
70922 , xla_environment_pkg.g_Prog_Id
70923 , xla_environment_pkg.g_Req_Id
70924 FROM (
70925 SELECT xet.event_id event_id
70926 , 0 line_number
70927 , CASE r
70928 WHEN 1 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
70929 WHEN 2 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
70930 WHEN 3 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
70931 WHEN 4 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
70932 WHEN 5 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
70933 WHEN 6 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
70934 WHEN 7 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
70935 WHEN 8 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
70936 WHEN 9 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
70937 WHEN 10 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
70938 WHEN 11 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
70939 WHEN 12 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
70940 WHEN 13 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
70941 WHEN 14 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
70942 WHEN 15 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
70943 WHEN 16 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
70944 WHEN 17 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
70945
70946 ELSE null
70947 END object_name
70948 , CASE r
70949 WHEN 1 THEN 'HEADER'
70950 WHEN 2 THEN 'HEADER'
70951 WHEN 3 THEN 'HEADER'
70952 WHEN 4 THEN 'HEADER'
70953 WHEN 5 THEN 'HEADER'
70954 WHEN 6 THEN 'HEADER'
70955 WHEN 7 THEN 'HEADER'
70956 WHEN 8 THEN 'HEADER'
70957 WHEN 9 THEN 'HEADER'
70958 WHEN 10 THEN 'HEADER'
70959 WHEN 11 THEN 'HEADER'
70960 WHEN 12 THEN 'HEADER'
70961 WHEN 13 THEN 'HEADER'
70962 WHEN 14 THEN 'HEADER'
70963 WHEN 15 THEN 'HEADER'
70964 WHEN 16 THEN 'HEADER'
70965 WHEN 17 THEN 'HEADER'
70966
70967 ELSE null
70968 END object_type_code
70969 , CASE r
70970 WHEN 1 THEN '200'
70971 WHEN 2 THEN '200'
70972 WHEN 3 THEN '200'
70973 WHEN 4 THEN '200'
70974 WHEN 5 THEN '200'
70975 WHEN 6 THEN '200'
70976 WHEN 7 THEN '200'
70977 WHEN 8 THEN '200'
70978 WHEN 9 THEN '200'
70979 WHEN 10 THEN '200'
70980 WHEN 11 THEN '200'
70981 WHEN 12 THEN '200'
70982 WHEN 13 THEN '200'
70983 WHEN 14 THEN '200'
70984 WHEN 15 THEN '200'
70985 WHEN 16 THEN '200'
70986 WHEN 17 THEN '200'
70987
70988 ELSE null
70989 END source_application_id
70990 , 'S' source_type_code
70991 , CASE r
70992 WHEN 1 THEN 'ASP_RATE_VAR_GAIN_CCID'
70993 WHEN 2 THEN 'ASP_AUTOMATIC_OFFSETS_VALUE'
70994 WHEN 3 THEN 'ASP_RATE_VAR_LOSS_CCID'
70995 WHEN 4 THEN 'ASP_AUTO_OFFSET_FLAG'
70996 WHEN 5 THEN 'FSP_PURCH_ENCUMBRANCE_FLAG'
70997 WHEN 6 THEN 'AI_INVOICE_ID'
70998 WHEN 7 THEN 'AI_INVOICE_CURRENCY_CODE'
70999 WHEN 8 THEN 'INV_EXCHANGE_DATE'
71000 WHEN 9 THEN 'INV_EXCHANGE_RATE'
71001 WHEN 10 THEN 'INV_EXCHANGE_RATE_TYPE'
71002 WHEN 11 THEN 'AI_VENDOR_ID'
71003 WHEN 12 THEN 'AI_VENDOR_SITE_ID'
71004 WHEN 13 THEN 'THIRD_PARTY_TYPE'
71005 WHEN 14 THEN 'AI_INVOICE_TYPE_LOOKUP_CODE'
71006 WHEN 15 THEN 'INV_DOC_SEQUENCE_CATEGORY'
71007 WHEN 16 THEN 'INV_DOC_SEQUENCE_IDENTIFIER'
71008 WHEN 17 THEN 'INV_DOC_SEQUENCE_VALUE'
71009
71010 ELSE null
71011 END source_code
71012 , CASE r
71013 WHEN 1 THEN TO_CHAR(h3.ASP_RATE_VAR_GAIN_CCID)
71014 WHEN 2 THEN TO_CHAR(h3.ASP_AUTOMATIC_OFFSETS_VALUE)
71015 WHEN 3 THEN TO_CHAR(h3.ASP_RATE_VAR_LOSS_CCID)
71016 WHEN 4 THEN TO_CHAR(h3.ASP_AUTO_OFFSET_FLAG)
71017 WHEN 5 THEN TO_CHAR(h3.FSP_PURCH_ENCUMBRANCE_FLAG)
71018 WHEN 6 THEN TO_CHAR(h2.AI_INVOICE_ID)
71019 WHEN 7 THEN TO_CHAR(h2.AI_INVOICE_CURRENCY_CODE)
71020 WHEN 8 THEN TO_CHAR(h2.INV_EXCHANGE_DATE)
71021 WHEN 9 THEN TO_CHAR(h2.INV_EXCHANGE_RATE)
71022 WHEN 10 THEN TO_CHAR(h2.INV_EXCHANGE_RATE_TYPE)
71023 WHEN 11 THEN TO_CHAR(h2.AI_VENDOR_ID)
71024 WHEN 12 THEN TO_CHAR(h2.AI_VENDOR_SITE_ID)
71028 WHEN 16 THEN TO_CHAR(h2.INV_DOC_SEQUENCE_IDENTIFIER)
71025 WHEN 13 THEN TO_CHAR(h2.THIRD_PARTY_TYPE)
71026 WHEN 14 THEN TO_CHAR(h2.AI_INVOICE_TYPE_LOOKUP_CODE)
71027 WHEN 15 THEN TO_CHAR(h2.INV_DOC_SEQUENCE_CATEGORY)
71029 WHEN 17 THEN TO_CHAR(h2.INV_DOC_SEQUENCE_VALUE)
71030
71031 ELSE null
71032 END source_value
71033 , CASE r
71034 WHEN 2 THEN fvl7.meaning
71035 WHEN 4 THEN fvl12.meaning
71036 WHEN 5 THEN fvl17.meaning
71037 WHEN 14 THEN fvl68.meaning
71038
71039 ELSE null
71040 END source_meaning
71041 FROM xla_events_gt xet
71042 , AP_INVOICE_EXTRACT_HEADER_V h2
71043 , AP_SYSTEM_PARAMETERS_EXTRACT_V h3
71044 , fnd_lookup_values fvl7
71045 , fnd_lookup_values fvl12
71046 , fnd_lookup_values fvl17
71047 , fnd_lookup_values fvl68
71048 ,(select rownum r from all_objects where rownum <= 17 and owner = p_apps_owner)
71049 WHERE xet.event_date between p_pad_start_date AND p_pad_end_date
71050 AND xet.event_class_code = C_EVENT_CLASS_CODE
71051 AND h2.event_id = xet.event_id
71052 AND h3.asp_org_id = h2.ai_org_id AND fvl7.lookup_type(+) = 'LIABILITY FLEXBUILD METHOD'
71053 AND fvl7.lookup_code(+) = h3.ASP_AUTOMATIC_OFFSETS_VALUE
71054 AND fvl7.view_application_id(+) = 200
71055 AND fvl7.language(+) = USERENV('LANG')
71056 AND fvl12.lookup_type(+) = 'YES_NO'
71057 AND fvl12.lookup_code(+) = h3.ASP_AUTO_OFFSET_FLAG
71058 AND fvl12.view_application_id(+) = 0
71059 AND fvl12.language(+) = USERENV('LANG')
71060 AND fvl17.lookup_type(+) = 'YES_NO'
71061 AND fvl17.lookup_code(+) = h3.FSP_PURCH_ENCUMBRANCE_FLAG
71062 AND fvl17.view_application_id(+) = 0
71063 AND fvl17.language(+) = USERENV('LANG')
71064 AND fvl68.lookup_type(+) = 'INVOICE TYPE'
71065 AND fvl68.lookup_code(+) = h2.AI_INVOICE_TYPE_LOOKUP_CODE
71066 AND fvl68.view_application_id(+) = 200
71067 AND fvl68.language(+) = USERENV('LANG')
71068
71069 )
71070 ;
71071 --
71072 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
71073
71074 trace
71075 (p_msg => 'number of header sources inserted = '||SQL%ROWCOUNT
71076 ,p_level => C_LEVEL_STATEMENT
71077 ,p_module => l_log_module);
71078
71079 END IF;
71080 --
71081
71082
71083
71084 --
71085 INSERT INTO xla_diag_sources --line2
71086 (
71087 event_id
71088 , ledger_id
71089 , sla_ledger_id
71090 , description_language
71091 , object_name
71092 , object_type_code
71093 , line_number
71094 , source_application_id
71095 , source_type_code
71096 , source_code
71097 , source_value
71098 , source_meaning
71099 , created_by
71100 , creation_date
71101 , last_update_date
71102 , last_updated_by
71103 , last_update_login
71104 , program_update_date
71105 , program_application_id
71106 , program_id
71107 , request_id
71108 )
71109 SELECT event_id
71110 , p_target_ledger_id
71111 , p_sla_ledger_id
71112 , p_language
71113 , object_name
71114 , object_type_code
71115 , line_number
71116 , source_application_id
71117 , source_type_code
71118 , source_code
71119 , SUBSTR(source_value,1,1996)
71120 , SUBSTR(source_meaning ,1,200)
71121 , xla_environment_pkg.g_Usr_Id
71122 , TRUNC(SYSDATE)
71123 , TRUNC(SYSDATE)
71124 , xla_environment_pkg.g_Usr_Id
71125 , xla_environment_pkg.g_Login_Id
71126 , TRUNC(SYSDATE)
71127 , xla_environment_pkg.g_Prog_Appl_Id
71128 , xla_environment_pkg.g_Prog_Id
71129 , xla_environment_pkg.g_Req_Id
71130 FROM (
71131 SELECT xet.event_id event_id
71132 , l1.line_number line_number
71133 , CASE r
71134 WHEN 1 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
71135 WHEN 2 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
71136 WHEN 3 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
71137 WHEN 4 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
71138 WHEN 5 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
71139 WHEN 6 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
71140 WHEN 7 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
71141 WHEN 8 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
71142 WHEN 9 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
71143 WHEN 10 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
71144 WHEN 11 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
71145 WHEN 12 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
71146 WHEN 13 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
71147 WHEN 14 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
71148 WHEN 15 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
71149 WHEN 16 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
71150 WHEN 17 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
71151 WHEN 18 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
71152 WHEN 19 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
71156 WHEN 23 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
71153 WHEN 20 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
71154 WHEN 21 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
71155 WHEN 22 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
71157 WHEN 24 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
71158 WHEN 25 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
71159 WHEN 26 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
71160 WHEN 27 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
71161 WHEN 28 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
71162 WHEN 29 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
71163 WHEN 30 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
71164 WHEN 31 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
71165 WHEN 32 THEN 'ZX_AP_DEF_TAX_EXTRACT_V'
71166 WHEN 33 THEN 'ZX_AP_TAX_JRNL_LINE_DESC_V'
71167 WHEN 34 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
71168 WHEN 35 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
71169 WHEN 36 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
71170 WHEN 37 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
71171 WHEN 38 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
71172 WHEN 39 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
71173 WHEN 40 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
71174 WHEN 41 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
71175 WHEN 42 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
71176 WHEN 43 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
71177 WHEN 44 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
71178 WHEN 45 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
71179 WHEN 46 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
71180 WHEN 47 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
71181 WHEN 48 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
71182
71183 ELSE null
71184 END object_name
71185 , CASE r
71186 WHEN 1 THEN 'LINE'
71187 WHEN 2 THEN 'LINE'
71188 WHEN 3 THEN 'LINE'
71189 WHEN 4 THEN 'LINE'
71190 WHEN 5 THEN 'LINE'
71191 WHEN 6 THEN 'LINE'
71192 WHEN 7 THEN 'LINE'
71193 WHEN 8 THEN 'LINE'
71194 WHEN 9 THEN 'LINE'
71195 WHEN 10 THEN 'LINE'
71196 WHEN 11 THEN 'LINE'
71197 WHEN 12 THEN 'LINE'
71198 WHEN 13 THEN 'LINE'
71199 WHEN 14 THEN 'LINE'
71200 WHEN 15 THEN 'LINE'
71201 WHEN 16 THEN 'LINE'
71202 WHEN 17 THEN 'LINE'
71203 WHEN 18 THEN 'LINE'
71204 WHEN 19 THEN 'LINE'
71205 WHEN 20 THEN 'LINE'
71206 WHEN 21 THEN 'LINE'
71207 WHEN 22 THEN 'LINE'
71208 WHEN 23 THEN 'LINE'
71209 WHEN 24 THEN 'LINE'
71210 WHEN 25 THEN 'LINE'
71211 WHEN 26 THEN 'LINE'
71212 WHEN 27 THEN 'LINE'
71213 WHEN 28 THEN 'LINE'
71214 WHEN 29 THEN 'LINE'
71215 WHEN 30 THEN 'LINE'
71216 WHEN 31 THEN 'LINE'
71217 WHEN 32 THEN 'LINE'
71218 WHEN 33 THEN 'LINE'
71219 WHEN 34 THEN 'LINE'
71220 WHEN 35 THEN 'LINE'
71221 WHEN 36 THEN 'LINE'
71222 WHEN 37 THEN 'LINE'
71223 WHEN 38 THEN 'LINE'
71224 WHEN 39 THEN 'LINE'
71225 WHEN 40 THEN 'LINE'
71226 WHEN 41 THEN 'LINE'
71227 WHEN 42 THEN 'LINE'
71228 WHEN 43 THEN 'LINE'
71229 WHEN 44 THEN 'LINE'
71230 WHEN 45 THEN 'LINE'
71231 WHEN 46 THEN 'LINE'
71232 WHEN 47 THEN 'LINE'
71233 WHEN 48 THEN 'LINE'
71234
71235 ELSE null
71236 END object_type_code
71237 , CASE r
71238 WHEN 1 THEN '200'
71239 WHEN 2 THEN '200'
71240 WHEN 3 THEN '200'
71241 WHEN 4 THEN '200'
71242 WHEN 5 THEN '200'
71243 WHEN 6 THEN '200'
71244 WHEN 7 THEN '200'
71245 WHEN 8 THEN '200'
71246 WHEN 9 THEN '200'
71247 WHEN 10 THEN '200'
71248 WHEN 11 THEN '200'
71249 WHEN 12 THEN '200'
71250 WHEN 13 THEN '200'
71251 WHEN 14 THEN '200'
71252 WHEN 15 THEN '200'
71253 WHEN 16 THEN '200'
71254 WHEN 17 THEN '200'
71255 WHEN 18 THEN '200'
71256 WHEN 19 THEN '200'
71257 WHEN 20 THEN '200'
71258 WHEN 21 THEN '200'
71259 WHEN 22 THEN '200'
71260 WHEN 23 THEN '200'
71261 WHEN 24 THEN '200'
71262 WHEN 25 THEN '200'
71263 WHEN 26 THEN '200'
71264 WHEN 27 THEN '200'
71265 WHEN 28 THEN '200'
71266 WHEN 29 THEN '200'
71267 WHEN 30 THEN '200'
71268 WHEN 31 THEN '200'
71269 WHEN 32 THEN '200'
71273 WHEN 36 THEN '200'
71270 WHEN 33 THEN '200'
71271 WHEN 34 THEN '200'
71272 WHEN 35 THEN '200'
71274 WHEN 37 THEN '200'
71275 WHEN 38 THEN '200'
71276 WHEN 39 THEN '200'
71277 WHEN 40 THEN '200'
71278 WHEN 41 THEN '200'
71279 WHEN 42 THEN '200'
71280 WHEN 43 THEN '200'
71281 WHEN 44 THEN '200'
71282 WHEN 45 THEN '200'
71283 WHEN 46 THEN '200'
71284 WHEN 47 THEN '200'
71285 WHEN 48 THEN '200'
71286
71287 ELSE null
71288 END source_application_id
71289 , 'S' source_type_code
71290 , CASE r
71291 WHEN 1 THEN 'AID_DESCRIPTION'
71292 WHEN 2 THEN 'INV_DIST_BASE_AMOUNT'
71293 WHEN 3 THEN 'RELATED_INV_DIST_DEST_TYPE'
71294 WHEN 4 THEN 'AID_DIST_CCID'
71295 WHEN 5 THEN 'SELF_ASSESSED_TAX_ACCOUNT'
71296 WHEN 6 THEN 'AID_LINE_TYPE_LOOKUP_CODE'
71297 WHEN 7 THEN 'AID_AMOUNT_VARIANCE'
71298 WHEN 8 THEN 'POD_ACCRUE_ON_RECEIPT_FLAG'
71299 WHEN 9 THEN 'DIST_ACCOUNT_REVERSAL_OPTION'
71300 WHEN 10 THEN 'DISTRIBUTION_LINK_TYPE'
71301 WHEN 11 THEN 'ALLOC_TO_MAIN_DIST_ID'
71302 WHEN 12 THEN 'BUS_FLOW_AP_APP_ID'
71303 WHEN 13 THEN 'BUS_FLOW_INV_DIST_TYPE'
71304 WHEN 14 THEN 'BUS_FLOW_INV_ENTITY_CODE'
71305 WHEN 15 THEN 'BUS_FLOW_INV_DIST_ID'
71306 WHEN 16 THEN 'BUS_FLOW_INV_ID'
71307 WHEN 17 THEN 'AID_INVOICE_DIST_ID'
71308 WHEN 18 THEN 'UPG_ENC_CR_CCID'
71309 WHEN 19 THEN 'UPG_ENC_CR_AMT'
71310 WHEN 20 THEN 'UPG_ENC_CR_BASE_AMT'
71311 WHEN 21 THEN 'UPG_ENC_DR_CCID'
71312 WHEN 22 THEN 'UPG_ENC_DR_AMT'
71313 WHEN 23 THEN 'UPG_ENC_DR_BASE_AMT'
71314 WHEN 24 THEN 'UPG_AP_ENCUM_OPTION'
71315 WHEN 25 THEN 'AID_BASE_AMOUNT_VARIANCE'
71316 WHEN 26 THEN 'DEFERRED_END_DATE'
71317 WHEN 27 THEN 'DEFERRED_OPTION'
71318 WHEN 28 THEN 'DEFERRED_START_DATE'
71319 WHEN 29 THEN 'OVERRIDE_ACCTD_AMT_FLAG'
71320 WHEN 30 THEN 'AID_PARENT_REVERSAL_ID'
71321 WHEN 31 THEN 'AID_STAT_AMOUNT'
71322 WHEN 32 THEN 'TAX_LINE_ID'
71323 WHEN 33 THEN 'REC_NREC_TAX_DIST_ID'
71324 WHEN 34 THEN 'SUMMARY_TAX_LINE_ID'
71325 WHEN 35 THEN 'UPG_CR_ENC_TYPE_ID'
71326 WHEN 36 THEN 'UPG_DR_ENC_TYPE_ID'
71327 WHEN 37 THEN 'AID_AMOUNT'
71328 WHEN 38 THEN 'PO_DISTRIBUTION_ID'
71329 WHEN 39 THEN 'SELF_ASSESSED_TAX_FLAG'
71330 WHEN 40 THEN 'BUS_FLOW_PO_APP_ID'
71331 WHEN 41 THEN 'BUS_FLOW_PO_DIST_TYPE'
71332 WHEN 42 THEN 'BUS_FLOW_PO_ENTITY_CODE'
71333 WHEN 43 THEN 'BUS_FLOW_PO_DIST_ID'
71334 WHEN 44 THEN 'BUS_FLOW_PO_DOC_ID'
71335 WHEN 45 THEN 'ENCUMBRANCE_AMOUNT'
71336 WHEN 46 THEN 'ENCUMBRANCE_BASE_AMOUNT'
71337 WHEN 47 THEN 'AID_QUANTITY_VARIANCE'
71338 WHEN 48 THEN 'AID_BASE_QUANTITY_VARIANCE'
71339
71340 ELSE null
71341 END source_code
71342 , CASE r
71343 WHEN 1 THEN TO_CHAR(l1.AID_DESCRIPTION)
71344 WHEN 2 THEN TO_CHAR(l1.INV_DIST_BASE_AMOUNT)
71345 WHEN 3 THEN TO_CHAR(l1.RELATED_INV_DIST_DEST_TYPE)
71346 WHEN 4 THEN TO_CHAR(l1.AID_DIST_CCID)
71347 WHEN 5 THEN TO_CHAR(l1.SELF_ASSESSED_TAX_ACCOUNT)
71348 WHEN 6 THEN TO_CHAR(l1.AID_LINE_TYPE_LOOKUP_CODE)
71349 WHEN 7 THEN TO_CHAR(l1.AID_AMOUNT_VARIANCE)
71350 WHEN 8 THEN TO_CHAR(l1.POD_ACCRUE_ON_RECEIPT_FLAG)
71351 WHEN 9 THEN TO_CHAR(l1.DIST_ACCOUNT_REVERSAL_OPTION)
71352 WHEN 10 THEN TO_CHAR(l1.DISTRIBUTION_LINK_TYPE)
71353 WHEN 11 THEN TO_CHAR(l1.ALLOC_TO_MAIN_DIST_ID)
71354 WHEN 12 THEN TO_CHAR(l1.BUS_FLOW_AP_APP_ID)
71355 WHEN 13 THEN TO_CHAR(l1.BUS_FLOW_INV_DIST_TYPE)
71356 WHEN 14 THEN TO_CHAR(l1.BUS_FLOW_INV_ENTITY_CODE)
71357 WHEN 15 THEN TO_CHAR(l1.BUS_FLOW_INV_DIST_ID)
71358 WHEN 16 THEN TO_CHAR(l1.BUS_FLOW_INV_ID)
71359 WHEN 17 THEN TO_CHAR(l1.AID_INVOICE_DIST_ID)
71360 WHEN 18 THEN TO_CHAR(l1.UPG_ENC_CR_CCID)
71361 WHEN 19 THEN TO_CHAR(l1.UPG_ENC_CR_AMT)
71362 WHEN 20 THEN TO_CHAR(l1.UPG_ENC_CR_BASE_AMT)
71363 WHEN 21 THEN TO_CHAR(l1.UPG_ENC_DR_CCID)
71364 WHEN 22 THEN TO_CHAR(l1.UPG_ENC_DR_AMT)
71365 WHEN 23 THEN TO_CHAR(l1.UPG_ENC_DR_BASE_AMT)
71366 WHEN 24 THEN TO_CHAR(l1.UPG_AP_ENCUM_OPTION)
71367 WHEN 25 THEN TO_CHAR(l1.AID_BASE_AMOUNT_VARIANCE)
71368 WHEN 26 THEN TO_CHAR(l1.DEFERRED_END_DATE)
71369 WHEN 27 THEN TO_CHAR(l1.DEFERRED_OPTION)
71370 WHEN 28 THEN TO_CHAR(l1.DEFERRED_START_DATE)
71371 WHEN 29 THEN TO_CHAR(l1.OVERRIDE_ACCTD_AMT_FLAG)
71375 WHEN 33 THEN TO_CHAR(l5.REC_NREC_TAX_DIST_ID)
71372 WHEN 30 THEN TO_CHAR(l1.AID_PARENT_REVERSAL_ID)
71373 WHEN 31 THEN TO_CHAR(l1.AID_STAT_AMOUNT)
71374 WHEN 32 THEN TO_CHAR(l4.TAX_LINE_ID)
71376 WHEN 34 THEN TO_CHAR(l1.SUMMARY_TAX_LINE_ID)
71377 WHEN 35 THEN TO_CHAR(l1.UPG_CR_ENC_TYPE_ID)
71378 WHEN 36 THEN TO_CHAR(l1.UPG_DR_ENC_TYPE_ID)
71379 WHEN 37 THEN TO_CHAR(l1.AID_AMOUNT)
71380 WHEN 38 THEN TO_CHAR(l1.PO_DISTRIBUTION_ID)
71381 WHEN 39 THEN TO_CHAR(l1.SELF_ASSESSED_TAX_FLAG)
71382 WHEN 40 THEN TO_CHAR(l1.BUS_FLOW_PO_APP_ID)
71383 WHEN 41 THEN TO_CHAR(l1.BUS_FLOW_PO_DIST_TYPE)
71384 WHEN 42 THEN TO_CHAR(l1.BUS_FLOW_PO_ENTITY_CODE)
71385 WHEN 43 THEN TO_CHAR(l1.BUS_FLOW_PO_DIST_ID)
71386 WHEN 44 THEN TO_CHAR(l1.BUS_FLOW_PO_DOC_ID)
71387 WHEN 45 THEN TO_CHAR(l1.ENCUMBRANCE_AMOUNT)
71388 WHEN 46 THEN TO_CHAR(l1.ENCUMBRANCE_BASE_AMOUNT)
71389 WHEN 47 THEN TO_CHAR(l1.AID_QUANTITY_VARIANCE)
71390 WHEN 48 THEN TO_CHAR(l1.AID_BASE_QUANTITY_VARIANCE)
71391
71392 ELSE null
71393 END source_value
71394 , CASE r
71395 WHEN 3 THEN fvl9.meaning
71396 WHEN 6 THEN fvl15.meaning
71397 WHEN 8 THEN fvl18.meaning
71398 WHEN 29 THEN fvl46.meaning
71399 WHEN 39 THEN fvl59.meaning
71400
71401 ELSE null
71402 END source_meaning
71403 FROM xla_events_gt xet
71404 , AP_EXTRACT_INVOICE_DTLS_BC_V l1
71405 , ZX_AP_DEF_TAX_EXTRACT_V l4
71406 , ZX_AP_TAX_JRNL_LINE_DESC_V l5
71407 , fnd_lookup_values fvl9
71408 , fnd_lookup_values fvl15
71409 , fnd_lookup_values fvl18
71410 , fnd_lookup_values fvl46
71411 , fnd_lookup_values fvl59
71412 , (select rownum r from all_objects where rownum <= 48 and owner = p_apps_owner)
71413 WHERE xet.event_date between p_pad_start_date AND p_pad_end_date
71414 AND xet.event_class_code = C_EVENT_CLASS_CODE
71415 AND l1.event_id = xet.event_id
71416 AND l1.zrnd_tax_dist_id = l4.rec_nrec_tax_dist_id (+) AND l1.zrnd_tax_dist_id = l5.rec_nrec_tax_dist_id (+) AND fvl9.lookup_type(+) = 'DESTINATION TYPE'
71417 AND fvl9.lookup_code(+) = l1.RELATED_INV_DIST_DEST_TYPE
71418 AND fvl9.view_application_id(+) = 201
71419 AND fvl9.language(+) = USERENV('LANG')
71420 AND fvl15.lookup_type(+) = 'INVOICE DISTRIBUTION TYPE'
71421 AND fvl15.lookup_code(+) = l1.AID_LINE_TYPE_LOOKUP_CODE
71422 AND fvl15.view_application_id(+) = 200
71423 AND fvl15.language(+) = USERENV('LANG')
71424 AND fvl18.lookup_type(+) = 'YES_NO'
71425 AND fvl18.lookup_code(+) = l1.POD_ACCRUE_ON_RECEIPT_FLAG
71426 AND fvl18.view_application_id(+) = 0
71427 AND fvl18.language(+) = USERENV('LANG')
71428 AND fvl46.lookup_type(+) = 'YES_NO'
71429 AND fvl46.lookup_code(+) = l1.OVERRIDE_ACCTD_AMT_FLAG
71430 AND fvl46.view_application_id(+) = 0
71431 AND fvl46.language(+) = USERENV('LANG')
71432 AND fvl59.lookup_type(+) = 'YES_NO'
71433 AND fvl59.lookup_code(+) = l1.SELF_ASSESSED_TAX_FLAG
71434 AND fvl59.view_application_id(+) = 0
71435 AND fvl59.language(+) = USERENV('LANG')
71436
71437 )
71438 ;
71439 --
71440 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
71441
71442 trace
71443 (p_msg => 'number of line sources inserted = '||SQL%ROWCOUNT
71444 ,p_level => C_LEVEL_STATEMENT
71445 ,p_module => l_log_module);
71446
71447 END IF;
71448
71449
71450 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
71451 trace
71452 (p_msg => 'END of insert_sources_105'
71453 ,p_level => C_LEVEL_PROCEDURE
71454 ,p_module => l_log_module);
71455 END IF;
71456 EXCEPTION
71457 WHEN xla_exceptions_pkg.application_exception THEN
71458 IF (C_LEVEL_EXCEPTION >= g_log_level) THEN
71459 trace
71460 (p_msg => 'ERROR: XLA_CMP_COMPILER_ERROR = '||sqlerrm
71461 ,p_level => C_LEVEL_EXCEPTION
71462 ,p_module => l_log_module);
71463 END IF;
71464 RAISE;
71465 WHEN OTHERS THEN
71466 IF (C_LEVEL_EXCEPTION >= g_log_level) THEN
71467 trace
71468 (p_msg => 'ERROR: XLA_CMP_COMPILER_ERROR = '||sqlerrm
71469 ,p_level => C_LEVEL_EXCEPTION
71470 ,p_module => l_log_module);
71471 END IF;
71472 xla_exceptions_pkg.raise_message
71473 (p_location => 'XLA_00200_AAD_S_000006_BC_PKG.insert_sources_105');
71474 END insert_sources_105;
71475 --
71476
71477 ---------------------------------------
71478 --
71479 -- PRIVATE FUNCTION
71480 -- EventClass_105
71481 --
71482 ----------------------------------------
71483 --
71484 FUNCTION EventClass_105
71485 (p_application_id IN NUMBER
71486 ,p_base_ledger_id IN NUMBER
71487 ,p_target_ledger_id IN NUMBER
71488 ,p_language IN VARCHAR2
71492 ,p_pad_end_date IN DATE
71489 ,p_currency_code IN VARCHAR2
71490 ,p_sla_ledger_id IN NUMBER
71491 ,p_pad_start_date IN DATE
71493 ,p_primary_ledger_id IN NUMBER)
71494 RETURN BOOLEAN IS
71495 --
71496 C_EVENT_TYPE_CODE CONSTANT VARCHAR2(30) := 'INVOICES_ALL';
71497 C_EVENT_CLASS_CODE CONSTANT VARCHAR2(30) := 'INVOICES';
71498
71499 l_calculate_acctd_flag VARCHAR2(1) :='N';
71500 l_calculate_g_l_flag VARCHAR2(1) :='N';
71501 --
71502 l_array_legal_entity_id XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
71503 l_array_entity_id XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
71504 l_array_entity_code XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
71505 l_array_transaction_num XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
71506 l_array_event_id XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
71507 l_array_class_code XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
71508 l_array_event_type XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
71509 l_array_event_number XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
71510 l_array_event_date XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
71511 l_array_transaction_date XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
71512 l_array_reference_num_1 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
71513 l_array_reference_num_2 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
71514 l_array_reference_num_3 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
71515 l_array_reference_num_4 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
71516 l_array_reference_char_1 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
71517 l_array_reference_char_2 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
71518 l_array_reference_char_3 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
71519 l_array_reference_char_4 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
71520 l_array_reference_date_1 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
71521 l_array_reference_date_2 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
71522 l_array_reference_date_3 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
71523 l_array_reference_date_4 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
71524 l_array_event_created_by XLA_AE_JOURNAL_ENTRY_PKG.t_array_V100L;
71525 l_array_budgetary_control_flag XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
71526 l_array_header_events XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num; --added
71527 l_array_duplicate_checker XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num; --added
71528
71529 l_event_id NUMBER;
71530 l_previous_event_id NUMBER;
71531 l_first_event_id NUMBER;
71532 l_last_event_id NUMBER;
71533
71534 l_rec_acct_attrs XLA_AE_HEADER_PKG.t_rec_acct_attrs;
71535 l_rec_rev_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
71536 --
71537 --
71538 l_result BOOLEAN := TRUE;
71539 l_rows NUMBER := 1000;
71540 l_event_type_name VARCHAR2(80) := 'All';
71541 l_event_class_name VARCHAR2(80) := 'Invoices';
71542 l_description VARCHAR2(4000);
71543 l_transaction_reversal NUMBER;
71544 l_ae_header_id NUMBER;
71545 l_array_extract_line_num xla_ae_journal_entry_pkg.t_array_Num;
71546 l_log_module VARCHAR2(240);
71547 --
71548 l_acct_reversal_source VARCHAR2(30);
71549 l_trx_reversal_source VARCHAR2(30);
71550
71551 l_continue_with_lines BOOLEAN := TRUE;
71552 --
71553 l_acc_rev_gl_date_source DATE; -- 4262811
71554 --
71555 type t_array_event_id is table of number index by binary_integer;
71556
71557 l_rec_array_event t_rec_array_event;
71558 l_null_rec_array_event t_rec_array_event;
71559 l_array_ae_header_id xla_number_array_type;
71560 l_actual_flag VARCHAR2(1) := NULL;
71561 l_actual_gain_loss_ref VARCHAR2(30) := '#####';
71562 l_balance_type_code VARCHAR2(1) :=NULL;
71563 l_gain_or_loss_ref VARCHAR2(30) :=NULL;
71564
71565 --
71566 TYPE t_array_lookup_meaning IS TABLE OF fnd_lookup_values.meaning%TYPE INDEX BY BINARY_INTEGER;
71567 --
71568
71569 TYPE t_array_source_6 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_RATE_VAR_GAIN_CCID%TYPE INDEX BY BINARY_INTEGER;
71570 TYPE t_array_source_7 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_AUTOMATIC_OFFSETS_VALUE%TYPE INDEX BY BINARY_INTEGER;
71571 TYPE t_array_source_10 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_RATE_VAR_LOSS_CCID%TYPE INDEX BY BINARY_INTEGER;
71572 TYPE t_array_source_12 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_AUTO_OFFSET_FLAG%TYPE INDEX BY BINARY_INTEGER;
71573 TYPE t_array_source_17 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.FSP_PURCH_ENCUMBRANCE_FLAG%TYPE INDEX BY BINARY_INTEGER;
71574 TYPE t_array_source_24 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_INVOICE_ID%TYPE INDEX BY BINARY_INTEGER;
71575 TYPE t_array_source_33 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_INVOICE_CURRENCY_CODE%TYPE INDEX BY BINARY_INTEGER;
71576 TYPE t_array_source_39 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_EXCHANGE_DATE%TYPE INDEX BY BINARY_INTEGER;
71577 TYPE t_array_source_40 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_EXCHANGE_RATE%TYPE INDEX BY BINARY_INTEGER;
71578 TYPE t_array_source_41 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_EXCHANGE_RATE_TYPE%TYPE INDEX BY BINARY_INTEGER;
71582 TYPE t_array_source_68 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_INVOICE_TYPE_LOOKUP_CODE%TYPE INDEX BY BINARY_INTEGER;
71579 TYPE t_array_source_47 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_VENDOR_ID%TYPE INDEX BY BINARY_INTEGER;
71580 TYPE t_array_source_48 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_VENDOR_SITE_ID%TYPE INDEX BY BINARY_INTEGER;
71581 TYPE t_array_source_49 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.THIRD_PARTY_TYPE%TYPE INDEX BY BINARY_INTEGER;
71583 TYPE t_array_source_122 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_DOC_SEQUENCE_CATEGORY%TYPE INDEX BY BINARY_INTEGER;
71584 TYPE t_array_source_123 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_DOC_SEQUENCE_IDENTIFIER%TYPE INDEX BY BINARY_INTEGER;
71585 TYPE t_array_source_124 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_DOC_SEQUENCE_VALUE%TYPE INDEX BY BINARY_INTEGER;
71586
71587 TYPE t_array_source_1 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.AID_DESCRIPTION%TYPE INDEX BY BINARY_INTEGER;
71588 TYPE t_array_source_8 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.INV_DIST_BASE_AMOUNT%TYPE INDEX BY BINARY_INTEGER;
71589 TYPE t_array_source_9 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.RELATED_INV_DIST_DEST_TYPE%TYPE INDEX BY BINARY_INTEGER;
71590 TYPE t_array_source_11 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.AID_DIST_CCID%TYPE INDEX BY BINARY_INTEGER;
71591 TYPE t_array_source_13 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.SELF_ASSESSED_TAX_ACCOUNT%TYPE INDEX BY BINARY_INTEGER;
71592 TYPE t_array_source_15 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.AID_LINE_TYPE_LOOKUP_CODE%TYPE INDEX BY BINARY_INTEGER;
71593 TYPE t_array_source_16 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.AID_AMOUNT_VARIANCE%TYPE INDEX BY BINARY_INTEGER;
71594 TYPE t_array_source_18 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.POD_ACCRUE_ON_RECEIPT_FLAG%TYPE INDEX BY BINARY_INTEGER;
71595 TYPE t_array_source_19 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.DIST_ACCOUNT_REVERSAL_OPTION%TYPE INDEX BY BINARY_INTEGER;
71596 TYPE t_array_source_21 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.DISTRIBUTION_LINK_TYPE%TYPE INDEX BY BINARY_INTEGER;
71597 TYPE t_array_source_23 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.ALLOC_TO_MAIN_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
71598 TYPE t_array_source_25 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.BUS_FLOW_AP_APP_ID%TYPE INDEX BY BINARY_INTEGER;
71599 TYPE t_array_source_26 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.BUS_FLOW_INV_DIST_TYPE%TYPE INDEX BY BINARY_INTEGER;
71600 TYPE t_array_source_27 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.BUS_FLOW_INV_ENTITY_CODE%TYPE INDEX BY BINARY_INTEGER;
71601 TYPE t_array_source_28 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.BUS_FLOW_INV_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
71602 TYPE t_array_source_29 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.BUS_FLOW_INV_ID%TYPE INDEX BY BINARY_INTEGER;
71603 TYPE t_array_source_30 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.AID_INVOICE_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
71604 TYPE t_array_source_31 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.UPG_ENC_CR_CCID%TYPE INDEX BY BINARY_INTEGER;
71605 TYPE t_array_source_32 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.UPG_ENC_CR_AMT%TYPE INDEX BY BINARY_INTEGER;
71606 TYPE t_array_source_34 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.UPG_ENC_CR_BASE_AMT%TYPE INDEX BY BINARY_INTEGER;
71607 TYPE t_array_source_35 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.UPG_ENC_DR_CCID%TYPE INDEX BY BINARY_INTEGER;
71608 TYPE t_array_source_36 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.UPG_ENC_DR_AMT%TYPE INDEX BY BINARY_INTEGER;
71609 TYPE t_array_source_37 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.UPG_ENC_DR_BASE_AMT%TYPE INDEX BY BINARY_INTEGER;
71610 TYPE t_array_source_38 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.UPG_AP_ENCUM_OPTION%TYPE INDEX BY BINARY_INTEGER;
71611 TYPE t_array_source_42 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.AID_BASE_AMOUNT_VARIANCE%TYPE INDEX BY BINARY_INTEGER;
71612 TYPE t_array_source_43 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.DEFERRED_END_DATE%TYPE INDEX BY BINARY_INTEGER;
71613 TYPE t_array_source_44 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.DEFERRED_OPTION%TYPE INDEX BY BINARY_INTEGER;
71614 TYPE t_array_source_45 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.DEFERRED_START_DATE%TYPE INDEX BY BINARY_INTEGER;
71615 TYPE t_array_source_46 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.OVERRIDE_ACCTD_AMT_FLAG%TYPE INDEX BY BINARY_INTEGER;
71616 TYPE t_array_source_50 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.AID_PARENT_REVERSAL_ID%TYPE INDEX BY BINARY_INTEGER;
71617 TYPE t_array_source_51 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.AID_STAT_AMOUNT%TYPE INDEX BY BINARY_INTEGER;
71618 TYPE t_array_source_52 IS TABLE OF ZX_AP_DEF_TAX_EXTRACT_V.TAX_LINE_ID%TYPE INDEX BY BINARY_INTEGER;
71619 TYPE t_array_source_53 IS TABLE OF ZX_AP_TAX_JRNL_LINE_DESC_V.REC_NREC_TAX_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
71620 TYPE t_array_source_54 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.SUMMARY_TAX_LINE_ID%TYPE INDEX BY BINARY_INTEGER;
71621 TYPE t_array_source_55 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.UPG_CR_ENC_TYPE_ID%TYPE INDEX BY BINARY_INTEGER;
71622 TYPE t_array_source_56 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.UPG_DR_ENC_TYPE_ID%TYPE INDEX BY BINARY_INTEGER;
71623 TYPE t_array_source_57 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.AID_AMOUNT%TYPE INDEX BY BINARY_INTEGER;
71624 TYPE t_array_source_58 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.PO_DISTRIBUTION_ID%TYPE INDEX BY BINARY_INTEGER;
71625 TYPE t_array_source_59 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.SELF_ASSESSED_TAX_FLAG%TYPE INDEX BY BINARY_INTEGER;
71626 TYPE t_array_source_60 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.BUS_FLOW_PO_APP_ID%TYPE INDEX BY BINARY_INTEGER;
71627 TYPE t_array_source_61 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.BUS_FLOW_PO_DIST_TYPE%TYPE INDEX BY BINARY_INTEGER;
71628 TYPE t_array_source_62 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.BUS_FLOW_PO_ENTITY_CODE%TYPE INDEX BY BINARY_INTEGER;
71629 TYPE t_array_source_63 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.BUS_FLOW_PO_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
71633 TYPE t_array_source_81 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.AID_QUANTITY_VARIANCE%TYPE INDEX BY BINARY_INTEGER;
71630 TYPE t_array_source_64 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.BUS_FLOW_PO_DOC_ID%TYPE INDEX BY BINARY_INTEGER;
71631 TYPE t_array_source_65 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.ENCUMBRANCE_AMOUNT%TYPE INDEX BY BINARY_INTEGER;
71632 TYPE t_array_source_66 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.ENCUMBRANCE_BASE_AMOUNT%TYPE INDEX BY BINARY_INTEGER;
71634 TYPE t_array_source_82 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.AID_BASE_QUANTITY_VARIANCE%TYPE INDEX BY BINARY_INTEGER;
71635
71636 l_array_source_6 t_array_source_6;
71637 l_array_source_7 t_array_source_7;
71638 l_array_source_7_meaning t_array_lookup_meaning;
71639 l_array_source_10 t_array_source_10;
71640 l_array_source_12 t_array_source_12;
71641 l_array_source_12_meaning t_array_lookup_meaning;
71642 l_array_source_17 t_array_source_17;
71643 l_array_source_17_meaning t_array_lookup_meaning;
71644 l_array_source_24 t_array_source_24;
71645 l_array_source_33 t_array_source_33;
71646 l_array_source_39 t_array_source_39;
71647 l_array_source_40 t_array_source_40;
71648 l_array_source_41 t_array_source_41;
71649 l_array_source_47 t_array_source_47;
71650 l_array_source_48 t_array_source_48;
71651 l_array_source_49 t_array_source_49;
71652 l_array_source_68 t_array_source_68;
71653 l_array_source_68_meaning t_array_lookup_meaning;
71654 l_array_source_122 t_array_source_122;
71655 l_array_source_123 t_array_source_123;
71656 l_array_source_124 t_array_source_124;
71657
71658 l_array_source_1 t_array_source_1;
71659 l_array_source_8 t_array_source_8;
71660 l_array_source_9 t_array_source_9;
71661 l_array_source_9_meaning t_array_lookup_meaning;
71662 l_array_source_11 t_array_source_11;
71663 l_array_source_13 t_array_source_13;
71664 l_array_source_15 t_array_source_15;
71665 l_array_source_15_meaning t_array_lookup_meaning;
71666 l_array_source_16 t_array_source_16;
71667 l_array_source_18 t_array_source_18;
71668 l_array_source_18_meaning t_array_lookup_meaning;
71669 l_array_source_19 t_array_source_19;
71670 l_array_source_21 t_array_source_21;
71671 l_array_source_23 t_array_source_23;
71672 l_array_source_25 t_array_source_25;
71673 l_array_source_26 t_array_source_26;
71674 l_array_source_27 t_array_source_27;
71675 l_array_source_28 t_array_source_28;
71676 l_array_source_29 t_array_source_29;
71677 l_array_source_30 t_array_source_30;
71678 l_array_source_31 t_array_source_31;
71679 l_array_source_32 t_array_source_32;
71680 l_array_source_34 t_array_source_34;
71681 l_array_source_35 t_array_source_35;
71682 l_array_source_36 t_array_source_36;
71683 l_array_source_37 t_array_source_37;
71684 l_array_source_38 t_array_source_38;
71685 l_array_source_42 t_array_source_42;
71686 l_array_source_43 t_array_source_43;
71687 l_array_source_44 t_array_source_44;
71688 l_array_source_45 t_array_source_45;
71689 l_array_source_46 t_array_source_46;
71690 l_array_source_46_meaning t_array_lookup_meaning;
71691 l_array_source_50 t_array_source_50;
71692 l_array_source_51 t_array_source_51;
71693 l_array_source_52 t_array_source_52;
71694 l_array_source_53 t_array_source_53;
71695 l_array_source_54 t_array_source_54;
71696 l_array_source_55 t_array_source_55;
71697 l_array_source_56 t_array_source_56;
71698 l_array_source_57 t_array_source_57;
71699 l_array_source_58 t_array_source_58;
71700 l_array_source_59 t_array_source_59;
71701 l_array_source_59_meaning t_array_lookup_meaning;
71702 l_array_source_60 t_array_source_60;
71703 l_array_source_61 t_array_source_61;
71704 l_array_source_62 t_array_source_62;
71705 l_array_source_63 t_array_source_63;
71706 l_array_source_64 t_array_source_64;
71707 l_array_source_65 t_array_source_65;
71708 l_array_source_66 t_array_source_66;
71709 l_array_source_81 t_array_source_81;
71710 l_array_source_82 t_array_source_82;
71711
71712 --
71713 CURSOR header_cur
71714 IS
71715 SELECT /*+ leading(xet) cardinality(xet,1) */
71716 -- Event Class Code: INVOICES
71717 xet.entity_id
71718 ,xet.legal_entity_id
71719 ,xet.entity_code
71720 ,xet.transaction_number
71721 ,xet.event_id
71722 ,xet.event_class_code
71723 ,xet.event_type_code
71724 ,xet.event_number
71725 ,xet.event_date
71726 ,xet.transaction_date
71727 ,xet.reference_num_1
71728 ,xet.reference_num_2
71729 ,xet.reference_num_3
71730 ,xet.reference_num_4
71731 ,xet.reference_char_1
71732 ,xet.reference_char_2
71733 ,xet.reference_char_3
71734 ,xet.reference_char_4
71735 ,xet.reference_date_1
71736 ,xet.reference_date_2
71737 ,xet.reference_date_3
71738 ,xet.reference_date_4
71739 ,xet.event_created_by
71740 ,xet.budgetary_control_flag
71741 , h3.ASP_RATE_VAR_GAIN_CCID source_6
71742 , h3.ASP_AUTOMATIC_OFFSETS_VALUE source_7
71743 , fvl7.meaning source_7_meaning
71744 , h3.ASP_RATE_VAR_LOSS_CCID source_10
71745 , h3.ASP_AUTO_OFFSET_FLAG source_12
71746 , fvl12.meaning source_12_meaning
71747 , h3.FSP_PURCH_ENCUMBRANCE_FLAG source_17
71751 , h2.INV_EXCHANGE_DATE source_39
71748 , fvl17.meaning source_17_meaning
71749 , h2.AI_INVOICE_ID source_24
71750 , h2.AI_INVOICE_CURRENCY_CODE source_33
71752 , h2.INV_EXCHANGE_RATE source_40
71753 , h2.INV_EXCHANGE_RATE_TYPE source_41
71754 , h2.AI_VENDOR_ID source_47
71755 , h2.AI_VENDOR_SITE_ID source_48
71756 , h2.THIRD_PARTY_TYPE source_49
71757 , h2.AI_INVOICE_TYPE_LOOKUP_CODE source_68
71758 , fvl68.meaning source_68_meaning
71759 , h2.INV_DOC_SEQUENCE_CATEGORY source_122
71760 , h2.INV_DOC_SEQUENCE_IDENTIFIER source_123
71761 , h2.INV_DOC_SEQUENCE_VALUE source_124
71762 FROM xla_events_gt xet
71763 , AP_INVOICE_EXTRACT_HEADER_V h2
71764 , AP_SYSTEM_PARAMETERS_EXTRACT_V h3
71765 , fnd_lookup_values fvl7
71766 , fnd_lookup_values fvl12
71767 , fnd_lookup_values fvl17
71768 , fnd_lookup_values fvl68
71769 WHERE xet.event_date between p_pad_start_date and p_pad_end_date
71770 and xet.event_class_code = C_EVENT_CLASS_CODE
71771 and xet.event_status_code <> 'N' AND h2.event_id = xet.event_id
71772 AND h3.asp_org_id = h2.ai_org_id AND fvl7.lookup_type(+) = 'LIABILITY FLEXBUILD METHOD'
71773 AND fvl7.lookup_code(+) = h3.ASP_AUTOMATIC_OFFSETS_VALUE
71774 AND fvl7.view_application_id(+) = 200
71775 AND fvl7.language(+) = USERENV('LANG')
71776 AND fvl12.lookup_type(+) = 'YES_NO'
71777 AND fvl12.lookup_code(+) = h3.ASP_AUTO_OFFSET_FLAG
71778 AND fvl12.view_application_id(+) = 0
71779 AND fvl12.language(+) = USERENV('LANG')
71780 AND fvl17.lookup_type(+) = 'YES_NO'
71781 AND fvl17.lookup_code(+) = h3.FSP_PURCH_ENCUMBRANCE_FLAG
71782 AND fvl17.view_application_id(+) = 0
71783 AND fvl17.language(+) = USERENV('LANG')
71784 AND fvl68.lookup_type(+) = 'INVOICE TYPE'
71785 AND fvl68.lookup_code(+) = h2.AI_INVOICE_TYPE_LOOKUP_CODE
71786 AND fvl68.view_application_id(+) = 200
71787 AND fvl68.language(+) = USERENV('LANG')
71788
71789 ORDER BY event_id
71790 ;
71791
71792
71793 --
71794 CURSOR line_cur (x_first_event_id in number, x_last_event_id in number)
71795 IS
71796 SELECT /*+ leading(xet) cardinality(xet,1) */
71797 -- Event Class Code: INVOICES
71798 xet.entity_id
71799 ,xet.legal_entity_id
71800 ,xet.entity_code
71801 ,xet.transaction_number
71802 ,xet.event_id
71803 ,xet.event_class_code
71804 ,xet.event_type_code
71805 ,xet.event_number
71806 ,xet.event_date
71807 ,xet.transaction_date
71808 ,xet.reference_num_1
71809 ,xet.reference_num_2
71810 ,xet.reference_num_3
71811 ,xet.reference_num_4
71812 ,xet.reference_char_1
71813 ,xet.reference_char_2
71814 ,xet.reference_char_3
71815 ,xet.reference_char_4
71816 ,xet.reference_date_1
71817 ,xet.reference_date_2
71818 ,xet.reference_date_3
71819 ,xet.reference_date_4
71820 ,xet.event_created_by
71821 ,xet.budgetary_control_flag
71822 , l1.LINE_NUMBER
71823 , l1.AID_DESCRIPTION source_1
71824 , l1.INV_DIST_BASE_AMOUNT source_8
71825 , l1.RELATED_INV_DIST_DEST_TYPE source_9
71826 , fvl9.meaning source_9_meaning
71827 , l1.AID_DIST_CCID source_11
71828 , l1.SELF_ASSESSED_TAX_ACCOUNT source_13
71829 , l1.AID_LINE_TYPE_LOOKUP_CODE source_15
71830 , fvl15.meaning source_15_meaning
71831 , l1.AID_AMOUNT_VARIANCE source_16
71832 , l1.POD_ACCRUE_ON_RECEIPT_FLAG source_18
71833 , fvl18.meaning source_18_meaning
71834 , l1.DIST_ACCOUNT_REVERSAL_OPTION source_19
71835 , l1.DISTRIBUTION_LINK_TYPE source_21
71836 , l1.ALLOC_TO_MAIN_DIST_ID source_23
71837 , l1.BUS_FLOW_AP_APP_ID source_25
71838 , l1.BUS_FLOW_INV_DIST_TYPE source_26
71839 , l1.BUS_FLOW_INV_ENTITY_CODE source_27
71840 , l1.BUS_FLOW_INV_DIST_ID source_28
71841 , l1.BUS_FLOW_INV_ID source_29
71842 , l1.AID_INVOICE_DIST_ID source_30
71843 , l1.UPG_ENC_CR_CCID source_31
71844 , l1.UPG_ENC_CR_AMT source_32
71845 , l1.UPG_ENC_CR_BASE_AMT source_34
71846 , l1.UPG_ENC_DR_CCID source_35
71847 , l1.UPG_ENC_DR_AMT source_36
71848 , l1.UPG_ENC_DR_BASE_AMT source_37
71849 , l1.UPG_AP_ENCUM_OPTION source_38
71850 , l1.AID_BASE_AMOUNT_VARIANCE source_42
71851 , l1.DEFERRED_END_DATE source_43
71852 , l1.DEFERRED_OPTION source_44
71853 , l1.DEFERRED_START_DATE source_45
71854 , l1.OVERRIDE_ACCTD_AMT_FLAG source_46
71855 , fvl46.meaning source_46_meaning
71856 , l1.AID_PARENT_REVERSAL_ID source_50
71857 , l1.AID_STAT_AMOUNT source_51
71858 , l4.TAX_LINE_ID source_52
71859 , l5.REC_NREC_TAX_DIST_ID source_53
71860 , l1.SUMMARY_TAX_LINE_ID source_54
71861 , l1.UPG_CR_ENC_TYPE_ID source_55
71862 , l1.UPG_DR_ENC_TYPE_ID source_56
71863 , l1.AID_AMOUNT source_57
71864 , l1.PO_DISTRIBUTION_ID source_58
71865 , l1.SELF_ASSESSED_TAX_FLAG source_59
71866 , fvl59.meaning source_59_meaning
71867 , l1.BUS_FLOW_PO_APP_ID source_60
71868 , l1.BUS_FLOW_PO_DIST_TYPE source_61
71869 , l1.BUS_FLOW_PO_ENTITY_CODE source_62
71870 , l1.BUS_FLOW_PO_DIST_ID source_63
71871 , l1.BUS_FLOW_PO_DOC_ID source_64
71872 , l1.ENCUMBRANCE_AMOUNT source_65
71873 , l1.ENCUMBRANCE_BASE_AMOUNT source_66
71874 , l1.AID_QUANTITY_VARIANCE source_81
71875 , l1.AID_BASE_QUANTITY_VARIANCE source_82
71876 FROM xla_events_gt xet
71877 , AP_EXTRACT_INVOICE_DTLS_BC_V l1
71881 , fnd_lookup_values fvl15
71878 , ZX_AP_DEF_TAX_EXTRACT_V l4
71879 , ZX_AP_TAX_JRNL_LINE_DESC_V l5
71880 , fnd_lookup_values fvl9
71882 , fnd_lookup_values fvl18
71883 , fnd_lookup_values fvl46
71884 , fnd_lookup_values fvl59
71885 WHERE xet.event_id between x_first_event_id and x_last_event_id
71886 and xet.event_date between p_pad_start_date and p_pad_end_date
71887 and xet.event_class_code = C_EVENT_CLASS_CODE
71888 and xet.event_status_code <> 'N' AND l1.event_id = xet.event_id
71889 AND l1.ZRND_tax_dist_id = l4.REC_NREC_TAX_DIST_ID (+) AND l1.ZRND_tax_dist_id = l5.REC_NREC_TAX_DIST_ID (+) AND fvl9.lookup_type(+) = 'DESTINATION TYPE'
71890 AND fvl9.lookup_code(+) = l1.RELATED_INV_DIST_DEST_TYPE
71891 AND fvl9.view_application_id(+) = 201
71892 AND fvl9.language(+) = USERENV('LANG')
71893 AND fvl15.lookup_type(+) = 'INVOICE DISTRIBUTION TYPE'
71894 AND fvl15.lookup_code(+) = l1.AID_LINE_TYPE_LOOKUP_CODE
71895 AND fvl15.view_application_id(+) = 200
71896 AND fvl15.language(+) = USERENV('LANG')
71897 AND fvl18.lookup_type(+) = 'YES_NO'
71898 AND fvl18.lookup_code(+) = l1.POD_ACCRUE_ON_RECEIPT_FLAG
71899 AND fvl18.view_application_id(+) = 0
71900 AND fvl18.language(+) = USERENV('LANG')
71901 AND fvl46.lookup_type(+) = 'YES_NO'
71902 AND fvl46.lookup_code(+) = l1.OVERRIDE_ACCTD_AMT_FLAG
71903 AND fvl46.view_application_id(+) = 0
71904 AND fvl46.language(+) = USERENV('LANG')
71905 AND fvl59.lookup_type(+) = 'YES_NO'
71906 AND fvl59.lookup_code(+) = l1.SELF_ASSESSED_TAX_FLAG
71907 AND fvl59.view_application_id(+) = 0
71908 AND fvl59.language(+) = USERENV('LANG')
71909 ;
71910
71911 --
71912 BEGIN
71913 IF g_log_enabled THEN
71914 l_log_module := C_DEFAULT_MODULE||'.EventClass_105';
71915 END IF;
71916 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
71917 trace
71918 (p_msg => 'BEGIN of EventClass_105'
71919 ,p_level => C_LEVEL_PROCEDURE
71920 ,p_module => l_log_module);
71921 END IF;
71922
71923 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
71924 trace
71925 (p_msg => 'p_application_id = '||p_application_id||
71926 ' - p_base_ledger_id = '||p_base_ledger_id||
71927 ' - p_target_ledger_id = '||p_target_ledger_id||
71928 ' - p_language = '||p_language||
71929 ' - p_currency_code = '||p_currency_code||
71930 ' - p_sla_ledger_id = '||p_sla_ledger_id
71931 ,p_level => C_LEVEL_STATEMENT
71932 ,p_module => l_log_module);
71933 END IF;
71934 --
71935 -- initialze arrays
71936 --
71937 g_array_event.DELETE;
71938 l_rec_array_event := l_null_rec_array_event;
71939 --
71940 --------------------------------------
71941 -- 4262811 Initialze MPA Line Number
71942 --------------------------------------
71943 XLA_AE_HEADER_PKG.g_mpa_line_num := 0;
71944
71945 --
71946
71947 --
71948 OPEN header_cur;
71949 --
71950 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
71951 trace
71952 (p_msg => 'SQL - FETCH header_cur'
71953 ,p_level => C_LEVEL_STATEMENT
71954 ,p_module => l_log_module);
71955 END IF;
71956 --
71957 LOOP
71958 FETCH header_cur BULK COLLECT INTO
71959 l_array_entity_id
71960 , l_array_legal_entity_id
71961 , l_array_entity_code
71962 , l_array_transaction_num
71963 , l_array_event_id
71964 , l_array_class_code
71965 , l_array_event_type
71966 , l_array_event_number
71967 , l_array_event_date
71968 , l_array_transaction_date
71969 , l_array_reference_num_1
71970 , l_array_reference_num_2
71971 , l_array_reference_num_3
71972 , l_array_reference_num_4
71973 , l_array_reference_char_1
71974 , l_array_reference_char_2
71975 , l_array_reference_char_3
71976 , l_array_reference_char_4
71977 , l_array_reference_date_1
71978 , l_array_reference_date_2
71979 , l_array_reference_date_3
71980 , l_array_reference_date_4
71981 , l_array_event_created_by
71982 , l_array_budgetary_control_flag
71983 , l_array_source_6
71984 , l_array_source_7
71985 , l_array_source_7_meaning
71986 , l_array_source_10
71987 , l_array_source_12
71988 , l_array_source_12_meaning
71989 , l_array_source_17
71990 , l_array_source_17_meaning
71991 , l_array_source_24
71992 , l_array_source_33
71993 , l_array_source_39
71994 , l_array_source_40
71995 , l_array_source_41
71996 , l_array_source_47
71997 , l_array_source_48
71998 , l_array_source_49
71999 , l_array_source_68
72000 , l_array_source_68_meaning
72001 , l_array_source_122
72002 , l_array_source_123
72003 , l_array_source_124
72004 LIMIT l_rows;
72005 --
72006 IF (C_LEVEL_EVENT >= g_log_level) THEN
72007 trace
72008 (p_msg => '# rows extracted from header extract objects = '||TO_CHAR(header_cur%ROWCOUNT)
72009 ,p_level => C_LEVEL_EVENT
72010 ,p_module => l_log_module);
72011 END IF;
72012 --
72013 EXIT WHEN l_array_entity_id.COUNT = 0;
72014
72015 -- initialize arrays
72019 --
72016 XLA_AE_HEADER_PKG.g_rec_header_new := NULL;
72017 XLA_AE_LINES_PKG.g_rec_lines := NULL;
72018
72020 -- Bug 4458708
72021 --
72022 XLA_AE_LINES_PKG.g_LineNumber := 0;
72023
72024
72025 -- 4262811 - when creating Accrual Reversal or MPA, use g_last_hdr_idx to increment for next header id
72026 g_last_hdr_idx := l_array_event_id.LAST;
72027 --
72028 -- loop for the headers. Each iteration is for each header extract row
72029 -- fetched in header cursor
72030 --
72031 FOR hdr_idx IN l_array_event_id.FIRST .. l_array_event_id.LAST LOOP
72032
72033 --
72034 -- set event info as cache for other routines to refer event attributes
72035 --
72036 XLA_AE_JOURNAL_ENTRY_PKG.set_event_info
72037 (p_application_id => p_application_id
72038 ,p_primary_ledger_id => p_primary_ledger_id
72039 ,p_base_ledger_id => p_base_ledger_id
72040 ,p_target_ledger_id => p_target_ledger_id
72041 ,p_entity_id => l_array_entity_id(hdr_idx)
72042 ,p_legal_entity_id => l_array_legal_entity_id(hdr_idx)
72043 ,p_entity_code => l_array_entity_code(hdr_idx)
72044 ,p_transaction_num => l_array_transaction_num(hdr_idx)
72045 ,p_event_id => l_array_event_id(hdr_idx)
72046 ,p_event_class_code => l_array_class_code(hdr_idx)
72047 ,p_event_type_code => l_array_event_type(hdr_idx)
72048 ,p_event_number => l_array_event_number(hdr_idx)
72049 ,p_event_date => l_array_event_date(hdr_idx)
72050 ,p_transaction_date => l_array_transaction_date(hdr_idx)
72051 ,p_reference_num_1 => l_array_reference_num_1(hdr_idx)
72052 ,p_reference_num_2 => l_array_reference_num_2(hdr_idx)
72053 ,p_reference_num_3 => l_array_reference_num_3(hdr_idx)
72054 ,p_reference_num_4 => l_array_reference_num_4(hdr_idx)
72055 ,p_reference_char_1 => l_array_reference_char_1(hdr_idx)
72056 ,p_reference_char_2 => l_array_reference_char_2(hdr_idx)
72057 ,p_reference_char_3 => l_array_reference_char_3(hdr_idx)
72058 ,p_reference_char_4 => l_array_reference_char_4(hdr_idx)
72059 ,p_reference_date_1 => l_array_reference_date_1(hdr_idx)
72060 ,p_reference_date_2 => l_array_reference_date_2(hdr_idx)
72061 ,p_reference_date_3 => l_array_reference_date_3(hdr_idx)
72062 ,p_reference_date_4 => l_array_reference_date_4(hdr_idx)
72063 ,p_event_created_by => l_array_event_created_by(hdr_idx)
72064 ,p_budgetary_control_flag => l_array_budgetary_control_flag(hdr_idx));
72065
72066 --
72067 -- set the status of entry to C_VALID (0)
72068 --
72069 XLA_AE_JOURNAL_ENTRY_PKG.g_global_status := XLA_AE_JOURNAL_ENTRY_PKG.C_VALID;
72070
72071 --
72072 -- initialize a row for ae header
72073 --
72074 XLA_AE_HEADER_PKG.InitHeader(hdr_idx);
72075
72076 l_event_id := l_array_event_id(hdr_idx);
72077
72078 --
72079 -- storing the hdr_idx for event. May be used by line cursor.
72080 --
72081 g_array_event(l_event_id).array_value_num('header_index') := hdr_idx;
72082
72083 --
72084 -- store sources from header extract. This can be improved to
72085 -- store only those sources from header extract that may be used in lines
72086 --
72087
72088 g_array_event(l_event_id).array_value_num('source_6') := l_array_source_6(hdr_idx);
72089 g_array_event(l_event_id).array_value_char('source_7') := l_array_source_7(hdr_idx);
72090 g_array_event(l_event_id).array_value_char('source_7_meaning') := l_array_source_7_meaning(hdr_idx);
72091 g_array_event(l_event_id).array_value_num('source_10') := l_array_source_10(hdr_idx);
72092 g_array_event(l_event_id).array_value_char('source_12') := l_array_source_12(hdr_idx);
72093 g_array_event(l_event_id).array_value_char('source_12_meaning') := l_array_source_12_meaning(hdr_idx);
72094 g_array_event(l_event_id).array_value_char('source_17') := l_array_source_17(hdr_idx);
72095 g_array_event(l_event_id).array_value_char('source_17_meaning') := l_array_source_17_meaning(hdr_idx);
72096 g_array_event(l_event_id).array_value_num('source_24') := l_array_source_24(hdr_idx);
72097 g_array_event(l_event_id).array_value_char('source_33') := l_array_source_33(hdr_idx);
72098 g_array_event(l_event_id).array_value_date('source_39') := l_array_source_39(hdr_idx);
72099 g_array_event(l_event_id).array_value_num('source_40') := l_array_source_40(hdr_idx);
72100 g_array_event(l_event_id).array_value_char('source_41') := l_array_source_41(hdr_idx);
72101 g_array_event(l_event_id).array_value_num('source_47') := l_array_source_47(hdr_idx);
72102 g_array_event(l_event_id).array_value_num('source_48') := l_array_source_48(hdr_idx);
72103 g_array_event(l_event_id).array_value_char('source_49') := l_array_source_49(hdr_idx);
72104 g_array_event(l_event_id).array_value_char('source_68') := l_array_source_68(hdr_idx);
72105 g_array_event(l_event_id).array_value_char('source_68_meaning') := l_array_source_68_meaning(hdr_idx);
72106 g_array_event(l_event_id).array_value_char('source_122') := l_array_source_122(hdr_idx);
72107 g_array_event(l_event_id).array_value_num('source_123') := l_array_source_123(hdr_idx);
72108 g_array_event(l_event_id).array_value_num('source_124') := l_array_source_124(hdr_idx);
72109
72110 --
72111 -- initilaize the status of ae headers for diffrent balance types
72112 -- the status is initialised to C_NOT_CREATED (2)
72113 --
72114 --g_array_event(l_event_id).array_value_num('actual_je_status') := XLA_AE_JOURNAL_ENTRY_PKG.C_NOT_CREATED;
72115 --g_array_event(l_event_id).array_value_num('budget_je_status') := XLA_AE_JOURNAL_ENTRY_PKG.C_NOT_CREATED;
72119 -- call api to validate and store accounting attributes for header
72116 --g_array_event(l_event_id).array_value_num('encumbrance_je_status') := XLA_AE_JOURNAL_ENTRY_PKG.C_NOT_CREATED;
72117
72118 --
72120 --
72121
72122 ------------------------------------------------------------
72123 -- Accrual Reversal : to get date for Standard Source (NONE)
72124 ------------------------------------------------------------
72125 l_acc_rev_gl_date_source := NULL;
72126
72127 l_rec_acct_attrs.array_acct_attr_code(1) := 'DOC_CATEGORY_CODE';
72128 l_rec_acct_attrs.array_char_value(1) := g_array_event(l_event_id).array_value_char('source_122');
72129 l_rec_acct_attrs.array_acct_attr_code(2) := 'DOC_SEQUENCE_ID';
72130 l_rec_acct_attrs.array_num_value(2) := g_array_event(l_event_id).array_value_num('source_123');
72131 l_rec_acct_attrs.array_acct_attr_code(3) := 'DOC_SEQUENCE_VALUE';
72132 l_rec_acct_attrs.array_num_value(3) := g_array_event(l_event_id).array_value_num('source_124');
72133 l_rec_acct_attrs.array_acct_attr_code(4) := 'GL_DATE';
72134 l_rec_acct_attrs.array_date_value(4) :=
72135 xla_ae_sources_pkg.GetSystemSourceDate(
72136 p_source_code => 'XLA_EVENT_DATE'
72137 , p_source_type_code => 'Y'
72138 , p_source_application_id => 602
72139 );
72140
72141
72142 XLA_AE_HEADER_PKG.SetHdrAcctAttrs(l_rec_acct_attrs);
72143
72144 XLA_AE_HEADER_PKG.SetJeCategoryName;
72145
72146 XLA_AE_HEADER_PKG.g_rec_header_new.array_event_type_code(hdr_idx) := l_array_event_type(hdr_idx);
72147 XLA_AE_HEADER_PKG.g_rec_header_new.array_event_id(hdr_idx) := l_array_event_id(hdr_idx);
72148 XLA_AE_HEADER_PKG.g_rec_header_new.array_entity_id(hdr_idx) := l_array_entity_id(hdr_idx);
72149 XLA_AE_HEADER_PKG.g_rec_header_new.array_event_number(hdr_idx) := l_array_event_number(hdr_idx);
72150 XLA_AE_HEADER_PKG.g_rec_header_new.array_target_ledger_id(hdr_idx) := p_target_ledger_id;
72151
72152
72153 --
72154 xla_ae_header_pkg.SetHdrDescription(
72155 p_description => Description_1 (
72156 p_application_id => p_application_id
72157 )
72158 );
72159 --
72160
72161 -- No header level analytical criteria
72162
72163 --
72164 --accounting attribute enhancement, bug 3612931
72165 --
72166 l_trx_reversal_source := SUBSTR(NULL, 1,30);
72167
72168 IF NVL(l_trx_reversal_source, 'N') NOT IN ('N','Y') THEN
72169 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
72170
72171 xla_accounting_err_pkg.build_message
72172 (p_appli_s_name => 'XLA'
72173 ,p_msg_name => 'XLA_AP_INVALID_HDR_ATTR'
72174 ,p_token_1 => 'ACCT_ATTR_NAME'
72175 ,p_value_1 => xla_ae_sources_pkg.GetAccountingSourceName('TRX_ACCT_REVERSAL_OPTION')
72176 ,p_token_2 => 'PRODUCT_NAME'
72177 ,p_value_2 => xla_ae_journal_entry_pkg.g_cache_event.application_name
72178 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
72179 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
72180 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id);
72181
72182 ELSIF NVL(l_trx_reversal_source, 'N') = 'Y' THEN
72183 --
72184 -- following sets the accounting attributes needed to reverse
72185 -- accounting for a distributeion
72186 --
72187 xla_ae_lines_pkg.SetTrxReversalAttrs
72188 (p_event_id => l_event_id
72189 ,p_gl_date => XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(hdr_idx)
72190 ,p_trx_reversal_source => l_trx_reversal_source);
72191
72192 END IF;
72193
72194
72195 ----------------------------------------------------------------
72196 -- 4262811 - update the header statuses to invalid in need be
72197 ----------------------------------------------------------------
72198 --
72199 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus (p_hdr_idx => hdr_idx);
72200
72201
72202 -----------------------------------------------
72203 -- No accrual reversal for the event class/type
72204 -----------------------------------------------
72205 ----------------------------------------------------------------
72206
72207 --
72208 -- this ends the header loop iteration for one bulk fetch
72209 --
72210 END LOOP;
72211
72212 l_first_event_id := l_array_event_id(l_array_event_id.FIRST);
72213 l_last_event_id := l_array_event_id(l_array_event_id.LAST);
72214
72215 --
72216 -- insert dummy rows into lines gt table that were created due to
72217 -- transaction reversals
72218 --
72219 IF XLA_AE_LINES_PKG.g_rec_lines.array_ae_header_id.COUNT > 0 THEN
72220 l_result := XLA_AE_LINES_PKG.InsertLines;
72221 END IF;
72222
72223 --
72224 -- reset the temp_line_num for each set of events fetched from header
72225 -- cursor rather than doing it for each new event in line cursor
72226 -- Bug 3939231
72227 --
72228 xla_ae_lines_pkg.g_temp_line_num := 0;
72229
72230
72231
72232 --
72233 OPEN line_cur(x_first_event_id => l_first_event_id, x_last_event_id => l_last_event_id);
72234 --
72235 --
72236 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
72237
72238 trace
72239 (p_msg => 'SQL - FETCH line_cur'
72240 ,p_level => C_LEVEL_STATEMENT
72241 ,p_module => l_log_module);
72242
72246 LOOP
72243 END IF;
72244 --
72245 --
72247 --
72248 FETCH line_cur BULK COLLECT INTO
72249 l_array_entity_id
72250 , l_array_legal_entity_id
72251 , l_array_entity_code
72252 , l_array_transaction_num
72253 , l_array_event_id
72254 , l_array_class_code
72255 , l_array_event_type
72256 , l_array_event_number
72257 , l_array_event_date
72258 , l_array_transaction_date
72259 , l_array_reference_num_1
72260 , l_array_reference_num_2
72261 , l_array_reference_num_3
72262 , l_array_reference_num_4
72263 , l_array_reference_char_1
72264 , l_array_reference_char_2
72265 , l_array_reference_char_3
72266 , l_array_reference_char_4
72267 , l_array_reference_date_1
72268 , l_array_reference_date_2
72269 , l_array_reference_date_3
72270 , l_array_reference_date_4
72271 , l_array_event_created_by
72272 , l_array_budgetary_control_flag
72273 , l_array_extract_line_num
72274 , l_array_source_1
72275 , l_array_source_8
72276 , l_array_source_9
72277 , l_array_source_9_meaning
72278 , l_array_source_11
72279 , l_array_source_13
72280 , l_array_source_15
72281 , l_array_source_15_meaning
72282 , l_array_source_16
72283 , l_array_source_18
72284 , l_array_source_18_meaning
72285 , l_array_source_19
72286 , l_array_source_21
72287 , l_array_source_23
72288 , l_array_source_25
72289 , l_array_source_26
72290 , l_array_source_27
72291 , l_array_source_28
72292 , l_array_source_29
72293 , l_array_source_30
72294 , l_array_source_31
72295 , l_array_source_32
72296 , l_array_source_34
72297 , l_array_source_35
72298 , l_array_source_36
72299 , l_array_source_37
72300 , l_array_source_38
72301 , l_array_source_42
72302 , l_array_source_43
72303 , l_array_source_44
72304 , l_array_source_45
72305 , l_array_source_46
72306 , l_array_source_46_meaning
72307 , l_array_source_50
72308 , l_array_source_51
72309 , l_array_source_52
72310 , l_array_source_53
72311 , l_array_source_54
72312 , l_array_source_55
72313 , l_array_source_56
72314 , l_array_source_57
72315 , l_array_source_58
72316 , l_array_source_59
72317 , l_array_source_59_meaning
72318 , l_array_source_60
72319 , l_array_source_61
72320 , l_array_source_62
72321 , l_array_source_63
72322 , l_array_source_64
72323 , l_array_source_65
72324 , l_array_source_66
72325 , l_array_source_81
72326 , l_array_source_82
72327 LIMIT l_rows;
72328
72329 --
72330 IF (C_LEVEL_EVENT >= g_log_level) THEN
72331 trace
72332 (p_msg => '# rows extracted from line extract objects = '||TO_CHAR(line_cur%ROWCOUNT)
72333 ,p_level => C_LEVEL_EVENT
72334 ,p_module => l_log_module);
72335 END IF;
72336 --
72337 EXIT WHEN l_array_entity_id.count = 0;
72338
72339 XLA_AE_LINES_PKG.g_rec_lines := null;
72340
72341 --
72342 -- Bug 4458708
72343 --
72344 XLA_AE_LINES_PKG.g_LineNumber := 0;
72345 --
72346 --
72347
72348 FOR Idx IN 1..l_array_event_id.count LOOP
72349 --
72350 -- 5648433 (move l_event_id out of IF statement) set l_event_id to be used inside IF condition
72351 --
72352 l_event_id := l_array_event_id(idx); -- 5648433
72353
72354 --
72355 -- Bug 4872078 - Do nothing if the event is meant for transaction reversal
72356 --
72357
72358 IF NVL(xla_ae_header_pkg.g_rec_header_new.array_trx_acct_reversal_option
72359 (g_array_event(l_event_id).array_value_num('header_index'))
72360 ,'N'
72361 ) <> 'Y'
72362 THEN
72363 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
72364 trace
72365 (p_msg => 'Trancaction revesal option is not Y '
72366 ,p_level => C_LEVEL_STATEMENT
72367 ,p_module => l_log_module);
72368 END IF;
72369
72370 --
72371 -- set the XLA_AE_JOURNAL_ENTRY_PKG.g_global_status to C_VALID (0)
72372 --
72373 XLA_AE_JOURNAL_ENTRY_PKG.g_global_status := XLA_AE_JOURNAL_ENTRY_PKG.C_VALID;
72374 --
72375 -- set event info as cache for other routines to refer event attributes
72376 --
72377
72378 IF l_event_id <> NVL(l_previous_event_id, -1) THEN
72379 l_previous_event_id := l_event_id;
72380
72381 XLA_AE_JOURNAL_ENTRY_PKG.set_event_info
72382 (p_application_id => p_application_id
72383 ,p_primary_ledger_id => p_primary_ledger_id
72384 ,p_base_ledger_id => p_base_ledger_id
72385 ,p_target_ledger_id => p_target_ledger_id
72386 ,p_entity_id => l_array_entity_id(Idx)
72387 ,p_legal_entity_id => l_array_legal_entity_id(Idx)
72388 ,p_entity_code => l_array_entity_code(Idx)
72389 ,p_transaction_num => l_array_transaction_num(Idx)
72390 ,p_event_id => l_array_event_id(Idx)
72391 ,p_event_class_code => l_array_class_code(Idx)
72392 ,p_event_type_code => l_array_event_type(Idx)
72393 ,p_event_number => l_array_event_number(Idx)
72397 ,p_reference_num_2 => l_array_reference_num_2(Idx)
72394 ,p_event_date => l_array_event_date(Idx)
72395 ,p_transaction_date => l_array_transaction_date(Idx)
72396 ,p_reference_num_1 => l_array_reference_num_1(Idx)
72398 ,p_reference_num_3 => l_array_reference_num_3(Idx)
72399 ,p_reference_num_4 => l_array_reference_num_4(Idx)
72400 ,p_reference_char_1 => l_array_reference_char_1(Idx)
72401 ,p_reference_char_2 => l_array_reference_char_2(Idx)
72402 ,p_reference_char_3 => l_array_reference_char_3(Idx)
72403 ,p_reference_char_4 => l_array_reference_char_4(Idx)
72404 ,p_reference_date_1 => l_array_reference_date_1(Idx)
72405 ,p_reference_date_2 => l_array_reference_date_2(Idx)
72406 ,p_reference_date_3 => l_array_reference_date_3(Idx)
72407 ,p_reference_date_4 => l_array_reference_date_4(Idx)
72408 ,p_event_created_by => l_array_event_created_by(Idx)
72409 ,p_budgetary_control_flag => l_array_budgetary_control_flag(Idx));
72410 --
72411 END IF;
72412
72413
72414
72415 --
72416 xla_ae_lines_pkg.SetExtractLine(p_extract_line => l_array_extract_line_num(Idx));
72417
72418 l_acct_reversal_source := SUBSTR(l_array_source_19(Idx), 1,30);
72419
72420 IF l_continue_with_lines THEN
72421 IF NVL(l_acct_reversal_source, 'N') NOT IN ('N','Y','B') THEN
72422 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
72423
72424 xla_accounting_err_pkg.build_message
72425 (p_appli_s_name => 'XLA'
72426 ,p_msg_name => 'XLA_AP_INVALID_REVERSAL_OPTION'
72427 ,p_token_1 => 'LINE_NUMBER'
72428 ,p_value_1 => l_array_extract_line_num(Idx)
72429 ,p_token_2 => 'PRODUCT_NAME'
72430 ,p_value_2 => xla_ae_journal_entry_pkg.g_cache_event.application_name
72431 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
72432 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
72433 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id);
72434
72435 ELSIF NVL(l_acct_reversal_source, 'N') IN ('Y','B') THEN
72436 --
72437 -- following sets the accounting attributes needed to reverse
72438 -- accounting for a distributeion
72439 --
72440
72441 --
72442 -- 5217187
72443 --
72444 l_rec_rev_acct_attrs.array_acct_attr_code(1):= 'GL_DATE';
72445 l_rec_rev_acct_attrs.array_date_value(1) := XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(
72446 g_array_event(l_event_id).array_value_num('header_index'));
72447 --
72448 --
72449
72450 l_rec_rev_acct_attrs.array_acct_attr_code(2) := 'ACCOUNTING_REVERSAL_OPTION';
72451 l_rec_rev_acct_attrs.array_char_value(2) := l_array_source_19(Idx);
72452 l_rec_rev_acct_attrs.array_acct_attr_code(3) := 'DISTRIBUTION_IDENTIFIER_1';
72453 l_rec_rev_acct_attrs.array_num_value(3) := l_array_source_30(Idx);
72454 l_rec_rev_acct_attrs.array_acct_attr_code(4) := 'DISTRIBUTION_TYPE';
72455 l_rec_rev_acct_attrs.array_char_value(4) := l_array_source_21(Idx);
72456 l_rec_rev_acct_attrs.array_acct_attr_code(5) := 'ENC_UPG_CR_CCID';
72457 l_rec_rev_acct_attrs.array_num_value(5) := l_array_source_31(Idx);
72458 l_rec_rev_acct_attrs.array_acct_attr_code(6) := 'ENC_UPG_CR_ENTERED_AMT';
72459 l_rec_rev_acct_attrs.array_num_value(6) := l_array_source_32(Idx);
72460 l_rec_rev_acct_attrs.array_acct_attr_code(7) := 'ENC_UPG_CR_ENTERED_CURR';
72461 l_rec_rev_acct_attrs.array_char_value(7) := g_array_event(l_event_id).array_value_char('source_33');
72462 l_rec_rev_acct_attrs.array_acct_attr_code(8) := 'ENC_UPG_CR_LEDGER_AMT';
72463 l_rec_rev_acct_attrs.array_num_value(8) := l_array_source_34(Idx);
72464 l_rec_rev_acct_attrs.array_acct_attr_code(9) := 'ENC_UPG_DR_CCID';
72465 l_rec_rev_acct_attrs.array_num_value(9) := l_array_source_35(Idx);
72466 l_rec_rev_acct_attrs.array_acct_attr_code(10) := 'ENC_UPG_DR_ENTERED_AMT';
72467 l_rec_rev_acct_attrs.array_num_value(10) := l_array_source_36(Idx);
72468 l_rec_rev_acct_attrs.array_acct_attr_code(11) := 'ENC_UPG_DR_ENTERED_CURR';
72469 l_rec_rev_acct_attrs.array_char_value(11) := g_array_event(l_event_id).array_value_char('source_33');
72470 l_rec_rev_acct_attrs.array_acct_attr_code(12) := 'ENC_UPG_DR_LEDGER_AMT';
72471 l_rec_rev_acct_attrs.array_num_value(12) := l_array_source_37(Idx);
72472 l_rec_rev_acct_attrs.array_acct_attr_code(13) := 'ENC_UPG_OPTION';
72473 l_rec_rev_acct_attrs.array_char_value(13) := l_array_source_38(Idx);
72474 l_rec_rev_acct_attrs.array_acct_attr_code(14) := 'PARTY_TYPE';
72475 l_rec_rev_acct_attrs.array_char_value(14) := g_array_event(l_event_id).array_value_char('source_49');
72476 l_rec_rev_acct_attrs.array_acct_attr_code(15) := 'REVERSED_DISTRIBUTION_ID1';
72477 l_rec_rev_acct_attrs.array_num_value(15) := l_array_source_50(Idx);
72478 l_rec_rev_acct_attrs.array_acct_attr_code(16) := 'REVERSED_DISTRIBUTION_TYPE';
72479 l_rec_rev_acct_attrs.array_char_value(16) := l_array_source_21(Idx);
72480 l_rec_rev_acct_attrs.array_acct_attr_code(17) := 'TAX_LINE_REF_ID';
72481 l_rec_rev_acct_attrs.array_num_value(17) := l_array_source_52(Idx);
72482 l_rec_rev_acct_attrs.array_acct_attr_code(18) := 'TAX_REC_NREC_DIST_REF_ID';
72486 l_rec_rev_acct_attrs.array_acct_attr_code(20) := 'UPG_CR_ENC_TYPE_ID';
72483 l_rec_rev_acct_attrs.array_num_value(18) := l_array_source_53(Idx);
72484 l_rec_rev_acct_attrs.array_acct_attr_code(19) := 'TAX_SUMMARY_LINE_REF_ID';
72485 l_rec_rev_acct_attrs.array_num_value(19) := l_array_source_54(Idx);
72487 l_rec_rev_acct_attrs.array_num_value(20) := l_array_source_55(Idx);
72488 l_rec_rev_acct_attrs.array_acct_attr_code(21) := 'UPG_DR_ENC_TYPE_ID';
72489 l_rec_rev_acct_attrs.array_num_value(21) := l_array_source_56(Idx);
72490
72491
72492 xla_ae_lines_pkg.SetAcctReversalAttrs
72493 (p_event_id => l_event_id
72494 ,p_rec_acct_attrs => l_rec_rev_acct_attrs
72495 ,p_calculate_acctd_flag => l_calculate_acctd_flag
72496 ,p_calculate_g_l_flag => l_calculate_g_l_flag);
72497 END IF;
72498
72499 IF NVL(l_acct_reversal_source, 'N') IN ('N','B') THEN
72500 l_actual_flag := NULL; l_actual_gain_loss_ref := '#####';
72501
72502 --
72503 AcctLineType_16 (
72504 p_application_id => p_application_id
72505 ,p_event_id => l_event_id
72506 ,p_calculate_acctd_flag => l_calculate_acctd_flag
72507 ,p_calculate_g_l_flag => l_calculate_g_l_flag
72508 ,p_actual_flag => l_actual_flag
72509 ,p_balance_type_code => l_balance_type_code
72510 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
72511
72512 , p_source_1 => l_array_source_1(Idx)
72513 , p_source_11 => l_array_source_11(Idx)
72514 , p_source_15 => l_array_source_15(Idx)
72515 , p_source_15_meaning => l_array_source_15_meaning(Idx)
72516 , p_source_16 => l_array_source_16(Idx)
72517 , p_source_17 => g_array_event(l_event_id).array_value_char('source_17')
72518 , p_source_17_meaning => g_array_event(l_event_id).array_value_char('source_17_meaning')
72519 , p_source_18 => l_array_source_18(Idx)
72520 , p_source_18_meaning => l_array_source_18_meaning(Idx)
72521 , p_source_19 => l_array_source_19(Idx)
72522 , p_source_21 => l_array_source_21(Idx)
72523 , p_source_23 => l_array_source_23(Idx)
72524 , p_source_24 => g_array_event(l_event_id).array_value_num('source_24')
72525 , p_source_25 => l_array_source_25(Idx)
72526 , p_source_26 => l_array_source_26(Idx)
72527 , p_source_27 => l_array_source_27(Idx)
72528 , p_source_28 => l_array_source_28(Idx)
72529 , p_source_29 => l_array_source_29(Idx)
72530 , p_source_30 => l_array_source_30(Idx)
72531 , p_source_31 => l_array_source_31(Idx)
72532 , p_source_32 => l_array_source_32(Idx)
72533 , p_source_33 => g_array_event(l_event_id).array_value_char('source_33')
72534 , p_source_34 => l_array_source_34(Idx)
72535 , p_source_35 => l_array_source_35(Idx)
72536 , p_source_36 => l_array_source_36(Idx)
72537 , p_source_37 => l_array_source_37(Idx)
72538 , p_source_38 => l_array_source_38(Idx)
72539 , p_source_39 => g_array_event(l_event_id).array_value_date('source_39')
72540 , p_source_40 => g_array_event(l_event_id).array_value_num('source_40')
72541 , p_source_41 => g_array_event(l_event_id).array_value_char('source_41')
72542 , p_source_42 => l_array_source_42(Idx)
72543 , p_source_43 => l_array_source_43(Idx)
72544 , p_source_44 => l_array_source_44(Idx)
72545 , p_source_45 => l_array_source_45(Idx)
72546 , p_source_46 => l_array_source_46(Idx)
72547 , p_source_46_meaning => l_array_source_46_meaning(Idx)
72548 , p_source_47 => g_array_event(l_event_id).array_value_num('source_47')
72549 , p_source_48 => g_array_event(l_event_id).array_value_num('source_48')
72550 , p_source_49 => g_array_event(l_event_id).array_value_char('source_49')
72551 , p_source_50 => l_array_source_50(Idx)
72552 , p_source_51 => l_array_source_51(Idx)
72553 , p_source_52 => l_array_source_52(Idx)
72554 , p_source_53 => l_array_source_53(Idx)
72555 , p_source_54 => l_array_source_54(Idx)
72556 , p_source_55 => l_array_source_55(Idx)
72557 , p_source_56 => l_array_source_56(Idx)
72558 , p_source_57 => l_array_source_57(Idx)
72559 );
72560 If(l_balance_type_code = 'A') THEN
72561 l_actual_gain_loss_ref := l_gain_or_loss_ref;
72562 END IF;
72563
72564 --
72565
72566
72567 --
72568 AcctLineType_24 (
72569 p_application_id => p_application_id
72570 ,p_event_id => l_event_id
72571 ,p_calculate_acctd_flag => l_calculate_acctd_flag
72572 ,p_calculate_g_l_flag => l_calculate_g_l_flag
72573 ,p_actual_flag => l_actual_flag
72574 ,p_balance_type_code => l_balance_type_code
72575 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
72576
72577 , p_source_1 => l_array_source_1(Idx)
72578 , p_source_6 => g_array_event(l_event_id).array_value_num('source_6')
72579 , p_source_7 => g_array_event(l_event_id).array_value_char('source_7')
72580 , p_source_7_meaning => g_array_event(l_event_id).array_value_char('source_7_meaning')
72581 , p_source_8 => l_array_source_8(Idx)
72582 , p_source_9 => l_array_source_9(Idx)
72583 , p_source_9_meaning => l_array_source_9_meaning(Idx)
72584 , p_source_10 => g_array_event(l_event_id).array_value_num('source_10')
72585 , p_source_11 => l_array_source_11(Idx)
72586 , p_source_12 => g_array_event(l_event_id).array_value_char('source_12')
72587 , p_source_12_meaning => g_array_event(l_event_id).array_value_char('source_12_meaning')
72588 , p_source_15 => l_array_source_15(Idx)
72589 , p_source_15_meaning => l_array_source_15_meaning(Idx)
72590 , p_source_17 => g_array_event(l_event_id).array_value_char('source_17')
72591 , p_source_17_meaning => g_array_event(l_event_id).array_value_char('source_17_meaning')
72592 , p_source_19 => l_array_source_19(Idx)
72593 , p_source_21 => l_array_source_21(Idx)
72594 , p_source_23 => l_array_source_23(Idx)
72598 , p_source_27 => l_array_source_27(Idx)
72595 , p_source_24 => g_array_event(l_event_id).array_value_num('source_24')
72596 , p_source_25 => l_array_source_25(Idx)
72597 , p_source_26 => l_array_source_26(Idx)
72599 , p_source_28 => l_array_source_28(Idx)
72600 , p_source_29 => l_array_source_29(Idx)
72601 , p_source_30 => l_array_source_30(Idx)
72602 , p_source_31 => l_array_source_31(Idx)
72603 , p_source_32 => l_array_source_32(Idx)
72604 , p_source_33 => g_array_event(l_event_id).array_value_char('source_33')
72605 , p_source_34 => l_array_source_34(Idx)
72606 , p_source_35 => l_array_source_35(Idx)
72607 , p_source_36 => l_array_source_36(Idx)
72608 , p_source_37 => l_array_source_37(Idx)
72609 , p_source_38 => l_array_source_38(Idx)
72610 , p_source_39 => g_array_event(l_event_id).array_value_date('source_39')
72611 , p_source_40 => g_array_event(l_event_id).array_value_num('source_40')
72612 , p_source_41 => g_array_event(l_event_id).array_value_char('source_41')
72613 , p_source_43 => l_array_source_43(Idx)
72614 , p_source_44 => l_array_source_44(Idx)
72615 , p_source_45 => l_array_source_45(Idx)
72616 , p_source_46 => l_array_source_46(Idx)
72617 , p_source_46_meaning => l_array_source_46_meaning(Idx)
72618 , p_source_47 => g_array_event(l_event_id).array_value_num('source_47')
72619 , p_source_48 => g_array_event(l_event_id).array_value_num('source_48')
72620 , p_source_49 => g_array_event(l_event_id).array_value_char('source_49')
72621 , p_source_50 => l_array_source_50(Idx)
72622 , p_source_51 => l_array_source_51(Idx)
72623 , p_source_52 => l_array_source_52(Idx)
72624 , p_source_53 => l_array_source_53(Idx)
72625 , p_source_54 => l_array_source_54(Idx)
72626 , p_source_55 => l_array_source_55(Idx)
72627 , p_source_56 => l_array_source_56(Idx)
72628 , p_source_57 => l_array_source_57(Idx)
72629 , p_source_65 => l_array_source_65(Idx)
72630 , p_source_66 => l_array_source_66(Idx)
72631 );
72632 If(l_balance_type_code = 'A') THEN
72633 l_actual_gain_loss_ref := l_gain_or_loss_ref;
72634 END IF;
72635
72636 --
72637
72638
72639 --
72640 AcctLineType_28 (
72641 p_application_id => p_application_id
72642 ,p_event_id => l_event_id
72643 ,p_calculate_acctd_flag => l_calculate_acctd_flag
72644 ,p_calculate_g_l_flag => l_calculate_g_l_flag
72645 ,p_actual_flag => l_actual_flag
72646 ,p_balance_type_code => l_balance_type_code
72647 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
72648
72649 , p_source_1 => l_array_source_1(Idx)
72650 , p_source_11 => l_array_source_11(Idx)
72651 , p_source_15 => l_array_source_15(Idx)
72652 , p_source_15_meaning => l_array_source_15_meaning(Idx)
72653 , p_source_17 => g_array_event(l_event_id).array_value_char('source_17')
72654 , p_source_17_meaning => g_array_event(l_event_id).array_value_char('source_17_meaning')
72655 , p_source_19 => l_array_source_19(Idx)
72656 , p_source_21 => l_array_source_21(Idx)
72657 , p_source_23 => l_array_source_23(Idx)
72658 , p_source_24 => g_array_event(l_event_id).array_value_num('source_24')
72659 , p_source_25 => l_array_source_25(Idx)
72660 , p_source_26 => l_array_source_26(Idx)
72661 , p_source_27 => l_array_source_27(Idx)
72662 , p_source_28 => l_array_source_28(Idx)
72663 , p_source_29 => l_array_source_29(Idx)
72664 , p_source_30 => l_array_source_30(Idx)
72665 , p_source_31 => l_array_source_31(Idx)
72666 , p_source_32 => l_array_source_32(Idx)
72667 , p_source_33 => g_array_event(l_event_id).array_value_char('source_33')
72668 , p_source_34 => l_array_source_34(Idx)
72669 , p_source_35 => l_array_source_35(Idx)
72670 , p_source_36 => l_array_source_36(Idx)
72671 , p_source_37 => l_array_source_37(Idx)
72672 , p_source_38 => l_array_source_38(Idx)
72673 , p_source_39 => g_array_event(l_event_id).array_value_date('source_39')
72674 , p_source_40 => g_array_event(l_event_id).array_value_num('source_40')
72675 , p_source_41 => g_array_event(l_event_id).array_value_char('source_41')
72676 , p_source_43 => l_array_source_43(Idx)
72677 , p_source_44 => l_array_source_44(Idx)
72678 , p_source_45 => l_array_source_45(Idx)
72679 , p_source_46 => l_array_source_46(Idx)
72680 , p_source_46_meaning => l_array_source_46_meaning(Idx)
72681 , p_source_47 => g_array_event(l_event_id).array_value_num('source_47')
72682 , p_source_48 => g_array_event(l_event_id).array_value_num('source_48')
72683 , p_source_49 => g_array_event(l_event_id).array_value_char('source_49')
72684 , p_source_50 => l_array_source_50(Idx)
72685 , p_source_51 => l_array_source_51(Idx)
72686 , p_source_52 => l_array_source_52(Idx)
72687 , p_source_53 => l_array_source_53(Idx)
72688 , p_source_54 => l_array_source_54(Idx)
72689 , p_source_55 => l_array_source_55(Idx)
72690 , p_source_56 => l_array_source_56(Idx)
72691 , p_source_57 => l_array_source_57(Idx)
72692 , p_source_65 => l_array_source_65(Idx)
72693 , p_source_66 => l_array_source_66(Idx)
72694 );
72695 If(l_balance_type_code = 'A') THEN
72696 l_actual_gain_loss_ref := l_gain_or_loss_ref;
72697 END IF;
72698
72699 --
72700
72701
72702 --
72703 AcctLineType_30 (
72704 p_application_id => p_application_id
72705 ,p_event_id => l_event_id
72706 ,p_calculate_acctd_flag => l_calculate_acctd_flag
72707 ,p_calculate_g_l_flag => l_calculate_g_l_flag
72708 ,p_actual_flag => l_actual_flag
72709 ,p_balance_type_code => l_balance_type_code
72710 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
72711
72712 , p_source_1 => l_array_source_1(Idx)
72716 , p_source_15_meaning => l_array_source_15_meaning(Idx)
72713 , p_source_8 => l_array_source_8(Idx)
72714 , p_source_11 => l_array_source_11(Idx)
72715 , p_source_15 => l_array_source_15(Idx)
72717 , p_source_19 => l_array_source_19(Idx)
72718 , p_source_21 => l_array_source_21(Idx)
72719 , p_source_23 => l_array_source_23(Idx)
72720 , p_source_24 => g_array_event(l_event_id).array_value_num('source_24')
72721 , p_source_25 => l_array_source_25(Idx)
72722 , p_source_26 => l_array_source_26(Idx)
72723 , p_source_27 => l_array_source_27(Idx)
72724 , p_source_28 => l_array_source_28(Idx)
72725 , p_source_29 => l_array_source_29(Idx)
72726 , p_source_30 => l_array_source_30(Idx)
72727 , p_source_31 => l_array_source_31(Idx)
72728 , p_source_32 => l_array_source_32(Idx)
72729 , p_source_33 => g_array_event(l_event_id).array_value_char('source_33')
72730 , p_source_34 => l_array_source_34(Idx)
72731 , p_source_35 => l_array_source_35(Idx)
72732 , p_source_36 => l_array_source_36(Idx)
72733 , p_source_37 => l_array_source_37(Idx)
72734 , p_source_38 => l_array_source_38(Idx)
72735 , p_source_39 => g_array_event(l_event_id).array_value_date('source_39')
72736 , p_source_40 => g_array_event(l_event_id).array_value_num('source_40')
72737 , p_source_41 => g_array_event(l_event_id).array_value_char('source_41')
72738 , p_source_43 => l_array_source_43(Idx)
72739 , p_source_44 => l_array_source_44(Idx)
72740 , p_source_45 => l_array_source_45(Idx)
72741 , p_source_46 => l_array_source_46(Idx)
72742 , p_source_46_meaning => l_array_source_46_meaning(Idx)
72743 , p_source_47 => g_array_event(l_event_id).array_value_num('source_47')
72744 , p_source_48 => g_array_event(l_event_id).array_value_num('source_48')
72745 , p_source_49 => g_array_event(l_event_id).array_value_char('source_49')
72746 , p_source_50 => l_array_source_50(Idx)
72747 , p_source_51 => l_array_source_51(Idx)
72748 , p_source_52 => l_array_source_52(Idx)
72749 , p_source_53 => l_array_source_53(Idx)
72750 , p_source_54 => l_array_source_54(Idx)
72751 , p_source_55 => l_array_source_55(Idx)
72752 , p_source_56 => l_array_source_56(Idx)
72753 , p_source_57 => l_array_source_57(Idx)
72754 );
72755 If(l_balance_type_code = 'A') THEN
72756 l_actual_gain_loss_ref := l_gain_or_loss_ref;
72757 END IF;
72758
72759 --
72760
72761
72762 --
72763 AcctLineType_31 (
72764 p_application_id => p_application_id
72765 ,p_event_id => l_event_id
72766 ,p_calculate_acctd_flag => l_calculate_acctd_flag
72767 ,p_calculate_g_l_flag => l_calculate_g_l_flag
72768 ,p_actual_flag => l_actual_flag
72769 ,p_balance_type_code => l_balance_type_code
72770 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
72771
72772 , p_source_15 => l_array_source_15(Idx)
72773 , p_source_15_meaning => l_array_source_15_meaning(Idx)
72774 , p_source_18 => l_array_source_18(Idx)
72775 , p_source_18_meaning => l_array_source_18_meaning(Idx)
72776 , p_source_19 => l_array_source_19(Idx)
72777 , p_source_21 => l_array_source_21(Idx)
72778 , p_source_23 => l_array_source_23(Idx)
72779 , p_source_24 => g_array_event(l_event_id).array_value_num('source_24')
72780 , p_source_30 => l_array_source_30(Idx)
72781 , p_source_31 => l_array_source_31(Idx)
72782 , p_source_32 => l_array_source_32(Idx)
72783 , p_source_33 => g_array_event(l_event_id).array_value_char('source_33')
72784 , p_source_34 => l_array_source_34(Idx)
72785 , p_source_35 => l_array_source_35(Idx)
72786 , p_source_36 => l_array_source_36(Idx)
72787 , p_source_37 => l_array_source_37(Idx)
72788 , p_source_38 => l_array_source_38(Idx)
72789 , p_source_43 => l_array_source_43(Idx)
72790 , p_source_44 => l_array_source_44(Idx)
72791 , p_source_45 => l_array_source_45(Idx)
72792 , p_source_46 => l_array_source_46(Idx)
72793 , p_source_46_meaning => l_array_source_46_meaning(Idx)
72794 , p_source_49 => g_array_event(l_event_id).array_value_char('source_49')
72795 , p_source_50 => l_array_source_50(Idx)
72796 , p_source_51 => l_array_source_51(Idx)
72797 , p_source_52 => l_array_source_52(Idx)
72798 , p_source_53 => l_array_source_53(Idx)
72799 , p_source_54 => l_array_source_54(Idx)
72800 , p_source_55 => l_array_source_55(Idx)
72801 , p_source_56 => l_array_source_56(Idx)
72802 , p_source_57 => l_array_source_57(Idx)
72803 , p_source_58 => l_array_source_58(Idx)
72804 , p_source_59 => l_array_source_59(Idx)
72805 , p_source_59_meaning => l_array_source_59_meaning(Idx)
72806 , p_source_60 => l_array_source_60(Idx)
72807 , p_source_61 => l_array_source_61(Idx)
72808 , p_source_62 => l_array_source_62(Idx)
72809 , p_source_63 => l_array_source_63(Idx)
72810 , p_source_64 => l_array_source_64(Idx)
72811 , p_source_65 => l_array_source_65(Idx)
72812 , p_source_66 => l_array_source_66(Idx)
72813 );
72814 If(l_balance_type_code = 'A') THEN
72815 l_actual_gain_loss_ref := l_gain_or_loss_ref;
72816 END IF;
72817
72818 --
72819
72820
72821 --
72822 AcctLineType_32 (
72823 p_application_id => p_application_id
72824 ,p_event_id => l_event_id
72825 ,p_calculate_acctd_flag => l_calculate_acctd_flag
72826 ,p_calculate_g_l_flag => l_calculate_g_l_flag
72827 ,p_actual_flag => l_actual_flag
72828 ,p_balance_type_code => l_balance_type_code
72829 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
72830
72831 , p_source_15 => l_array_source_15(Idx)
72832 , p_source_15_meaning => l_array_source_15_meaning(Idx)
72836 , p_source_21 => l_array_source_21(Idx)
72833 , p_source_18 => l_array_source_18(Idx)
72834 , p_source_18_meaning => l_array_source_18_meaning(Idx)
72835 , p_source_19 => l_array_source_19(Idx)
72837 , p_source_23 => l_array_source_23(Idx)
72838 , p_source_24 => g_array_event(l_event_id).array_value_num('source_24')
72839 , p_source_30 => l_array_source_30(Idx)
72840 , p_source_31 => l_array_source_31(Idx)
72841 , p_source_32 => l_array_source_32(Idx)
72842 , p_source_33 => g_array_event(l_event_id).array_value_char('source_33')
72843 , p_source_34 => l_array_source_34(Idx)
72844 , p_source_35 => l_array_source_35(Idx)
72845 , p_source_36 => l_array_source_36(Idx)
72846 , p_source_37 => l_array_source_37(Idx)
72847 , p_source_38 => l_array_source_38(Idx)
72848 , p_source_43 => l_array_source_43(Idx)
72849 , p_source_44 => l_array_source_44(Idx)
72850 , p_source_45 => l_array_source_45(Idx)
72851 , p_source_46 => l_array_source_46(Idx)
72852 , p_source_46_meaning => l_array_source_46_meaning(Idx)
72853 , p_source_49 => g_array_event(l_event_id).array_value_char('source_49')
72854 , p_source_50 => l_array_source_50(Idx)
72855 , p_source_51 => l_array_source_51(Idx)
72856 , p_source_52 => l_array_source_52(Idx)
72857 , p_source_53 => l_array_source_53(Idx)
72858 , p_source_54 => l_array_source_54(Idx)
72859 , p_source_55 => l_array_source_55(Idx)
72860 , p_source_56 => l_array_source_56(Idx)
72861 , p_source_57 => l_array_source_57(Idx)
72862 , p_source_58 => l_array_source_58(Idx)
72863 , p_source_60 => l_array_source_60(Idx)
72864 , p_source_61 => l_array_source_61(Idx)
72865 , p_source_62 => l_array_source_62(Idx)
72866 , p_source_63 => l_array_source_63(Idx)
72867 , p_source_64 => l_array_source_64(Idx)
72868 , p_source_65 => l_array_source_65(Idx)
72869 , p_source_66 => l_array_source_66(Idx)
72870 );
72871 If(l_balance_type_code = 'A') THEN
72872 l_actual_gain_loss_ref := l_gain_or_loss_ref;
72873 END IF;
72874
72875 --
72876
72877
72878 --
72879 AcctLineType_35 (
72880 p_application_id => p_application_id
72881 ,p_event_id => l_event_id
72882 ,p_calculate_acctd_flag => l_calculate_acctd_flag
72883 ,p_calculate_g_l_flag => l_calculate_g_l_flag
72884 ,p_actual_flag => l_actual_flag
72885 ,p_balance_type_code => l_balance_type_code
72886 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
72887
72888 , p_source_1 => l_array_source_1(Idx)
72889 , p_source_11 => l_array_source_11(Idx)
72890 , p_source_15 => l_array_source_15(Idx)
72891 , p_source_15_meaning => l_array_source_15_meaning(Idx)
72892 , p_source_17 => g_array_event(l_event_id).array_value_char('source_17')
72893 , p_source_17_meaning => g_array_event(l_event_id).array_value_char('source_17_meaning')
72894 , p_source_19 => l_array_source_19(Idx)
72895 , p_source_21 => l_array_source_21(Idx)
72896 , p_source_23 => l_array_source_23(Idx)
72897 , p_source_24 => g_array_event(l_event_id).array_value_num('source_24')
72898 , p_source_25 => l_array_source_25(Idx)
72899 , p_source_26 => l_array_source_26(Idx)
72900 , p_source_27 => l_array_source_27(Idx)
72901 , p_source_28 => l_array_source_28(Idx)
72902 , p_source_29 => l_array_source_29(Idx)
72903 , p_source_30 => l_array_source_30(Idx)
72904 , p_source_31 => l_array_source_31(Idx)
72905 , p_source_32 => l_array_source_32(Idx)
72906 , p_source_33 => g_array_event(l_event_id).array_value_char('source_33')
72907 , p_source_34 => l_array_source_34(Idx)
72908 , p_source_35 => l_array_source_35(Idx)
72909 , p_source_36 => l_array_source_36(Idx)
72910 , p_source_37 => l_array_source_37(Idx)
72911 , p_source_38 => l_array_source_38(Idx)
72912 , p_source_39 => g_array_event(l_event_id).array_value_date('source_39')
72913 , p_source_40 => g_array_event(l_event_id).array_value_num('source_40')
72914 , p_source_41 => g_array_event(l_event_id).array_value_char('source_41')
72915 , p_source_43 => l_array_source_43(Idx)
72916 , p_source_44 => l_array_source_44(Idx)
72917 , p_source_45 => l_array_source_45(Idx)
72918 , p_source_46 => l_array_source_46(Idx)
72919 , p_source_46_meaning => l_array_source_46_meaning(Idx)
72920 , p_source_47 => g_array_event(l_event_id).array_value_num('source_47')
72921 , p_source_48 => g_array_event(l_event_id).array_value_num('source_48')
72922 , p_source_49 => g_array_event(l_event_id).array_value_char('source_49')
72923 , p_source_50 => l_array_source_50(Idx)
72924 , p_source_51 => l_array_source_51(Idx)
72925 , p_source_52 => l_array_source_52(Idx)
72926 , p_source_53 => l_array_source_53(Idx)
72927 , p_source_54 => l_array_source_54(Idx)
72928 , p_source_55 => l_array_source_55(Idx)
72929 , p_source_56 => l_array_source_56(Idx)
72930 , p_source_57 => l_array_source_57(Idx)
72931 , p_source_65 => l_array_source_65(Idx)
72932 , p_source_66 => l_array_source_66(Idx)
72933 );
72934 If(l_balance_type_code = 'A') THEN
72935 l_actual_gain_loss_ref := l_gain_or_loss_ref;
72936 END IF;
72937
72938 --
72939
72940
72941 --
72942 AcctLineType_39 (
72943 p_application_id => p_application_id
72944 ,p_event_id => l_event_id
72945 ,p_calculate_acctd_flag => l_calculate_acctd_flag
72946 ,p_calculate_g_l_flag => l_calculate_g_l_flag
72947 ,p_actual_flag => l_actual_flag
72948 ,p_balance_type_code => l_balance_type_code
72949 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
72950
72951 , p_source_1 => l_array_source_1(Idx)
72952 , p_source_11 => l_array_source_11(Idx)
72953 , p_source_15 => l_array_source_15(Idx)
72954 , p_source_15_meaning => l_array_source_15_meaning(Idx)
72958 , p_source_18_meaning => l_array_source_18_meaning(Idx)
72955 , p_source_17 => g_array_event(l_event_id).array_value_char('source_17')
72956 , p_source_17_meaning => g_array_event(l_event_id).array_value_char('source_17_meaning')
72957 , p_source_18 => l_array_source_18(Idx)
72959 , p_source_19 => l_array_source_19(Idx)
72960 , p_source_21 => l_array_source_21(Idx)
72961 , p_source_23 => l_array_source_23(Idx)
72962 , p_source_24 => g_array_event(l_event_id).array_value_num('source_24')
72963 , p_source_25 => l_array_source_25(Idx)
72964 , p_source_26 => l_array_source_26(Idx)
72965 , p_source_27 => l_array_source_27(Idx)
72966 , p_source_28 => l_array_source_28(Idx)
72967 , p_source_29 => l_array_source_29(Idx)
72968 , p_source_30 => l_array_source_30(Idx)
72969 , p_source_31 => l_array_source_31(Idx)
72970 , p_source_32 => l_array_source_32(Idx)
72971 , p_source_33 => g_array_event(l_event_id).array_value_char('source_33')
72972 , p_source_34 => l_array_source_34(Idx)
72973 , p_source_35 => l_array_source_35(Idx)
72974 , p_source_36 => l_array_source_36(Idx)
72975 , p_source_37 => l_array_source_37(Idx)
72976 , p_source_38 => l_array_source_38(Idx)
72977 , p_source_39 => g_array_event(l_event_id).array_value_date('source_39')
72978 , p_source_40 => g_array_event(l_event_id).array_value_num('source_40')
72979 , p_source_41 => g_array_event(l_event_id).array_value_char('source_41')
72980 , p_source_43 => l_array_source_43(Idx)
72981 , p_source_44 => l_array_source_44(Idx)
72982 , p_source_45 => l_array_source_45(Idx)
72983 , p_source_46 => l_array_source_46(Idx)
72984 , p_source_46_meaning => l_array_source_46_meaning(Idx)
72985 , p_source_47 => g_array_event(l_event_id).array_value_num('source_47')
72986 , p_source_48 => g_array_event(l_event_id).array_value_num('source_48')
72987 , p_source_49 => g_array_event(l_event_id).array_value_char('source_49')
72988 , p_source_50 => l_array_source_50(Idx)
72989 , p_source_51 => l_array_source_51(Idx)
72990 , p_source_52 => l_array_source_52(Idx)
72991 , p_source_53 => l_array_source_53(Idx)
72992 , p_source_54 => l_array_source_54(Idx)
72993 , p_source_55 => l_array_source_55(Idx)
72994 , p_source_56 => l_array_source_56(Idx)
72995 , p_source_57 => l_array_source_57(Idx)
72996 , p_source_65 => l_array_source_65(Idx)
72997 , p_source_66 => l_array_source_66(Idx)
72998 , p_source_68 => g_array_event(l_event_id).array_value_char('source_68')
72999 , p_source_68_meaning => g_array_event(l_event_id).array_value_char('source_68_meaning')
73000 );
73001 If(l_balance_type_code = 'A') THEN
73002 l_actual_gain_loss_ref := l_gain_or_loss_ref;
73003 END IF;
73004
73005 --
73006
73007
73008 --
73009 AcctLineType_43 (
73010 p_application_id => p_application_id
73011 ,p_event_id => l_event_id
73012 ,p_calculate_acctd_flag => l_calculate_acctd_flag
73013 ,p_calculate_g_l_flag => l_calculate_g_l_flag
73014 ,p_actual_flag => l_actual_flag
73015 ,p_balance_type_code => l_balance_type_code
73016 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
73017
73018 , p_source_1 => l_array_source_1(Idx)
73019 , p_source_11 => l_array_source_11(Idx)
73020 , p_source_15 => l_array_source_15(Idx)
73021 , p_source_15_meaning => l_array_source_15_meaning(Idx)
73022 , p_source_17 => g_array_event(l_event_id).array_value_char('source_17')
73023 , p_source_17_meaning => g_array_event(l_event_id).array_value_char('source_17_meaning')
73024 , p_source_19 => l_array_source_19(Idx)
73025 , p_source_21 => l_array_source_21(Idx)
73026 , p_source_23 => l_array_source_23(Idx)
73027 , p_source_24 => g_array_event(l_event_id).array_value_num('source_24')
73028 , p_source_25 => l_array_source_25(Idx)
73029 , p_source_26 => l_array_source_26(Idx)
73030 , p_source_27 => l_array_source_27(Idx)
73031 , p_source_28 => l_array_source_28(Idx)
73032 , p_source_29 => l_array_source_29(Idx)
73033 , p_source_30 => l_array_source_30(Idx)
73034 , p_source_31 => l_array_source_31(Idx)
73035 , p_source_32 => l_array_source_32(Idx)
73036 , p_source_33 => g_array_event(l_event_id).array_value_char('source_33')
73037 , p_source_34 => l_array_source_34(Idx)
73038 , p_source_35 => l_array_source_35(Idx)
73039 , p_source_36 => l_array_source_36(Idx)
73040 , p_source_37 => l_array_source_37(Idx)
73041 , p_source_38 => l_array_source_38(Idx)
73042 , p_source_39 => g_array_event(l_event_id).array_value_date('source_39')
73043 , p_source_40 => g_array_event(l_event_id).array_value_num('source_40')
73044 , p_source_41 => g_array_event(l_event_id).array_value_char('source_41')
73045 , p_source_43 => l_array_source_43(Idx)
73046 , p_source_44 => l_array_source_44(Idx)
73047 , p_source_45 => l_array_source_45(Idx)
73048 , p_source_46 => l_array_source_46(Idx)
73049 , p_source_46_meaning => l_array_source_46_meaning(Idx)
73050 , p_source_47 => g_array_event(l_event_id).array_value_num('source_47')
73051 , p_source_48 => g_array_event(l_event_id).array_value_num('source_48')
73052 , p_source_49 => g_array_event(l_event_id).array_value_char('source_49')
73053 , p_source_50 => l_array_source_50(Idx)
73054 , p_source_51 => l_array_source_51(Idx)
73055 , p_source_52 => l_array_source_52(Idx)
73056 , p_source_53 => l_array_source_53(Idx)
73057 , p_source_54 => l_array_source_54(Idx)
73058 , p_source_55 => l_array_source_55(Idx)
73059 , p_source_56 => l_array_source_56(Idx)
73060 , p_source_57 => l_array_source_57(Idx)
73061 , p_source_65 => l_array_source_65(Idx)
73062 , p_source_66 => l_array_source_66(Idx)
73063 );
73064 If(l_balance_type_code = 'A') THEN
73065 l_actual_gain_loss_ref := l_gain_or_loss_ref;
73066 END IF;
73067
73071 --
73068 --
73069
73070
73072 AcctLineType_47 (
73073 p_application_id => p_application_id
73074 ,p_event_id => l_event_id
73075 ,p_calculate_acctd_flag => l_calculate_acctd_flag
73076 ,p_calculate_g_l_flag => l_calculate_g_l_flag
73077 ,p_actual_flag => l_actual_flag
73078 ,p_balance_type_code => l_balance_type_code
73079 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
73080
73081 , p_source_1 => l_array_source_1(Idx)
73082 , p_source_11 => l_array_source_11(Idx)
73083 , p_source_15 => l_array_source_15(Idx)
73084 , p_source_15_meaning => l_array_source_15_meaning(Idx)
73085 , p_source_17 => g_array_event(l_event_id).array_value_char('source_17')
73086 , p_source_17_meaning => g_array_event(l_event_id).array_value_char('source_17_meaning')
73087 , p_source_18 => l_array_source_18(Idx)
73088 , p_source_18_meaning => l_array_source_18_meaning(Idx)
73089 , p_source_19 => l_array_source_19(Idx)
73090 , p_source_21 => l_array_source_21(Idx)
73091 , p_source_23 => l_array_source_23(Idx)
73092 , p_source_24 => g_array_event(l_event_id).array_value_num('source_24')
73093 , p_source_25 => l_array_source_25(Idx)
73094 , p_source_26 => l_array_source_26(Idx)
73095 , p_source_27 => l_array_source_27(Idx)
73096 , p_source_28 => l_array_source_28(Idx)
73097 , p_source_29 => l_array_source_29(Idx)
73098 , p_source_30 => l_array_source_30(Idx)
73099 , p_source_31 => l_array_source_31(Idx)
73100 , p_source_32 => l_array_source_32(Idx)
73101 , p_source_33 => g_array_event(l_event_id).array_value_char('source_33')
73102 , p_source_34 => l_array_source_34(Idx)
73103 , p_source_35 => l_array_source_35(Idx)
73104 , p_source_36 => l_array_source_36(Idx)
73105 , p_source_37 => l_array_source_37(Idx)
73106 , p_source_38 => l_array_source_38(Idx)
73107 , p_source_39 => g_array_event(l_event_id).array_value_date('source_39')
73108 , p_source_40 => g_array_event(l_event_id).array_value_num('source_40')
73109 , p_source_41 => g_array_event(l_event_id).array_value_char('source_41')
73110 , p_source_43 => l_array_source_43(Idx)
73111 , p_source_44 => l_array_source_44(Idx)
73112 , p_source_45 => l_array_source_45(Idx)
73113 , p_source_46 => l_array_source_46(Idx)
73114 , p_source_46_meaning => l_array_source_46_meaning(Idx)
73115 , p_source_47 => g_array_event(l_event_id).array_value_num('source_47')
73116 , p_source_48 => g_array_event(l_event_id).array_value_num('source_48')
73117 , p_source_49 => g_array_event(l_event_id).array_value_char('source_49')
73118 , p_source_50 => l_array_source_50(Idx)
73119 , p_source_51 => l_array_source_51(Idx)
73120 , p_source_52 => l_array_source_52(Idx)
73121 , p_source_53 => l_array_source_53(Idx)
73122 , p_source_54 => l_array_source_54(Idx)
73123 , p_source_55 => l_array_source_55(Idx)
73124 , p_source_56 => l_array_source_56(Idx)
73125 , p_source_57 => l_array_source_57(Idx)
73126 , p_source_59 => l_array_source_59(Idx)
73127 , p_source_59_meaning => l_array_source_59_meaning(Idx)
73128 , p_source_65 => l_array_source_65(Idx)
73129 , p_source_66 => l_array_source_66(Idx)
73130 );
73131 If(l_balance_type_code = 'A') THEN
73132 l_actual_gain_loss_ref := l_gain_or_loss_ref;
73133 END IF;
73134
73135 --
73136
73137
73138 --
73139 AcctLineType_53 (
73140 p_application_id => p_application_id
73141 ,p_event_id => l_event_id
73142 ,p_calculate_acctd_flag => l_calculate_acctd_flag
73143 ,p_calculate_g_l_flag => l_calculate_g_l_flag
73144 ,p_actual_flag => l_actual_flag
73145 ,p_balance_type_code => l_balance_type_code
73146 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
73147
73148 , p_source_1 => l_array_source_1(Idx)
73149 , p_source_11 => l_array_source_11(Idx)
73150 , p_source_15 => l_array_source_15(Idx)
73151 , p_source_15_meaning => l_array_source_15_meaning(Idx)
73152 , p_source_17 => g_array_event(l_event_id).array_value_char('source_17')
73153 , p_source_17_meaning => g_array_event(l_event_id).array_value_char('source_17_meaning')
73154 , p_source_18 => l_array_source_18(Idx)
73155 , p_source_18_meaning => l_array_source_18_meaning(Idx)
73156 , p_source_19 => l_array_source_19(Idx)
73157 , p_source_21 => l_array_source_21(Idx)
73158 , p_source_23 => l_array_source_23(Idx)
73159 , p_source_24 => g_array_event(l_event_id).array_value_num('source_24')
73160 , p_source_25 => l_array_source_25(Idx)
73161 , p_source_26 => l_array_source_26(Idx)
73162 , p_source_27 => l_array_source_27(Idx)
73163 , p_source_28 => l_array_source_28(Idx)
73164 , p_source_29 => l_array_source_29(Idx)
73165 , p_source_30 => l_array_source_30(Idx)
73166 , p_source_31 => l_array_source_31(Idx)
73167 , p_source_32 => l_array_source_32(Idx)
73168 , p_source_33 => g_array_event(l_event_id).array_value_char('source_33')
73169 , p_source_34 => l_array_source_34(Idx)
73170 , p_source_35 => l_array_source_35(Idx)
73171 , p_source_36 => l_array_source_36(Idx)
73172 , p_source_37 => l_array_source_37(Idx)
73173 , p_source_38 => l_array_source_38(Idx)
73174 , p_source_39 => g_array_event(l_event_id).array_value_date('source_39')
73175 , p_source_40 => g_array_event(l_event_id).array_value_num('source_40')
73176 , p_source_41 => g_array_event(l_event_id).array_value_char('source_41')
73177 , p_source_43 => l_array_source_43(Idx)
73178 , p_source_44 => l_array_source_44(Idx)
73179 , p_source_45 => l_array_source_45(Idx)
73180 , p_source_46 => l_array_source_46(Idx)
73181 , p_source_46_meaning => l_array_source_46_meaning(Idx)
73182 , p_source_47 => g_array_event(l_event_id).array_value_num('source_47')
73183 , p_source_48 => g_array_event(l_event_id).array_value_num('source_48')
73187 , p_source_52 => l_array_source_52(Idx)
73184 , p_source_49 => g_array_event(l_event_id).array_value_char('source_49')
73185 , p_source_50 => l_array_source_50(Idx)
73186 , p_source_51 => l_array_source_51(Idx)
73188 , p_source_53 => l_array_source_53(Idx)
73189 , p_source_54 => l_array_source_54(Idx)
73190 , p_source_55 => l_array_source_55(Idx)
73191 , p_source_56 => l_array_source_56(Idx)
73192 , p_source_57 => l_array_source_57(Idx)
73193 , p_source_81 => l_array_source_81(Idx)
73194 , p_source_82 => l_array_source_82(Idx)
73195 );
73196 If(l_balance_type_code = 'A') THEN
73197 l_actual_gain_loss_ref := l_gain_or_loss_ref;
73198 END IF;
73199
73200 --
73201
73202
73203 --
73204 AcctLineType_59 (
73205 p_application_id => p_application_id
73206 ,p_event_id => l_event_id
73207 ,p_calculate_acctd_flag => l_calculate_acctd_flag
73208 ,p_calculate_g_l_flag => l_calculate_g_l_flag
73209 ,p_actual_flag => l_actual_flag
73210 ,p_balance_type_code => l_balance_type_code
73211 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
73212
73213 , p_source_1 => l_array_source_1(Idx)
73214 , p_source_11 => l_array_source_11(Idx)
73215 , p_source_15 => l_array_source_15(Idx)
73216 , p_source_15_meaning => l_array_source_15_meaning(Idx)
73217 , p_source_17 => g_array_event(l_event_id).array_value_char('source_17')
73218 , p_source_17_meaning => g_array_event(l_event_id).array_value_char('source_17_meaning')
73219 , p_source_19 => l_array_source_19(Idx)
73220 , p_source_21 => l_array_source_21(Idx)
73221 , p_source_23 => l_array_source_23(Idx)
73222 , p_source_24 => g_array_event(l_event_id).array_value_num('source_24')
73223 , p_source_25 => l_array_source_25(Idx)
73224 , p_source_26 => l_array_source_26(Idx)
73225 , p_source_27 => l_array_source_27(Idx)
73226 , p_source_28 => l_array_source_28(Idx)
73227 , p_source_29 => l_array_source_29(Idx)
73228 , p_source_30 => l_array_source_30(Idx)
73229 , p_source_31 => l_array_source_31(Idx)
73230 , p_source_32 => l_array_source_32(Idx)
73231 , p_source_33 => g_array_event(l_event_id).array_value_char('source_33')
73232 , p_source_34 => l_array_source_34(Idx)
73233 , p_source_35 => l_array_source_35(Idx)
73234 , p_source_36 => l_array_source_36(Idx)
73235 , p_source_37 => l_array_source_37(Idx)
73236 , p_source_38 => l_array_source_38(Idx)
73237 , p_source_39 => g_array_event(l_event_id).array_value_date('source_39')
73238 , p_source_40 => g_array_event(l_event_id).array_value_num('source_40')
73239 , p_source_41 => g_array_event(l_event_id).array_value_char('source_41')
73240 , p_source_43 => l_array_source_43(Idx)
73241 , p_source_44 => l_array_source_44(Idx)
73242 , p_source_45 => l_array_source_45(Idx)
73243 , p_source_46 => l_array_source_46(Idx)
73244 , p_source_46_meaning => l_array_source_46_meaning(Idx)
73245 , p_source_47 => g_array_event(l_event_id).array_value_num('source_47')
73246 , p_source_48 => g_array_event(l_event_id).array_value_num('source_48')
73247 , p_source_49 => g_array_event(l_event_id).array_value_char('source_49')
73248 , p_source_50 => l_array_source_50(Idx)
73249 , p_source_51 => l_array_source_51(Idx)
73250 , p_source_52 => l_array_source_52(Idx)
73251 , p_source_53 => l_array_source_53(Idx)
73252 , p_source_54 => l_array_source_54(Idx)
73253 , p_source_55 => l_array_source_55(Idx)
73254 , p_source_56 => l_array_source_56(Idx)
73255 , p_source_57 => l_array_source_57(Idx)
73256 , p_source_59 => l_array_source_59(Idx)
73257 , p_source_59_meaning => l_array_source_59_meaning(Idx)
73258 , p_source_65 => l_array_source_65(Idx)
73259 , p_source_66 => l_array_source_66(Idx)
73260 );
73261 If(l_balance_type_code = 'A') THEN
73262 l_actual_gain_loss_ref := l_gain_or_loss_ref;
73263 END IF;
73264
73265 --
73266
73267
73268 --
73269 AcctLineType_62 (
73270 p_application_id => p_application_id
73271 ,p_event_id => l_event_id
73272 ,p_calculate_acctd_flag => l_calculate_acctd_flag
73273 ,p_calculate_g_l_flag => l_calculate_g_l_flag
73274 ,p_actual_flag => l_actual_flag
73275 ,p_balance_type_code => l_balance_type_code
73276 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
73277
73278 , p_source_1 => l_array_source_1(Idx)
73279 , p_source_13 => l_array_source_13(Idx)
73280 , p_source_15 => l_array_source_15(Idx)
73281 , p_source_15_meaning => l_array_source_15_meaning(Idx)
73282 , p_source_17 => g_array_event(l_event_id).array_value_char('source_17')
73283 , p_source_17_meaning => g_array_event(l_event_id).array_value_char('source_17_meaning')
73284 , p_source_19 => l_array_source_19(Idx)
73285 , p_source_21 => l_array_source_21(Idx)
73286 , p_source_23 => l_array_source_23(Idx)
73287 , p_source_24 => g_array_event(l_event_id).array_value_num('source_24')
73288 , p_source_25 => l_array_source_25(Idx)
73289 , p_source_26 => l_array_source_26(Idx)
73290 , p_source_27 => l_array_source_27(Idx)
73291 , p_source_28 => l_array_source_28(Idx)
73292 , p_source_29 => l_array_source_29(Idx)
73293 , p_source_30 => l_array_source_30(Idx)
73294 , p_source_31 => l_array_source_31(Idx)
73295 , p_source_32 => l_array_source_32(Idx)
73296 , p_source_33 => g_array_event(l_event_id).array_value_char('source_33')
73297 , p_source_34 => l_array_source_34(Idx)
73298 , p_source_35 => l_array_source_35(Idx)
73299 , p_source_36 => l_array_source_36(Idx)
73300 , p_source_37 => l_array_source_37(Idx)
73301 , p_source_38 => l_array_source_38(Idx)
73302 , p_source_39 => g_array_event(l_event_id).array_value_date('source_39')
73306 , p_source_44 => l_array_source_44(Idx)
73303 , p_source_40 => g_array_event(l_event_id).array_value_num('source_40')
73304 , p_source_41 => g_array_event(l_event_id).array_value_char('source_41')
73305 , p_source_43 => l_array_source_43(Idx)
73307 , p_source_45 => l_array_source_45(Idx)
73308 , p_source_46 => l_array_source_46(Idx)
73309 , p_source_46_meaning => l_array_source_46_meaning(Idx)
73310 , p_source_47 => g_array_event(l_event_id).array_value_num('source_47')
73311 , p_source_48 => g_array_event(l_event_id).array_value_num('source_48')
73312 , p_source_49 => g_array_event(l_event_id).array_value_char('source_49')
73313 , p_source_50 => l_array_source_50(Idx)
73314 , p_source_51 => l_array_source_51(Idx)
73315 , p_source_52 => l_array_source_52(Idx)
73316 , p_source_53 => l_array_source_53(Idx)
73317 , p_source_54 => l_array_source_54(Idx)
73318 , p_source_55 => l_array_source_55(Idx)
73319 , p_source_56 => l_array_source_56(Idx)
73320 , p_source_57 => l_array_source_57(Idx)
73321 , p_source_59 => l_array_source_59(Idx)
73322 , p_source_59_meaning => l_array_source_59_meaning(Idx)
73323 , p_source_65 => l_array_source_65(Idx)
73324 , p_source_66 => l_array_source_66(Idx)
73325 );
73326 If(l_balance_type_code = 'A') THEN
73327 l_actual_gain_loss_ref := l_gain_or_loss_ref;
73328 END IF;
73329
73330 --
73331
73332
73333 --
73334 AcctLineType_65 (
73335 p_application_id => p_application_id
73336 ,p_event_id => l_event_id
73337 ,p_calculate_acctd_flag => l_calculate_acctd_flag
73338 ,p_calculate_g_l_flag => l_calculate_g_l_flag
73339 ,p_actual_flag => l_actual_flag
73340 ,p_balance_type_code => l_balance_type_code
73341 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
73342
73343 , p_source_1 => l_array_source_1(Idx)
73344 , p_source_6 => g_array_event(l_event_id).array_value_num('source_6')
73345 , p_source_7 => g_array_event(l_event_id).array_value_char('source_7')
73346 , p_source_7_meaning => g_array_event(l_event_id).array_value_char('source_7_meaning')
73347 , p_source_8 => l_array_source_8(Idx)
73348 , p_source_9 => l_array_source_9(Idx)
73349 , p_source_9_meaning => l_array_source_9_meaning(Idx)
73350 , p_source_10 => g_array_event(l_event_id).array_value_num('source_10')
73351 , p_source_11 => l_array_source_11(Idx)
73352 , p_source_12 => g_array_event(l_event_id).array_value_char('source_12')
73353 , p_source_12_meaning => g_array_event(l_event_id).array_value_char('source_12_meaning')
73354 , p_source_15 => l_array_source_15(Idx)
73355 , p_source_15_meaning => l_array_source_15_meaning(Idx)
73356 , p_source_17 => g_array_event(l_event_id).array_value_char('source_17')
73357 , p_source_17_meaning => g_array_event(l_event_id).array_value_char('source_17_meaning')
73358 , p_source_19 => l_array_source_19(Idx)
73359 , p_source_21 => l_array_source_21(Idx)
73360 , p_source_23 => l_array_source_23(Idx)
73361 , p_source_24 => g_array_event(l_event_id).array_value_num('source_24')
73362 , p_source_25 => l_array_source_25(Idx)
73363 , p_source_26 => l_array_source_26(Idx)
73364 , p_source_27 => l_array_source_27(Idx)
73365 , p_source_28 => l_array_source_28(Idx)
73366 , p_source_29 => l_array_source_29(Idx)
73367 , p_source_30 => l_array_source_30(Idx)
73368 , p_source_31 => l_array_source_31(Idx)
73369 , p_source_32 => l_array_source_32(Idx)
73370 , p_source_33 => g_array_event(l_event_id).array_value_char('source_33')
73371 , p_source_34 => l_array_source_34(Idx)
73372 , p_source_35 => l_array_source_35(Idx)
73373 , p_source_36 => l_array_source_36(Idx)
73374 , p_source_37 => l_array_source_37(Idx)
73375 , p_source_38 => l_array_source_38(Idx)
73376 , p_source_39 => g_array_event(l_event_id).array_value_date('source_39')
73377 , p_source_40 => g_array_event(l_event_id).array_value_num('source_40')
73378 , p_source_41 => g_array_event(l_event_id).array_value_char('source_41')
73379 , p_source_43 => l_array_source_43(Idx)
73380 , p_source_44 => l_array_source_44(Idx)
73381 , p_source_45 => l_array_source_45(Idx)
73382 , p_source_46 => l_array_source_46(Idx)
73383 , p_source_46_meaning => l_array_source_46_meaning(Idx)
73384 , p_source_47 => g_array_event(l_event_id).array_value_num('source_47')
73385 , p_source_48 => g_array_event(l_event_id).array_value_num('source_48')
73386 , p_source_49 => g_array_event(l_event_id).array_value_char('source_49')
73387 , p_source_50 => l_array_source_50(Idx)
73388 , p_source_51 => l_array_source_51(Idx)
73389 , p_source_52 => l_array_source_52(Idx)
73390 , p_source_53 => l_array_source_53(Idx)
73391 , p_source_54 => l_array_source_54(Idx)
73392 , p_source_55 => l_array_source_55(Idx)
73393 , p_source_56 => l_array_source_56(Idx)
73394 , p_source_57 => l_array_source_57(Idx)
73395 , p_source_66 => l_array_source_66(Idx)
73396 );
73397 If(l_balance_type_code = 'A') THEN
73398 l_actual_gain_loss_ref := l_gain_or_loss_ref;
73399 END IF;
73400
73401 --
73402
73403
73404 --
73405 AcctLineType_68 (
73406 p_application_id => p_application_id
73407 ,p_event_id => l_event_id
73408 ,p_calculate_acctd_flag => l_calculate_acctd_flag
73409 ,p_calculate_g_l_flag => l_calculate_g_l_flag
73410 ,p_actual_flag => l_actual_flag
73411 ,p_balance_type_code => l_balance_type_code
73412 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
73413
73414 , p_source_1 => l_array_source_1(Idx)
73415 , p_source_11 => l_array_source_11(Idx)
73416 , p_source_15 => l_array_source_15(Idx)
73417 , p_source_15_meaning => l_array_source_15_meaning(Idx)
73418 , p_source_16 => l_array_source_16(Idx)
73422 , p_source_18_meaning => l_array_source_18_meaning(Idx)
73419 , p_source_17 => g_array_event(l_event_id).array_value_char('source_17')
73420 , p_source_17_meaning => g_array_event(l_event_id).array_value_char('source_17_meaning')
73421 , p_source_18 => l_array_source_18(Idx)
73423 , p_source_19 => l_array_source_19(Idx)
73424 , p_source_21 => l_array_source_21(Idx)
73425 , p_source_23 => l_array_source_23(Idx)
73426 , p_source_24 => g_array_event(l_event_id).array_value_num('source_24')
73427 , p_source_25 => l_array_source_25(Idx)
73428 , p_source_26 => l_array_source_26(Idx)
73429 , p_source_27 => l_array_source_27(Idx)
73430 , p_source_28 => l_array_source_28(Idx)
73431 , p_source_29 => l_array_source_29(Idx)
73432 , p_source_30 => l_array_source_30(Idx)
73433 , p_source_31 => l_array_source_31(Idx)
73434 , p_source_32 => l_array_source_32(Idx)
73435 , p_source_33 => g_array_event(l_event_id).array_value_char('source_33')
73436 , p_source_34 => l_array_source_34(Idx)
73437 , p_source_35 => l_array_source_35(Idx)
73438 , p_source_36 => l_array_source_36(Idx)
73439 , p_source_37 => l_array_source_37(Idx)
73440 , p_source_38 => l_array_source_38(Idx)
73441 , p_source_39 => g_array_event(l_event_id).array_value_date('source_39')
73442 , p_source_40 => g_array_event(l_event_id).array_value_num('source_40')
73443 , p_source_41 => g_array_event(l_event_id).array_value_char('source_41')
73444 , p_source_42 => l_array_source_42(Idx)
73445 , p_source_43 => l_array_source_43(Idx)
73446 , p_source_44 => l_array_source_44(Idx)
73447 , p_source_45 => l_array_source_45(Idx)
73448 , p_source_46 => l_array_source_46(Idx)
73449 , p_source_46_meaning => l_array_source_46_meaning(Idx)
73450 , p_source_47 => g_array_event(l_event_id).array_value_num('source_47')
73451 , p_source_48 => g_array_event(l_event_id).array_value_num('source_48')
73452 , p_source_49 => g_array_event(l_event_id).array_value_char('source_49')
73453 , p_source_50 => l_array_source_50(Idx)
73454 , p_source_51 => l_array_source_51(Idx)
73455 , p_source_52 => l_array_source_52(Idx)
73456 , p_source_53 => l_array_source_53(Idx)
73457 , p_source_54 => l_array_source_54(Idx)
73458 , p_source_55 => l_array_source_55(Idx)
73459 , p_source_56 => l_array_source_56(Idx)
73460 , p_source_57 => l_array_source_57(Idx)
73461 );
73462 If(l_balance_type_code = 'A') THEN
73463 l_actual_gain_loss_ref := l_gain_or_loss_ref;
73464 END IF;
73465
73466 --
73467
73468
73469 --
73470 AcctLineType_76 (
73471 p_application_id => p_application_id
73472 ,p_event_id => l_event_id
73473 ,p_calculate_acctd_flag => l_calculate_acctd_flag
73474 ,p_calculate_g_l_flag => l_calculate_g_l_flag
73475 ,p_actual_flag => l_actual_flag
73476 ,p_balance_type_code => l_balance_type_code
73477 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
73478
73479 , p_source_1 => l_array_source_1(Idx)
73480 , p_source_11 => l_array_source_11(Idx)
73481 , p_source_15 => l_array_source_15(Idx)
73482 , p_source_15_meaning => l_array_source_15_meaning(Idx)
73483 , p_source_17 => g_array_event(l_event_id).array_value_char('source_17')
73484 , p_source_17_meaning => g_array_event(l_event_id).array_value_char('source_17_meaning')
73485 , p_source_19 => l_array_source_19(Idx)
73486 , p_source_21 => l_array_source_21(Idx)
73487 , p_source_23 => l_array_source_23(Idx)
73488 , p_source_24 => g_array_event(l_event_id).array_value_num('source_24')
73489 , p_source_25 => l_array_source_25(Idx)
73490 , p_source_26 => l_array_source_26(Idx)
73491 , p_source_27 => l_array_source_27(Idx)
73492 , p_source_28 => l_array_source_28(Idx)
73493 , p_source_29 => l_array_source_29(Idx)
73494 , p_source_30 => l_array_source_30(Idx)
73495 , p_source_31 => l_array_source_31(Idx)
73496 , p_source_32 => l_array_source_32(Idx)
73497 , p_source_33 => g_array_event(l_event_id).array_value_char('source_33')
73498 , p_source_34 => l_array_source_34(Idx)
73499 , p_source_35 => l_array_source_35(Idx)
73500 , p_source_36 => l_array_source_36(Idx)
73501 , p_source_37 => l_array_source_37(Idx)
73502 , p_source_38 => l_array_source_38(Idx)
73503 , p_source_39 => g_array_event(l_event_id).array_value_date('source_39')
73504 , p_source_40 => g_array_event(l_event_id).array_value_num('source_40')
73505 , p_source_41 => g_array_event(l_event_id).array_value_char('source_41')
73506 , p_source_43 => l_array_source_43(Idx)
73507 , p_source_44 => l_array_source_44(Idx)
73508 , p_source_45 => l_array_source_45(Idx)
73509 , p_source_46 => l_array_source_46(Idx)
73510 , p_source_46_meaning => l_array_source_46_meaning(Idx)
73511 , p_source_47 => g_array_event(l_event_id).array_value_num('source_47')
73512 , p_source_48 => g_array_event(l_event_id).array_value_num('source_48')
73513 , p_source_49 => g_array_event(l_event_id).array_value_char('source_49')
73514 , p_source_50 => l_array_source_50(Idx)
73515 , p_source_51 => l_array_source_51(Idx)
73516 , p_source_52 => l_array_source_52(Idx)
73517 , p_source_53 => l_array_source_53(Idx)
73518 , p_source_54 => l_array_source_54(Idx)
73519 , p_source_55 => l_array_source_55(Idx)
73520 , p_source_56 => l_array_source_56(Idx)
73521 , p_source_57 => l_array_source_57(Idx)
73522 , p_source_65 => l_array_source_65(Idx)
73523 , p_source_66 => l_array_source_66(Idx)
73524 );
73525 If(l_balance_type_code = 'A') THEN
73526 l_actual_gain_loss_ref := l_gain_or_loss_ref;
73527 END IF;
73528
73529 --
73530
73531
73532 --
73533 AcctLineType_79 (
73534 p_application_id => p_application_id
73538 ,p_actual_flag => l_actual_flag
73535 ,p_event_id => l_event_id
73536 ,p_calculate_acctd_flag => l_calculate_acctd_flag
73537 ,p_calculate_g_l_flag => l_calculate_g_l_flag
73539 ,p_balance_type_code => l_balance_type_code
73540 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
73541
73542 , p_source_1 => l_array_source_1(Idx)
73543 , p_source_11 => l_array_source_11(Idx)
73544 , p_source_15 => l_array_source_15(Idx)
73545 , p_source_15_meaning => l_array_source_15_meaning(Idx)
73546 , p_source_17 => g_array_event(l_event_id).array_value_char('source_17')
73547 , p_source_17_meaning => g_array_event(l_event_id).array_value_char('source_17_meaning')
73548 , p_source_18 => l_array_source_18(Idx)
73549 , p_source_18_meaning => l_array_source_18_meaning(Idx)
73550 , p_source_19 => l_array_source_19(Idx)
73551 , p_source_21 => l_array_source_21(Idx)
73552 , p_source_23 => l_array_source_23(Idx)
73553 , p_source_24 => g_array_event(l_event_id).array_value_num('source_24')
73554 , p_source_25 => l_array_source_25(Idx)
73555 , p_source_26 => l_array_source_26(Idx)
73556 , p_source_27 => l_array_source_27(Idx)
73557 , p_source_28 => l_array_source_28(Idx)
73558 , p_source_29 => l_array_source_29(Idx)
73559 , p_source_30 => l_array_source_30(Idx)
73560 , p_source_31 => l_array_source_31(Idx)
73561 , p_source_32 => l_array_source_32(Idx)
73562 , p_source_33 => g_array_event(l_event_id).array_value_char('source_33')
73563 , p_source_34 => l_array_source_34(Idx)
73564 , p_source_35 => l_array_source_35(Idx)
73565 , p_source_36 => l_array_source_36(Idx)
73566 , p_source_37 => l_array_source_37(Idx)
73567 , p_source_38 => l_array_source_38(Idx)
73568 , p_source_39 => g_array_event(l_event_id).array_value_date('source_39')
73569 , p_source_40 => g_array_event(l_event_id).array_value_num('source_40')
73570 , p_source_41 => g_array_event(l_event_id).array_value_char('source_41')
73571 , p_source_43 => l_array_source_43(Idx)
73572 , p_source_44 => l_array_source_44(Idx)
73573 , p_source_45 => l_array_source_45(Idx)
73574 , p_source_46 => l_array_source_46(Idx)
73575 , p_source_46_meaning => l_array_source_46_meaning(Idx)
73576 , p_source_47 => g_array_event(l_event_id).array_value_num('source_47')
73577 , p_source_48 => g_array_event(l_event_id).array_value_num('source_48')
73578 , p_source_49 => g_array_event(l_event_id).array_value_char('source_49')
73579 , p_source_50 => l_array_source_50(Idx)
73580 , p_source_51 => l_array_source_51(Idx)
73581 , p_source_52 => l_array_source_52(Idx)
73582 , p_source_53 => l_array_source_53(Idx)
73583 , p_source_54 => l_array_source_54(Idx)
73584 , p_source_55 => l_array_source_55(Idx)
73585 , p_source_56 => l_array_source_56(Idx)
73586 , p_source_57 => l_array_source_57(Idx)
73587 , p_source_81 => l_array_source_81(Idx)
73588 , p_source_82 => l_array_source_82(Idx)
73589 );
73590 If(l_balance_type_code = 'A') THEN
73591 l_actual_gain_loss_ref := l_gain_or_loss_ref;
73592 END IF;
73593
73594 --
73595
73596
73597 --
73598 AcctLineType_83 (
73599 p_application_id => p_application_id
73600 ,p_event_id => l_event_id
73601 ,p_calculate_acctd_flag => l_calculate_acctd_flag
73602 ,p_calculate_g_l_flag => l_calculate_g_l_flag
73603 ,p_actual_flag => l_actual_flag
73604 ,p_balance_type_code => l_balance_type_code
73605 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
73606
73607 , p_source_1 => l_array_source_1(Idx)
73608 , p_source_11 => l_array_source_11(Idx)
73609 , p_source_15 => l_array_source_15(Idx)
73610 , p_source_15_meaning => l_array_source_15_meaning(Idx)
73611 , p_source_17 => g_array_event(l_event_id).array_value_char('source_17')
73612 , p_source_17_meaning => g_array_event(l_event_id).array_value_char('source_17_meaning')
73613 , p_source_19 => l_array_source_19(Idx)
73614 , p_source_21 => l_array_source_21(Idx)
73615 , p_source_23 => l_array_source_23(Idx)
73616 , p_source_24 => g_array_event(l_event_id).array_value_num('source_24')
73617 , p_source_25 => l_array_source_25(Idx)
73618 , p_source_26 => l_array_source_26(Idx)
73619 , p_source_27 => l_array_source_27(Idx)
73620 , p_source_28 => l_array_source_28(Idx)
73621 , p_source_29 => l_array_source_29(Idx)
73622 , p_source_30 => l_array_source_30(Idx)
73623 , p_source_31 => l_array_source_31(Idx)
73624 , p_source_32 => l_array_source_32(Idx)
73625 , p_source_33 => g_array_event(l_event_id).array_value_char('source_33')
73626 , p_source_34 => l_array_source_34(Idx)
73627 , p_source_35 => l_array_source_35(Idx)
73628 , p_source_36 => l_array_source_36(Idx)
73629 , p_source_37 => l_array_source_37(Idx)
73630 , p_source_38 => l_array_source_38(Idx)
73631 , p_source_39 => g_array_event(l_event_id).array_value_date('source_39')
73632 , p_source_40 => g_array_event(l_event_id).array_value_num('source_40')
73633 , p_source_41 => g_array_event(l_event_id).array_value_char('source_41')
73634 , p_source_43 => l_array_source_43(Idx)
73635 , p_source_44 => l_array_source_44(Idx)
73636 , p_source_45 => l_array_source_45(Idx)
73637 , p_source_46 => l_array_source_46(Idx)
73638 , p_source_46_meaning => l_array_source_46_meaning(Idx)
73639 , p_source_47 => g_array_event(l_event_id).array_value_num('source_47')
73640 , p_source_48 => g_array_event(l_event_id).array_value_num('source_48')
73641 , p_source_49 => g_array_event(l_event_id).array_value_char('source_49')
73642 , p_source_50 => l_array_source_50(Idx)
73643 , p_source_51 => l_array_source_51(Idx)
73644 , p_source_52 => l_array_source_52(Idx)
73645 , p_source_53 => l_array_source_53(Idx)
73646 , p_source_54 => l_array_source_54(Idx)
73650 , p_source_66 => l_array_source_66(Idx)
73647 , p_source_55 => l_array_source_55(Idx)
73648 , p_source_56 => l_array_source_56(Idx)
73649 , p_source_57 => l_array_source_57(Idx)
73651 );
73652 If(l_balance_type_code = 'A') THEN
73653 l_actual_gain_loss_ref := l_gain_or_loss_ref;
73654 END IF;
73655
73656 --
73657
73658 -- only execute it if calculate g/l flag is yes, and primary or secondary ledger
73659 -- or secondary ledger that has different currency with primary
73660 -- or alc that is calculated by sla
73661 IF (((l_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
73662 (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'))
73663
73664 -- IF((l_calculate_g_l_flag='Y' or XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id <>
73665 -- XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id)
73666 AND (l_actual_flag = 'A')) THEN
73667 XLA_AE_LINES_PKG.CreateGainOrLossLines(
73668 p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
73669 ,p_application_id => p_application_id
73670 ,p_amb_context_code => 'DEFAULT'
73671 ,p_entity_code => xla_ae_journal_entry_pkg.g_cache_event.entity_code
73672 ,p_event_class_code => C_EVENT_CLASS_CODE
73673 ,p_event_type_code => C_EVENT_TYPE_CODE
73674
73675 ,p_gain_ccid => -1
73676 ,p_loss_ccid => -1
73677
73678 ,p_actual_flag => l_actual_flag
73679 ,p_enc_flag => null
73680 ,p_actual_g_l_ref => l_actual_gain_loss_ref
73681 ,p_enc_g_l_ref => null
73682 );
73683 END IF;
73684 END IF;
73685 END IF;
73686
73687 ELSE
73688 --
73689 -- Bug 4872078 - Do nothing if the event is meant for transaction reversal
73690 --
73691 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
73692 trace
73693 (p_msg => 'Trancaction revesal option is Y'
73694 ,p_level => C_LEVEL_STATEMENT
73695 ,p_module => l_log_module);
73696 END IF;
73697 END IF;
73698
73699 END LOOP;
73700 l_result := XLA_AE_LINES_PKG.InsertLines ;
73701 end loop;
73702 close line_cur;
73703
73704
73705 --
73706 -- insert headers into xla_ae_headers_gt table
73707 --
73708 l_result := XLA_AE_HEADER_PKG.InsertHeaders ;
73709
73710 -- insert into errors table here.
73711
73712 END LOOP;
73713
73714 --
73715 -- 4865292
73716 --
73717 -- Compare g_hdr_extract_count with event count in
73718 -- CreateHeadersAndLines.
73719 --
73720 g_hdr_extract_count := g_hdr_extract_count + header_cur%ROWCOUNT;
73721
73722 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
73723 trace (p_msg => '# rows extracted from header extract objects '
73724 || ' (running total): '
73725 || g_hdr_extract_count
73726 ,p_level => C_LEVEL_STATEMENT
73727 ,p_module => l_log_module);
73728 END IF;
73729
73730 CLOSE header_cur;
73731 --
73732
73733 --
73734 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
73735 trace
73736 (p_msg => 'END of EventClass_105'
73737 ,p_level => C_LEVEL_PROCEDURE
73738 ,p_module => l_log_module);
73739 END IF;
73740 --
73741 RETURN l_result;
73742 EXCEPTION
73743 WHEN xla_exceptions_pkg.application_exception THEN
73744
73745 IF header_cur%ISOPEN THEN CLOSE header_cur; END IF;
73746
73747
73748 IF line_cur%ISOPEN THEN CLOSE line_cur; END IF;
73749
73750 RAISE;
73751
73752 WHEN NO_DATA_FOUND THEN
73753
73754 IF header_cur%ISOPEN THEN CLOSE header_cur; END IF;
73755 IF line_cur%ISOPEN THEN CLOSE line_cur; END IF;
73756
73757 FOR header_record IN header_cur
73758 LOOP
73759 l_array_header_events(header_record.event_id) := header_record.event_id;
73760 END LOOP;
73761
73762 l_first_event_id := l_array_header_events(l_array_header_events.FIRST);
73763 l_last_event_id := l_array_header_events(l_array_header_events.LAST);
73764
73765 fnd_file.put_line(fnd_file.LOG, ' ');
73766 fnd_file.put_line(fnd_file.LOG, '***************************************************************************');
73767 fnd_file.put_line(fnd_file.LOG, 'EVENT CLASS CODE = ' || C_EVENT_CLASS_CODE );
73768 fnd_file.put_line(fnd_file.LOG, 'The following events are present in the line extract but MISSING in the header extract: ');
73769
73770 FOR line_record IN line_cur(l_first_event_id, l_last_event_id)
73771 LOOP
73772 IF (NOT l_array_header_events.EXISTS(line_record.event_id)) AND (NOT l_array_duplicate_checker.EXISTS(line_record.event_id)) THEN
73773 fnd_file.put_line(fnd_file.log, 'Event_id = ' || line_record.event_id);
73774 l_array_duplicate_checker(line_record.event_id) := line_record.event_id;
73775 END IF;
73776 END LOOP;
73777
73778 fnd_file.put_line(fnd_file.LOG, '***************************************************************************');
73779 fnd_file.put_line(fnd_file.LOG, ' ');
73780
73781
73782 xla_exceptions_pkg.raise_message
73783 (p_location => 'XLA_00200_AAD_S_000006_BC_PKG.EventClass_105');
73784
73785
73786 WHEN OTHERS THEN
73787 xla_exceptions_pkg.raise_message
73788 (p_location => 'XLA_00200_AAD_S_000006_BC_PKG.EventClass_105');
73792 ---------------------------------------
73789 END EventClass_105;
73790 --
73791
73793 --
73794 -- PRIVATE PROCEDURE
73795 -- insert_sources_106
73796 --
73797 ----------------------------------------
73798 --
73799 PROCEDURE insert_sources_106(
73800 p_target_ledger_id IN NUMBER
73801 , p_language IN VARCHAR2
73802 , p_sla_ledger_id IN NUMBER
73803 , p_pad_start_date IN DATE
73804 , p_pad_end_date IN DATE
73805 )
73806 IS
73807
73808 C_EVENT_TYPE_CODE CONSTANT VARCHAR2(30) := 'INVOICE_BURDEN_ALL';
73809 C_EVENT_CLASS_CODE CONSTANT VARCHAR2(30) := 'INVOICE_BURDEN';
73810 p_apps_owner VARCHAR2(30);
73811 l_log_module VARCHAR2(240);
73812 BEGIN
73813 IF g_log_enabled THEN
73814 l_log_module := C_DEFAULT_MODULE||'.insert_sources_106';
73815 END IF;
73816 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
73817
73818 trace
73819 (p_msg => 'BEGIN of insert_sources_106'
73820 ,p_level => C_LEVEL_PROCEDURE
73821 ,p_module => l_log_module);
73822
73823 END IF;
73824
73825 -- select APPS owner
73826 SELECT oracle_username
73827 INTO p_apps_owner
73828 FROM fnd_oracle_userid
73829 WHERE read_only_flag = 'U'
73830 ;
73831
73832 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
73833 trace
73834 (p_msg => 'p_target_ledger_id = '||p_target_ledger_id||
73835 ' - p_language = '||p_language||
73836 ' - p_sla_ledger_id = '||p_sla_ledger_id ||
73837 ' - p_pad_start_date = '||TO_CHAR(p_pad_start_date)||
73838 ' - p_pad_end_date = '||TO_CHAR(p_pad_end_date)||
73839 ' - p_apps_owner = '||TO_CHAR(p_apps_owner)
73840 ,p_level => C_LEVEL_STATEMENT
73841 ,p_module => l_log_module);
73842 END IF;
73843
73844
73845
73846
73847 --
73848 INSERT INTO xla_diag_sources --line2
73849 (
73850 event_id
73851 , ledger_id
73852 , sla_ledger_id
73853 , description_language
73854 , object_name
73855 , object_type_code
73856 , line_number
73857 , source_application_id
73858 , source_type_code
73859 , source_code
73860 , source_value
73861 , source_meaning
73862 , created_by
73863 , creation_date
73864 , last_update_date
73865 , last_updated_by
73866 , last_update_login
73867 , program_update_date
73868 , program_application_id
73869 , program_id
73870 , request_id
73871 )
73872 SELECT event_id
73873 , p_target_ledger_id
73874 , p_sla_ledger_id
73875 , p_language
73876 , object_name
73877 , object_type_code
73878 , line_number
73879 , source_application_id
73880 , source_type_code
73881 , source_code
73882 , SUBSTR(source_value,1,1996)
73883 , SUBSTR(source_meaning ,1,200)
73884 , xla_environment_pkg.g_Usr_Id
73885 , TRUNC(SYSDATE)
73886 , TRUNC(SYSDATE)
73887 , xla_environment_pkg.g_Usr_Id
73888 , xla_environment_pkg.g_Login_Id
73889 , TRUNC(SYSDATE)
73890 , xla_environment_pkg.g_Prog_Appl_Id
73891 , xla_environment_pkg.g_Prog_Id
73892 , xla_environment_pkg.g_Req_Id
73893 FROM (
73894 SELECT xet.event_id event_id
73895 , l1.line_number line_number
73896 , CASE r
73897 WHEN 1 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
73898 WHEN 2 THEN 'PA_XLA_PROJECT_REF_V'
73899 WHEN 3 THEN 'PA_XLA_TASK_REF_V'
73900 WHEN 4 THEN 'PA_XLA_EXP_ORG_REF_V'
73901 WHEN 5 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
73902 WHEN 6 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
73903 WHEN 7 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
73904 WHEN 8 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
73905 WHEN 9 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
73906 WHEN 10 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
73907 WHEN 11 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
73908 WHEN 12 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
73909 WHEN 13 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
73910 WHEN 14 THEN 'PA_XLA_PROJECT_REF_V'
73911 WHEN 15 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
73912 WHEN 16 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
73913 WHEN 17 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
73914 WHEN 18 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
73915 WHEN 19 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
73916 WHEN 20 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
73917 WHEN 21 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
73918 WHEN 22 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
73919 WHEN 23 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
73920 WHEN 24 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
73921 WHEN 25 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
73922 WHEN 26 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
73923 WHEN 27 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
73927 WHEN 31 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
73924 WHEN 28 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
73925 WHEN 29 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
73926 WHEN 30 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
73928 WHEN 32 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
73929 WHEN 33 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
73930 WHEN 34 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
73931 WHEN 35 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
73932 WHEN 36 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
73933 WHEN 37 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
73934 WHEN 38 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
73935 WHEN 39 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
73936 WHEN 40 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
73937 WHEN 41 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
73938 WHEN 42 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
73939 WHEN 43 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
73940 WHEN 44 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
73941 WHEN 45 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
73942 WHEN 46 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
73943 WHEN 47 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
73944 WHEN 48 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
73945 WHEN 49 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
73946 WHEN 50 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
73947 WHEN 51 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
73948
73949 ELSE null
73950 END object_name
73951 , CASE r
73952 WHEN 1 THEN 'LINE'
73953 WHEN 2 THEN 'LINE'
73954 WHEN 3 THEN 'LINE'
73955 WHEN 4 THEN 'LINE'
73956 WHEN 5 THEN 'LINE'
73957 WHEN 6 THEN 'LINE'
73958 WHEN 7 THEN 'LINE'
73959 WHEN 8 THEN 'LINE'
73960 WHEN 9 THEN 'LINE'
73961 WHEN 10 THEN 'LINE'
73962 WHEN 11 THEN 'LINE'
73963 WHEN 12 THEN 'LINE'
73964 WHEN 13 THEN 'LINE'
73965 WHEN 14 THEN 'LINE'
73966 WHEN 15 THEN 'LINE'
73967 WHEN 16 THEN 'LINE'
73968 WHEN 17 THEN 'LINE'
73969 WHEN 18 THEN 'LINE'
73970 WHEN 19 THEN 'LINE'
73971 WHEN 20 THEN 'LINE'
73972 WHEN 21 THEN 'LINE'
73973 WHEN 22 THEN 'LINE'
73974 WHEN 23 THEN 'LINE'
73975 WHEN 24 THEN 'LINE'
73976 WHEN 25 THEN 'LINE'
73977 WHEN 26 THEN 'LINE'
73978 WHEN 27 THEN 'LINE'
73979 WHEN 28 THEN 'LINE'
73980 WHEN 29 THEN 'LINE'
73981 WHEN 30 THEN 'LINE'
73982 WHEN 31 THEN 'LINE'
73983 WHEN 32 THEN 'LINE'
73984 WHEN 33 THEN 'LINE'
73985 WHEN 34 THEN 'LINE'
73986 WHEN 35 THEN 'LINE'
73987 WHEN 36 THEN 'LINE'
73988 WHEN 37 THEN 'LINE'
73989 WHEN 38 THEN 'LINE'
73990 WHEN 39 THEN 'LINE'
73991 WHEN 40 THEN 'LINE'
73992 WHEN 41 THEN 'LINE'
73993 WHEN 42 THEN 'LINE'
73994 WHEN 43 THEN 'LINE'
73995 WHEN 44 THEN 'LINE'
73996 WHEN 45 THEN 'LINE'
73997 WHEN 46 THEN 'LINE'
73998 WHEN 47 THEN 'LINE'
73999 WHEN 48 THEN 'LINE'
74000 WHEN 49 THEN 'LINE'
74001 WHEN 50 THEN 'LINE'
74002 WHEN 51 THEN 'LINE'
74003
74004 ELSE null
74005 END object_type_code
74006 , CASE r
74007 WHEN 1 THEN '200'
74008 WHEN 2 THEN '275'
74009 WHEN 3 THEN '275'
74010 WHEN 4 THEN '275'
74011 WHEN 5 THEN '200'
74012 WHEN 6 THEN '200'
74013 WHEN 7 THEN '200'
74014 WHEN 8 THEN '200'
74015 WHEN 9 THEN '200'
74016 WHEN 10 THEN '200'
74017 WHEN 11 THEN '200'
74018 WHEN 12 THEN '200'
74019 WHEN 13 THEN '200'
74020 WHEN 14 THEN '275'
74021 WHEN 15 THEN '200'
74022 WHEN 16 THEN '200'
74023 WHEN 17 THEN '200'
74024 WHEN 18 THEN '200'
74025 WHEN 19 THEN '200'
74026 WHEN 20 THEN '200'
74027 WHEN 21 THEN '200'
74028 WHEN 22 THEN '200'
74029 WHEN 23 THEN '200'
74030 WHEN 24 THEN '200'
74031 WHEN 25 THEN '200'
74032 WHEN 26 THEN '200'
74033 WHEN 27 THEN '200'
74034 WHEN 28 THEN '200'
74035 WHEN 29 THEN '200'
74036 WHEN 30 THEN '200'
74037 WHEN 31 THEN '200'
74038 WHEN 32 THEN '200'
74039 WHEN 33 THEN '200'
74040 WHEN 34 THEN '200'
74041 WHEN 35 THEN '200'
74042 WHEN 36 THEN '200'
74043 WHEN 37 THEN '200'
74047 WHEN 41 THEN '200'
74044 WHEN 38 THEN '200'
74045 WHEN 39 THEN '200'
74046 WHEN 40 THEN '200'
74048 WHEN 42 THEN '200'
74049 WHEN 43 THEN '200'
74050 WHEN 44 THEN '200'
74051 WHEN 45 THEN '200'
74052 WHEN 46 THEN '200'
74053 WHEN 47 THEN '200'
74054 WHEN 48 THEN '200'
74055 WHEN 49 THEN '200'
74056 WHEN 50 THEN '200'
74057 WHEN 51 THEN '200'
74058
74059 ELSE null
74060 END source_application_id
74061 , 'S' source_type_code
74062 , CASE r
74063 WHEN 1 THEN 'DOCUMENT_DISTRIBUTION_TYPE'
74064 WHEN 2 THEN 'PROJECT_NAME'
74065 WHEN 3 THEN 'TASK_NUMBER'
74066 WHEN 4 THEN 'EXPENDITURE_ORGANIZATION_ID'
74067 WHEN 5 THEN 'BUDGET_CCID'
74068 WHEN 6 THEN 'DISTRIBUTION_LINK_TYPE'
74069 WHEN 7 THEN 'AID_INVOICE_DIST_ID'
74070 WHEN 8 THEN 'AI_INVOICE_CURRENCY_CODE'
74071 WHEN 9 THEN 'INV_EXCHANGE_DATE'
74072 WHEN 10 THEN 'INV_EXCHANGE_RATE'
74073 WHEN 11 THEN 'INV_EXCHANGE_RATE_TYPE'
74074 WHEN 12 THEN 'AID_AMOUNT'
74075 WHEN 13 THEN 'DOCUMENT_TYPE'
74076 WHEN 14 THEN 'PROJ_BURDEN_DISPLAY_METHOD'
74077 WHEN 15 THEN 'ACCT_REVERSAL_INDICATOR'
74078 WHEN 16 THEN 'ALLOC_TO_APPLN_ID'
74079 WHEN 17 THEN 'ALLOC_TO_DIST_TYPE'
74080 WHEN 18 THEN 'ALLOC_TO_ENTITY_CODE'
74081 WHEN 19 THEN 'ALLOC_TO_FIRST_DIST_ID'
74082 WHEN 20 THEN 'ALLOC_TO_FIRST_SYS_TRANS_ID'
74083 WHEN 21 THEN 'AP_APPLICATION_ID'
74084 WHEN 22 THEN 'AP_DISTRIBUTION_TYPE'
74085 WHEN 23 THEN 'AP_ENTITY_CODE'
74086 WHEN 24 THEN 'AP_FIRST_DIST_ID'
74087 WHEN 25 THEN 'AP_FIRST_SYS_TRANS_ID'
74088 WHEN 26 THEN 'AID_EXPENDITURE_TYPE'
74089 WHEN 27 THEN 'ENC_UPG_CR_ACCT_CLASS'
74090 WHEN 28 THEN 'ENC_UPG_CR_ACCOUNT'
74091 WHEN 29 THEN 'AID_BASE_AMT_NO_ROUND'
74092 WHEN 30 THEN 'ENC_UPG_DR_ACCT_CLASS'
74093 WHEN 31 THEN 'ENC_UPG_DR_ACCOUNT'
74094 WHEN 32 THEN 'USE_ENC_UPG_ATTRIB_FLAG'
74095 WHEN 33 THEN 'ACCT_REVERSAL_FIRST_DIST_ID'
74096 WHEN 34 THEN 'AP_SECOND_DIST_ID'
74097 WHEN 35 THEN 'ACCT_REV_DISTRIBUTION_TYPE'
74098 WHEN 36 THEN 'ENC_UPG_CR_ENC_TYPE_ID'
74099 WHEN 37 THEN 'ENC_UPG_DR_ENC_TYPE_ID'
74100 WHEN 38 THEN 'BURDEN_COST_FLAG'
74101 WHEN 39 THEN 'PA_APPLICATION_ID'
74102 WHEN 40 THEN 'PA_DISTRIBUTION_TYPE'
74103 WHEN 41 THEN 'PA_ENTITY_CODE'
74104 WHEN 42 THEN 'PA_FIRST_DIST_ID'
74105 WHEN 43 THEN 'PA_FIRST_SYS_TRANS_ID'
74106 WHEN 44 THEN 'PA_SECOND_DIST_ID'
74107 WHEN 45 THEN 'PO_RELEASE_ID'
74108 WHEN 46 THEN 'PO_APPLICATION_ID'
74109 WHEN 47 THEN 'PO_DISTRIBUTION_TYPE'
74110 WHEN 48 THEN 'PO_ENTITY_CODE'
74111 WHEN 49 THEN 'PO_FIRST_DIST_ID'
74112 WHEN 50 THEN 'PO_FIRST_SYS_TRANS_ID'
74113 WHEN 51 THEN 'PO_SECOND_DIST_ID'
74114
74115 ELSE null
74116 END source_code
74117 , CASE r
74118 WHEN 1 THEN TO_CHAR(l1.DOCUMENT_DISTRIBUTION_TYPE)
74119 WHEN 2 THEN TO_CHAR(l3.PROJECT_NAME)
74120 WHEN 3 THEN TO_CHAR(l4.TASK_NUMBER)
74121 WHEN 4 THEN TO_CHAR(l2.EXPENDITURE_ORGANIZATION_ID)
74122 WHEN 5 THEN TO_CHAR(l1.BUDGET_CCID)
74123 WHEN 6 THEN TO_CHAR(l1.DISTRIBUTION_LINK_TYPE)
74124 WHEN 7 THEN TO_CHAR(l1.AID_INVOICE_DIST_ID)
74125 WHEN 8 THEN TO_CHAR(l1.AI_INVOICE_CURRENCY_CODE)
74126 WHEN 9 THEN TO_CHAR(l1.INV_EXCHANGE_DATE)
74127 WHEN 10 THEN TO_CHAR(l1.INV_EXCHANGE_RATE)
74128 WHEN 11 THEN TO_CHAR(l1.INV_EXCHANGE_RATE_TYPE)
74129 WHEN 12 THEN TO_CHAR(l1.AID_AMOUNT)
74130 WHEN 13 THEN TO_CHAR(l1.DOCUMENT_TYPE)
74131 WHEN 14 THEN TO_CHAR(l3.PROJ_BURDEN_DISPLAY_METHOD)
74132 WHEN 15 THEN TO_CHAR(l1.ACCT_REVERSAL_INDICATOR)
74133 WHEN 16 THEN TO_CHAR(l1.ALLOC_TO_APPLN_ID)
74134 WHEN 17 THEN TO_CHAR(l1.ALLOC_TO_DIST_TYPE)
74135 WHEN 18 THEN TO_CHAR(l1.ALLOC_TO_ENTITY_CODE)
74136 WHEN 19 THEN TO_CHAR(l1.ALLOC_TO_FIRST_DIST_ID)
74137 WHEN 20 THEN TO_CHAR(l1.ALLOC_TO_FIRST_SYS_TRANS_ID)
74138 WHEN 21 THEN TO_CHAR(l1.AP_APPLICATION_ID)
74139 WHEN 22 THEN TO_CHAR(l1.AP_DISTRIBUTION_TYPE)
74140 WHEN 23 THEN TO_CHAR(l1.AP_ENTITY_CODE)
74141 WHEN 24 THEN TO_CHAR(l1.AP_FIRST_DIST_ID)
74142 WHEN 25 THEN TO_CHAR(l1.AP_FIRST_SYS_TRANS_ID)
74143 WHEN 26 THEN TO_CHAR(l1.AID_EXPENDITURE_TYPE)
74147 WHEN 30 THEN TO_CHAR(l1.ENC_UPG_DR_ACCT_CLASS)
74144 WHEN 27 THEN TO_CHAR(l1.ENC_UPG_CR_ACCT_CLASS)
74145 WHEN 28 THEN TO_CHAR(l1.ENC_UPG_CR_ACCOUNT)
74146 WHEN 29 THEN TO_CHAR(l1.AID_BASE_AMT_NO_ROUND)
74148 WHEN 31 THEN TO_CHAR(l1.ENC_UPG_DR_ACCOUNT)
74149 WHEN 32 THEN TO_CHAR(l1.USE_ENC_UPG_ATTRIB_FLAG)
74150 WHEN 33 THEN TO_CHAR(l1.ACCT_REVERSAL_FIRST_DIST_ID)
74151 WHEN 34 THEN TO_CHAR(l1.AP_SECOND_DIST_ID)
74152 WHEN 35 THEN TO_CHAR(l1.ACCT_REV_DISTRIBUTION_TYPE)
74153 WHEN 36 THEN TO_CHAR(l1.ENC_UPG_CR_ENC_TYPE_ID)
74154 WHEN 37 THEN TO_CHAR(l1.ENC_UPG_DR_ENC_TYPE_ID)
74155 WHEN 38 THEN TO_CHAR(l1.BURDEN_COST_FLAG)
74156 WHEN 39 THEN TO_CHAR(l1.PA_APPLICATION_ID)
74157 WHEN 40 THEN TO_CHAR(l1.PA_DISTRIBUTION_TYPE)
74158 WHEN 41 THEN TO_CHAR(l1.PA_ENTITY_CODE)
74159 WHEN 42 THEN TO_CHAR(l1.PA_FIRST_DIST_ID)
74160 WHEN 43 THEN TO_CHAR(l1.PA_FIRST_SYS_TRANS_ID)
74161 WHEN 44 THEN TO_CHAR(l1.PA_SECOND_DIST_ID)
74162 WHEN 45 THEN TO_CHAR(l1.PO_RELEASE_ID)
74163 WHEN 46 THEN TO_CHAR(l1.PO_APPLICATION_ID)
74164 WHEN 47 THEN TO_CHAR(l1.PO_DISTRIBUTION_TYPE)
74165 WHEN 48 THEN TO_CHAR(l1.PO_ENTITY_CODE)
74166 WHEN 49 THEN TO_CHAR(l1.PO_FIRST_DIST_ID)
74167 WHEN 50 THEN TO_CHAR(l1.PO_FIRST_SYS_TRANS_ID)
74168 WHEN 51 THEN TO_CHAR(l1.PO_SECOND_DIST_ID)
74169
74170 ELSE null
74171 END source_value
74172 , CASE r
74173 WHEN 4 THEN XLA_00200_AAD_S_000006_BC_PKG.GetMeaning(
74174 1011404
74175 ,TO_CHAR(l2.EXPENDITURE_ORGANIZATION_ID)
74176 ,'EXPENDITURE_ORGANIZATION_ID'
74177 ,'S'
74178 ,275)
74179 WHEN 38 THEN fvl108.meaning
74180
74181 ELSE null
74182 END source_meaning
74183 FROM xla_events_gt xet
74184 , PA_XLA_BC_PKT_AP_DETAIL_V l1
74185 , PA_XLA_EXP_ORG_REF_V l2
74186 , PA_XLA_PROJECT_REF_V l3
74187 , PA_XLA_TASK_REF_V l4
74188 , fnd_lookup_values fvl108
74189 , (select rownum r from all_objects where rownum <= 51 and owner = p_apps_owner)
74190 WHERE xet.event_date between p_pad_start_date AND p_pad_end_date
74191 AND xet.event_class_code = C_EVENT_CLASS_CODE
74192 AND l1.event_id = xet.event_id
74193 AND l2.expenditure_organization_id=l1.aid_expenditure_org_id AND l3.project_id=l1.aid_project_id AND l4.task_id=l1.aid_task_id AND fvl108.lookup_type(+) = 'BC_PKT_BURDEN_COST_FLAG'
74194 AND fvl108.lookup_code(+) = l1.BURDEN_COST_FLAG
74195 AND fvl108.view_application_id(+) = 275
74196 AND fvl108.language(+) = USERENV('LANG')
74197
74198 )
74199 ;
74200 --
74201 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
74202
74203 trace
74204 (p_msg => 'number of line sources inserted = '||SQL%ROWCOUNT
74205 ,p_level => C_LEVEL_STATEMENT
74206 ,p_module => l_log_module);
74207
74208 END IF;
74209
74210
74211 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
74212 trace
74213 (p_msg => 'END of insert_sources_106'
74214 ,p_level => C_LEVEL_PROCEDURE
74215 ,p_module => l_log_module);
74216 END IF;
74217 EXCEPTION
74218 WHEN xla_exceptions_pkg.application_exception THEN
74219 IF (C_LEVEL_EXCEPTION >= g_log_level) THEN
74220 trace
74221 (p_msg => 'ERROR: XLA_CMP_COMPILER_ERROR = '||sqlerrm
74222 ,p_level => C_LEVEL_EXCEPTION
74223 ,p_module => l_log_module);
74224 END IF;
74225 RAISE;
74226 WHEN OTHERS THEN
74227 IF (C_LEVEL_EXCEPTION >= g_log_level) THEN
74228 trace
74229 (p_msg => 'ERROR: XLA_CMP_COMPILER_ERROR = '||sqlerrm
74230 ,p_level => C_LEVEL_EXCEPTION
74231 ,p_module => l_log_module);
74232 END IF;
74233 xla_exceptions_pkg.raise_message
74234 (p_location => 'XLA_00200_AAD_S_000006_BC_PKG.insert_sources_106');
74235 END insert_sources_106;
74236 --
74237
74238 ---------------------------------------
74239 --
74240 -- PRIVATE FUNCTION
74241 -- EventClass_106
74242 --
74243 ----------------------------------------
74244 --
74245 FUNCTION EventClass_106
74246 (p_application_id IN NUMBER
74247 ,p_base_ledger_id IN NUMBER
74248 ,p_target_ledger_id IN NUMBER
74249 ,p_language IN VARCHAR2
74250 ,p_currency_code IN VARCHAR2
74251 ,p_sla_ledger_id IN NUMBER
74252 ,p_pad_start_date IN DATE
74253 ,p_pad_end_date IN DATE
74254 ,p_primary_ledger_id IN NUMBER)
74255 RETURN BOOLEAN IS
74256 --
74257 C_EVENT_TYPE_CODE CONSTANT VARCHAR2(30) := 'INVOICE_BURDEN_ALL';
74258 C_EVENT_CLASS_CODE CONSTANT VARCHAR2(30) := 'INVOICE_BURDEN';
74259
74260 l_calculate_acctd_flag VARCHAR2(1) :='N';
74261 l_calculate_g_l_flag VARCHAR2(1) :='N';
74262 --
74263 l_array_legal_entity_id XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
74267 l_array_event_id XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
74264 l_array_entity_id XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
74265 l_array_entity_code XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
74266 l_array_transaction_num XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
74268 l_array_class_code XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
74269 l_array_event_type XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
74270 l_array_event_number XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
74271 l_array_event_date XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
74272 l_array_transaction_date XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
74273 l_array_reference_num_1 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
74274 l_array_reference_num_2 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
74275 l_array_reference_num_3 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
74276 l_array_reference_num_4 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
74277 l_array_reference_char_1 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
74278 l_array_reference_char_2 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
74279 l_array_reference_char_3 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
74280 l_array_reference_char_4 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
74281 l_array_reference_date_1 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
74282 l_array_reference_date_2 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
74283 l_array_reference_date_3 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
74284 l_array_reference_date_4 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
74285 l_array_event_created_by XLA_AE_JOURNAL_ENTRY_PKG.t_array_V100L;
74286 l_array_budgetary_control_flag XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
74287 l_array_header_events XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num; --added
74288 l_array_duplicate_checker XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num; --added
74289
74290 l_event_id NUMBER;
74291 l_previous_event_id NUMBER;
74292 l_first_event_id NUMBER;
74293 l_last_event_id NUMBER;
74294
74295 l_rec_acct_attrs XLA_AE_HEADER_PKG.t_rec_acct_attrs;
74296 l_rec_rev_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
74297 --
74298 --
74299 l_result BOOLEAN := TRUE;
74300 l_rows NUMBER := 1000;
74301 l_event_type_name VARCHAR2(80) := 'All';
74302 l_event_class_name VARCHAR2(80) := 'Burden for Invoices';
74303 l_description VARCHAR2(4000);
74304 l_transaction_reversal NUMBER;
74305 l_ae_header_id NUMBER;
74306 l_array_extract_line_num xla_ae_journal_entry_pkg.t_array_Num;
74307 l_log_module VARCHAR2(240);
74308 --
74309 l_acct_reversal_source VARCHAR2(30);
74310 l_trx_reversal_source VARCHAR2(30);
74311
74312 l_continue_with_lines BOOLEAN := TRUE;
74313 --
74314 l_acc_rev_gl_date_source DATE; -- 4262811
74315 --
74316 type t_array_event_id is table of number index by binary_integer;
74317
74318 l_rec_array_event t_rec_array_event;
74319 l_null_rec_array_event t_rec_array_event;
74320 l_array_ae_header_id xla_number_array_type;
74321 l_actual_flag VARCHAR2(1) := NULL;
74322 l_actual_gain_loss_ref VARCHAR2(30) := '#####';
74323 l_balance_type_code VARCHAR2(1) :=NULL;
74324 l_gain_or_loss_ref VARCHAR2(30) :=NULL;
74325
74326 --
74327 TYPE t_array_lookup_meaning IS TABLE OF fnd_lookup_values.meaning%TYPE INDEX BY BINARY_INTEGER;
74328 --
74329
74330
74331 TYPE t_array_source_2 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.DOCUMENT_DISTRIBUTION_TYPE%TYPE INDEX BY BINARY_INTEGER;
74332 TYPE t_array_source_3 IS TABLE OF PA_XLA_PROJECT_REF_V.PROJECT_NAME%TYPE INDEX BY BINARY_INTEGER;
74333 TYPE t_array_source_4 IS TABLE OF PA_XLA_TASK_REF_V.TASK_NUMBER%TYPE INDEX BY BINARY_INTEGER;
74334 TYPE t_array_source_5 IS TABLE OF PA_XLA_EXP_ORG_REF_V.EXPENDITURE_ORGANIZATION_ID%TYPE INDEX BY BINARY_INTEGER;
74335 TYPE t_array_source_14 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.BUDGET_CCID%TYPE INDEX BY BINARY_INTEGER;
74336 TYPE t_array_source_21 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.DISTRIBUTION_LINK_TYPE%TYPE INDEX BY BINARY_INTEGER;
74337 TYPE t_array_source_30 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.AID_INVOICE_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
74338 TYPE t_array_source_33 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.AI_INVOICE_CURRENCY_CODE%TYPE INDEX BY BINARY_INTEGER;
74339 TYPE t_array_source_39 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.INV_EXCHANGE_DATE%TYPE INDEX BY BINARY_INTEGER;
74340 TYPE t_array_source_40 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.INV_EXCHANGE_RATE%TYPE INDEX BY BINARY_INTEGER;
74341 TYPE t_array_source_41 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.INV_EXCHANGE_RATE_TYPE%TYPE INDEX BY BINARY_INTEGER;
74342 TYPE t_array_source_57 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.AID_AMOUNT%TYPE INDEX BY BINARY_INTEGER;
74343 TYPE t_array_source_83 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.DOCUMENT_TYPE%TYPE INDEX BY BINARY_INTEGER;
74344 TYPE t_array_source_84 IS TABLE OF PA_XLA_PROJECT_REF_V.PROJ_BURDEN_DISPLAY_METHOD%TYPE INDEX BY BINARY_INTEGER;
74345 TYPE t_array_source_85 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.ACCT_REVERSAL_INDICATOR%TYPE INDEX BY BINARY_INTEGER;
74346 TYPE t_array_source_86 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.ALLOC_TO_APPLN_ID%TYPE INDEX BY BINARY_INTEGER;
74347 TYPE t_array_source_87 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.ALLOC_TO_DIST_TYPE%TYPE INDEX BY BINARY_INTEGER;
74351 TYPE t_array_source_91 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.AP_APPLICATION_ID%TYPE INDEX BY BINARY_INTEGER;
74348 TYPE t_array_source_88 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.ALLOC_TO_ENTITY_CODE%TYPE INDEX BY BINARY_INTEGER;
74349 TYPE t_array_source_89 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.ALLOC_TO_FIRST_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
74350 TYPE t_array_source_90 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.ALLOC_TO_FIRST_SYS_TRANS_ID%TYPE INDEX BY BINARY_INTEGER;
74352 TYPE t_array_source_92 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.AP_DISTRIBUTION_TYPE%TYPE INDEX BY BINARY_INTEGER;
74353 TYPE t_array_source_93 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.AP_ENTITY_CODE%TYPE INDEX BY BINARY_INTEGER;
74354 TYPE t_array_source_94 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.AP_FIRST_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
74355 TYPE t_array_source_95 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.AP_FIRST_SYS_TRANS_ID%TYPE INDEX BY BINARY_INTEGER;
74356 TYPE t_array_source_96 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.AID_EXPENDITURE_TYPE%TYPE INDEX BY BINARY_INTEGER;
74357 TYPE t_array_source_97 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.ENC_UPG_CR_ACCT_CLASS%TYPE INDEX BY BINARY_INTEGER;
74358 TYPE t_array_source_98 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.ENC_UPG_CR_ACCOUNT%TYPE INDEX BY BINARY_INTEGER;
74359 TYPE t_array_source_99 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.AID_BASE_AMT_NO_ROUND%TYPE INDEX BY BINARY_INTEGER;
74360 TYPE t_array_source_100 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.ENC_UPG_DR_ACCT_CLASS%TYPE INDEX BY BINARY_INTEGER;
74361 TYPE t_array_source_101 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.ENC_UPG_DR_ACCOUNT%TYPE INDEX BY BINARY_INTEGER;
74362 TYPE t_array_source_102 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.USE_ENC_UPG_ATTRIB_FLAG%TYPE INDEX BY BINARY_INTEGER;
74363 TYPE t_array_source_103 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.ACCT_REVERSAL_FIRST_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
74364 TYPE t_array_source_104 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.AP_SECOND_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
74365 TYPE t_array_source_105 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.ACCT_REV_DISTRIBUTION_TYPE%TYPE INDEX BY BINARY_INTEGER;
74366 TYPE t_array_source_106 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.ENC_UPG_CR_ENC_TYPE_ID%TYPE INDEX BY BINARY_INTEGER;
74367 TYPE t_array_source_107 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.ENC_UPG_DR_ENC_TYPE_ID%TYPE INDEX BY BINARY_INTEGER;
74368 TYPE t_array_source_108 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.BURDEN_COST_FLAG%TYPE INDEX BY BINARY_INTEGER;
74369 TYPE t_array_source_109 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.PA_APPLICATION_ID%TYPE INDEX BY BINARY_INTEGER;
74370 TYPE t_array_source_110 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.PA_DISTRIBUTION_TYPE%TYPE INDEX BY BINARY_INTEGER;
74371 TYPE t_array_source_111 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.PA_ENTITY_CODE%TYPE INDEX BY BINARY_INTEGER;
74372 TYPE t_array_source_112 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.PA_FIRST_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
74373 TYPE t_array_source_113 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.PA_FIRST_SYS_TRANS_ID%TYPE INDEX BY BINARY_INTEGER;
74374 TYPE t_array_source_114 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.PA_SECOND_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
74375 TYPE t_array_source_115 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.PO_RELEASE_ID%TYPE INDEX BY BINARY_INTEGER;
74376 TYPE t_array_source_116 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.PO_APPLICATION_ID%TYPE INDEX BY BINARY_INTEGER;
74377 TYPE t_array_source_117 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.PO_DISTRIBUTION_TYPE%TYPE INDEX BY BINARY_INTEGER;
74378 TYPE t_array_source_118 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.PO_ENTITY_CODE%TYPE INDEX BY BINARY_INTEGER;
74379 TYPE t_array_source_119 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.PO_FIRST_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
74380 TYPE t_array_source_120 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.PO_FIRST_SYS_TRANS_ID%TYPE INDEX BY BINARY_INTEGER;
74381 TYPE t_array_source_121 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.PO_SECOND_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
74382
74383
74384 l_array_source_2 t_array_source_2;
74385 l_array_source_3 t_array_source_3;
74386 l_array_source_4 t_array_source_4;
74387 l_array_source_5 t_array_source_5;
74388 l_array_source_14 t_array_source_14;
74389 l_array_source_21 t_array_source_21;
74390 l_array_source_30 t_array_source_30;
74391 l_array_source_33 t_array_source_33;
74392 l_array_source_39 t_array_source_39;
74393 l_array_source_40 t_array_source_40;
74394 l_array_source_41 t_array_source_41;
74395 l_array_source_57 t_array_source_57;
74396 l_array_source_83 t_array_source_83;
74397 l_array_source_84 t_array_source_84;
74398 l_array_source_85 t_array_source_85;
74399 l_array_source_86 t_array_source_86;
74400 l_array_source_87 t_array_source_87;
74401 l_array_source_88 t_array_source_88;
74402 l_array_source_89 t_array_source_89;
74403 l_array_source_90 t_array_source_90;
74404 l_array_source_91 t_array_source_91;
74405 l_array_source_92 t_array_source_92;
74406 l_array_source_93 t_array_source_93;
74407 l_array_source_94 t_array_source_94;
74408 l_array_source_95 t_array_source_95;
74409 l_array_source_96 t_array_source_96;
74410 l_array_source_97 t_array_source_97;
74411 l_array_source_98 t_array_source_98;
74412 l_array_source_99 t_array_source_99;
74413 l_array_source_100 t_array_source_100;
74414 l_array_source_101 t_array_source_101;
74415 l_array_source_102 t_array_source_102;
74416 l_array_source_103 t_array_source_103;
74417 l_array_source_104 t_array_source_104;
74418 l_array_source_105 t_array_source_105;
74419 l_array_source_106 t_array_source_106;
74420 l_array_source_107 t_array_source_107;
74421 l_array_source_108 t_array_source_108;
74422 l_array_source_108_meaning t_array_lookup_meaning;
74423 l_array_source_109 t_array_source_109;
74424 l_array_source_110 t_array_source_110;
74425 l_array_source_111 t_array_source_111;
74429 l_array_source_115 t_array_source_115;
74426 l_array_source_112 t_array_source_112;
74427 l_array_source_113 t_array_source_113;
74428 l_array_source_114 t_array_source_114;
74430 l_array_source_116 t_array_source_116;
74431 l_array_source_117 t_array_source_117;
74432 l_array_source_118 t_array_source_118;
74433 l_array_source_119 t_array_source_119;
74434 l_array_source_120 t_array_source_120;
74435 l_array_source_121 t_array_source_121;
74436
74437 --
74438 CURSOR header_cur
74439 IS
74440 SELECT /*+ leading(xet) cardinality(xet,1) */
74441 -- Event Class Code: INVOICE_BURDEN
74442 xet.entity_id
74443 ,xet.legal_entity_id
74444 ,xet.entity_code
74445 ,xet.transaction_number
74446 ,xet.event_id
74447 ,xet.event_class_code
74448 ,xet.event_type_code
74449 ,xet.event_number
74450 ,xet.event_date
74451 ,xet.transaction_date
74452 ,xet.reference_num_1
74453 ,xet.reference_num_2
74454 ,xet.reference_num_3
74455 ,xet.reference_num_4
74456 ,xet.reference_char_1
74457 ,xet.reference_char_2
74458 ,xet.reference_char_3
74459 ,xet.reference_char_4
74460 ,xet.reference_date_1
74461 ,xet.reference_date_2
74462 ,xet.reference_date_3
74463 ,xet.reference_date_4
74464 ,xet.event_created_by
74465 ,xet.budgetary_control_flag
74466 FROM xla_events_gt xet
74467 WHERE xet.event_date between p_pad_start_date and p_pad_end_date
74468 and xet.event_class_code = C_EVENT_CLASS_CODE
74469 and xet.event_status_code <> 'N'
74470 ORDER BY event_id
74471 ;
74472
74473
74474 --
74475 CURSOR line_cur (x_first_event_id in number, x_last_event_id in number)
74476 IS
74477 SELECT /*+ leading(xet) cardinality(xet,1) */
74478 -- Event Class Code: INVOICE_BURDEN
74479 xet.entity_id
74480 ,xet.legal_entity_id
74481 ,xet.entity_code
74482 ,xet.transaction_number
74483 ,xet.event_id
74484 ,xet.event_class_code
74485 ,xet.event_type_code
74486 ,xet.event_number
74487 ,xet.event_date
74488 ,xet.transaction_date
74489 ,xet.reference_num_1
74490 ,xet.reference_num_2
74491 ,xet.reference_num_3
74492 ,xet.reference_num_4
74493 ,xet.reference_char_1
74494 ,xet.reference_char_2
74495 ,xet.reference_char_3
74496 ,xet.reference_char_4
74497 ,xet.reference_date_1
74498 ,xet.reference_date_2
74499 ,xet.reference_date_3
74500 ,xet.reference_date_4
74501 ,xet.event_created_by
74502 ,xet.budgetary_control_flag
74503 , l1.LINE_NUMBER
74504 , l1.DOCUMENT_DISTRIBUTION_TYPE source_2
74505 , l3.PROJECT_NAME source_3
74506 , l4.TASK_NUMBER source_4
74507 , l2.EXPENDITURE_ORGANIZATION_ID source_5
74508 , l1.BUDGET_CCID source_14
74509 , l1.DISTRIBUTION_LINK_TYPE source_21
74510 , l1.AID_INVOICE_DIST_ID source_30
74511 , l1.AI_INVOICE_CURRENCY_CODE source_33
74512 , l1.INV_EXCHANGE_DATE source_39
74513 , l1.INV_EXCHANGE_RATE source_40
74514 , l1.INV_EXCHANGE_RATE_TYPE source_41
74515 , l1.AID_AMOUNT source_57
74516 , l1.DOCUMENT_TYPE source_83
74517 , l3.PROJ_BURDEN_DISPLAY_METHOD source_84
74518 , l1.ACCT_REVERSAL_INDICATOR source_85
74519 , l1.ALLOC_TO_APPLN_ID source_86
74520 , l1.ALLOC_TO_DIST_TYPE source_87
74521 , l1.ALLOC_TO_ENTITY_CODE source_88
74522 , l1.ALLOC_TO_FIRST_DIST_ID source_89
74523 , l1.ALLOC_TO_FIRST_SYS_TRANS_ID source_90
74524 , l1.AP_APPLICATION_ID source_91
74525 , l1.AP_DISTRIBUTION_TYPE source_92
74526 , l1.AP_ENTITY_CODE source_93
74527 , l1.AP_FIRST_DIST_ID source_94
74528 , l1.AP_FIRST_SYS_TRANS_ID source_95
74529 , l1.AID_EXPENDITURE_TYPE source_96
74530 , l1.ENC_UPG_CR_ACCT_CLASS source_97
74531 , l1.ENC_UPG_CR_ACCOUNT source_98
74532 , l1.AID_BASE_AMT_NO_ROUND source_99
74533 , l1.ENC_UPG_DR_ACCT_CLASS source_100
74534 , l1.ENC_UPG_DR_ACCOUNT source_101
74535 , l1.USE_ENC_UPG_ATTRIB_FLAG source_102
74536 , l1.ACCT_REVERSAL_FIRST_DIST_ID source_103
74537 , l1.AP_SECOND_DIST_ID source_104
74538 , l1.ACCT_REV_DISTRIBUTION_TYPE source_105
74539 , l1.ENC_UPG_CR_ENC_TYPE_ID source_106
74540 , l1.ENC_UPG_DR_ENC_TYPE_ID source_107
74541 , l1.BURDEN_COST_FLAG source_108
74542 , fvl108.meaning source_108_meaning
74543 , l1.PA_APPLICATION_ID source_109
74544 , l1.PA_DISTRIBUTION_TYPE source_110
74545 , l1.PA_ENTITY_CODE source_111
74546 , l1.PA_FIRST_DIST_ID source_112
74547 , l1.PA_FIRST_SYS_TRANS_ID source_113
74548 , l1.PA_SECOND_DIST_ID source_114
74549 , l1.PO_RELEASE_ID source_115
74550 , l1.PO_APPLICATION_ID source_116
74551 , l1.PO_DISTRIBUTION_TYPE source_117
74552 , l1.PO_ENTITY_CODE source_118
74553 , l1.PO_FIRST_DIST_ID source_119
74554 , l1.PO_FIRST_SYS_TRANS_ID source_120
74555 , l1.PO_SECOND_DIST_ID source_121
74556 FROM xla_events_gt xet
74557 , PA_XLA_BC_PKT_AP_DETAIL_V l1
74558 , PA_XLA_EXP_ORG_REF_V l2
74559 , PA_XLA_PROJECT_REF_V l3
74560 , PA_XLA_TASK_REF_V l4
74561 , fnd_lookup_values fvl108
74562 WHERE xet.event_id between x_first_event_id and x_last_event_id
74563 and xet.event_date between p_pad_start_date and p_pad_end_date
74564 and xet.event_class_code = C_EVENT_CLASS_CODE
74568 AND fvl108.view_application_id(+) = 275
74565 and xet.event_status_code <> 'N' AND l1.event_id = xet.event_id
74566 AND l2.expenditure_organization_id=l1.aid_expenditure_org_id AND l3.project_id=l1.aid_project_id AND l4.task_id=l1.aid_task_id AND fvl108.lookup_type(+) = 'BC_PKT_BURDEN_COST_FLAG'
74567 AND fvl108.lookup_code(+) = l1.BURDEN_COST_FLAG
74569 AND fvl108.language(+) = USERENV('LANG')
74570 ;
74571
74572 --
74573 BEGIN
74574 IF g_log_enabled THEN
74575 l_log_module := C_DEFAULT_MODULE||'.EventClass_106';
74576 END IF;
74577 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
74578 trace
74579 (p_msg => 'BEGIN of EventClass_106'
74580 ,p_level => C_LEVEL_PROCEDURE
74581 ,p_module => l_log_module);
74582 END IF;
74583
74584 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
74585 trace
74586 (p_msg => 'p_application_id = '||p_application_id||
74587 ' - p_base_ledger_id = '||p_base_ledger_id||
74588 ' - p_target_ledger_id = '||p_target_ledger_id||
74589 ' - p_language = '||p_language||
74590 ' - p_currency_code = '||p_currency_code||
74591 ' - p_sla_ledger_id = '||p_sla_ledger_id
74592 ,p_level => C_LEVEL_STATEMENT
74593 ,p_module => l_log_module);
74594 END IF;
74595 --
74596 -- initialze arrays
74597 --
74598 g_array_event.DELETE;
74599 l_rec_array_event := l_null_rec_array_event;
74600 --
74601 --------------------------------------
74602 -- 4262811 Initialze MPA Line Number
74603 --------------------------------------
74604 XLA_AE_HEADER_PKG.g_mpa_line_num := 0;
74605
74606 --
74607
74608 --
74609 OPEN header_cur;
74610 --
74611 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
74612 trace
74613 (p_msg => 'SQL - FETCH header_cur'
74614 ,p_level => C_LEVEL_STATEMENT
74615 ,p_module => l_log_module);
74616 END IF;
74617 --
74618 LOOP
74619 FETCH header_cur BULK COLLECT INTO
74620 l_array_entity_id
74621 , l_array_legal_entity_id
74622 , l_array_entity_code
74623 , l_array_transaction_num
74624 , l_array_event_id
74625 , l_array_class_code
74626 , l_array_event_type
74627 , l_array_event_number
74628 , l_array_event_date
74629 , l_array_transaction_date
74630 , l_array_reference_num_1
74631 , l_array_reference_num_2
74632 , l_array_reference_num_3
74633 , l_array_reference_num_4
74634 , l_array_reference_char_1
74635 , l_array_reference_char_2
74636 , l_array_reference_char_3
74637 , l_array_reference_char_4
74638 , l_array_reference_date_1
74639 , l_array_reference_date_2
74640 , l_array_reference_date_3
74641 , l_array_reference_date_4
74642 , l_array_event_created_by
74643 , l_array_budgetary_control_flag
74644 LIMIT l_rows;
74645 --
74646 IF (C_LEVEL_EVENT >= g_log_level) THEN
74647 trace
74648 (p_msg => '# rows extracted from header extract objects = '||TO_CHAR(header_cur%ROWCOUNT)
74649 ,p_level => C_LEVEL_EVENT
74650 ,p_module => l_log_module);
74651 END IF;
74652 --
74653 EXIT WHEN l_array_entity_id.COUNT = 0;
74654
74655 -- initialize arrays
74656 XLA_AE_HEADER_PKG.g_rec_header_new := NULL;
74657 XLA_AE_LINES_PKG.g_rec_lines := NULL;
74658
74659 --
74660 -- Bug 4458708
74661 --
74662 XLA_AE_LINES_PKG.g_LineNumber := 0;
74663
74664
74665 -- 4262811 - when creating Accrual Reversal or MPA, use g_last_hdr_idx to increment for next header id
74666 g_last_hdr_idx := l_array_event_id.LAST;
74667 --
74668 -- loop for the headers. Each iteration is for each header extract row
74669 -- fetched in header cursor
74670 --
74671 FOR hdr_idx IN l_array_event_id.FIRST .. l_array_event_id.LAST LOOP
74672
74673 --
74674 -- set event info as cache for other routines to refer event attributes
74675 --
74676 XLA_AE_JOURNAL_ENTRY_PKG.set_event_info
74677 (p_application_id => p_application_id
74678 ,p_primary_ledger_id => p_primary_ledger_id
74679 ,p_base_ledger_id => p_base_ledger_id
74680 ,p_target_ledger_id => p_target_ledger_id
74681 ,p_entity_id => l_array_entity_id(hdr_idx)
74682 ,p_legal_entity_id => l_array_legal_entity_id(hdr_idx)
74683 ,p_entity_code => l_array_entity_code(hdr_idx)
74684 ,p_transaction_num => l_array_transaction_num(hdr_idx)
74685 ,p_event_id => l_array_event_id(hdr_idx)
74686 ,p_event_class_code => l_array_class_code(hdr_idx)
74687 ,p_event_type_code => l_array_event_type(hdr_idx)
74688 ,p_event_number => l_array_event_number(hdr_idx)
74689 ,p_event_date => l_array_event_date(hdr_idx)
74690 ,p_transaction_date => l_array_transaction_date(hdr_idx)
74691 ,p_reference_num_1 => l_array_reference_num_1(hdr_idx)
74692 ,p_reference_num_2 => l_array_reference_num_2(hdr_idx)
74693 ,p_reference_num_3 => l_array_reference_num_3(hdr_idx)
74694 ,p_reference_num_4 => l_array_reference_num_4(hdr_idx)
74695 ,p_reference_char_1 => l_array_reference_char_1(hdr_idx)
74696 ,p_reference_char_2 => l_array_reference_char_2(hdr_idx)
74700 ,p_reference_date_2 => l_array_reference_date_2(hdr_idx)
74697 ,p_reference_char_3 => l_array_reference_char_3(hdr_idx)
74698 ,p_reference_char_4 => l_array_reference_char_4(hdr_idx)
74699 ,p_reference_date_1 => l_array_reference_date_1(hdr_idx)
74701 ,p_reference_date_3 => l_array_reference_date_3(hdr_idx)
74702 ,p_reference_date_4 => l_array_reference_date_4(hdr_idx)
74703 ,p_event_created_by => l_array_event_created_by(hdr_idx)
74704 ,p_budgetary_control_flag => l_array_budgetary_control_flag(hdr_idx));
74705
74706 --
74707 -- set the status of entry to C_VALID (0)
74708 --
74709 XLA_AE_JOURNAL_ENTRY_PKG.g_global_status := XLA_AE_JOURNAL_ENTRY_PKG.C_VALID;
74710
74711 --
74712 -- initialize a row for ae header
74713 --
74714 XLA_AE_HEADER_PKG.InitHeader(hdr_idx);
74715
74716 l_event_id := l_array_event_id(hdr_idx);
74717
74718 --
74719 -- storing the hdr_idx for event. May be used by line cursor.
74720 --
74721 g_array_event(l_event_id).array_value_num('header_index') := hdr_idx;
74722
74723 --
74724 -- store sources from header extract. This can be improved to
74725 -- store only those sources from header extract that may be used in lines
74726 --
74727
74728
74729 --
74730 -- initilaize the status of ae headers for diffrent balance types
74731 -- the status is initialised to C_NOT_CREATED (2)
74732 --
74733 --g_array_event(l_event_id).array_value_num('actual_je_status') := XLA_AE_JOURNAL_ENTRY_PKG.C_NOT_CREATED;
74734 --g_array_event(l_event_id).array_value_num('budget_je_status') := XLA_AE_JOURNAL_ENTRY_PKG.C_NOT_CREATED;
74735 --g_array_event(l_event_id).array_value_num('encumbrance_je_status') := XLA_AE_JOURNAL_ENTRY_PKG.C_NOT_CREATED;
74736
74737 --
74738 -- call api to validate and store accounting attributes for header
74739 --
74740
74741 ------------------------------------------------------------
74742 -- Accrual Reversal : to get date for Standard Source (NONE)
74743 ------------------------------------------------------------
74744 l_acc_rev_gl_date_source := NULL;
74745
74746 l_rec_acct_attrs.array_acct_attr_code(1) := 'GL_DATE';
74747 l_rec_acct_attrs.array_date_value(1) :=
74748 xla_ae_sources_pkg.GetSystemSourceDate(
74749 p_source_code => 'XLA_EVENT_DATE'
74750 , p_source_type_code => 'Y'
74751 , p_source_application_id => 602
74752 );
74753
74754
74755 XLA_AE_HEADER_PKG.SetHdrAcctAttrs(l_rec_acct_attrs);
74756
74757 XLA_AE_HEADER_PKG.SetJeCategoryName;
74758
74759 XLA_AE_HEADER_PKG.g_rec_header_new.array_event_type_code(hdr_idx) := l_array_event_type(hdr_idx);
74760 XLA_AE_HEADER_PKG.g_rec_header_new.array_event_id(hdr_idx) := l_array_event_id(hdr_idx);
74761 XLA_AE_HEADER_PKG.g_rec_header_new.array_entity_id(hdr_idx) := l_array_entity_id(hdr_idx);
74762 XLA_AE_HEADER_PKG.g_rec_header_new.array_event_number(hdr_idx) := l_array_event_number(hdr_idx);
74763 XLA_AE_HEADER_PKG.g_rec_header_new.array_target_ledger_id(hdr_idx) := p_target_ledger_id;
74764
74765
74766 -- No header level analytical criteria
74767
74768 --
74769 --accounting attribute enhancement, bug 3612931
74770 --
74771 l_trx_reversal_source := SUBSTR(NULL, 1,30);
74772
74773 IF NVL(l_trx_reversal_source, 'N') NOT IN ('N','Y') THEN
74774 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
74775
74776 xla_accounting_err_pkg.build_message
74777 (p_appli_s_name => 'XLA'
74778 ,p_msg_name => 'XLA_AP_INVALID_HDR_ATTR'
74779 ,p_token_1 => 'ACCT_ATTR_NAME'
74780 ,p_value_1 => xla_ae_sources_pkg.GetAccountingSourceName('TRX_ACCT_REVERSAL_OPTION')
74781 ,p_token_2 => 'PRODUCT_NAME'
74782 ,p_value_2 => xla_ae_journal_entry_pkg.g_cache_event.application_name
74783 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
74784 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
74785 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id);
74786
74787 ELSIF NVL(l_trx_reversal_source, 'N') = 'Y' THEN
74788 --
74789 -- following sets the accounting attributes needed to reverse
74790 -- accounting for a distributeion
74791 --
74792 xla_ae_lines_pkg.SetTrxReversalAttrs
74793 (p_event_id => l_event_id
74794 ,p_gl_date => XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(hdr_idx)
74795 ,p_trx_reversal_source => l_trx_reversal_source);
74796
74797 END IF;
74798
74799
74800 ----------------------------------------------------------------
74801 -- 4262811 - update the header statuses to invalid in need be
74802 ----------------------------------------------------------------
74803 --
74804 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus (p_hdr_idx => hdr_idx);
74805
74806
74807 -----------------------------------------------
74808 -- No accrual reversal for the event class/type
74809 -----------------------------------------------
74810 ----------------------------------------------------------------
74811
74812 --
74813 -- this ends the header loop iteration for one bulk fetch
74814 --
74815 END LOOP;
74816
74817 l_first_event_id := l_array_event_id(l_array_event_id.FIRST);
74818 l_last_event_id := l_array_event_id(l_array_event_id.LAST);
74819
74820 --
74824 IF XLA_AE_LINES_PKG.g_rec_lines.array_ae_header_id.COUNT > 0 THEN
74821 -- insert dummy rows into lines gt table that were created due to
74822 -- transaction reversals
74823 --
74825 l_result := XLA_AE_LINES_PKG.InsertLines;
74826 END IF;
74827
74828 --
74829 -- reset the temp_line_num for each set of events fetched from header
74830 -- cursor rather than doing it for each new event in line cursor
74831 -- Bug 3939231
74832 --
74833 xla_ae_lines_pkg.g_temp_line_num := 0;
74834
74835
74836
74837 --
74838 OPEN line_cur(x_first_event_id => l_first_event_id, x_last_event_id => l_last_event_id);
74839 --
74840 --
74841 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
74842
74843 trace
74844 (p_msg => 'SQL - FETCH line_cur'
74845 ,p_level => C_LEVEL_STATEMENT
74846 ,p_module => l_log_module);
74847
74848 END IF;
74849 --
74850 --
74851 LOOP
74852 --
74853 FETCH line_cur BULK COLLECT INTO
74854 l_array_entity_id
74855 , l_array_legal_entity_id
74856 , l_array_entity_code
74857 , l_array_transaction_num
74858 , l_array_event_id
74859 , l_array_class_code
74860 , l_array_event_type
74861 , l_array_event_number
74862 , l_array_event_date
74863 , l_array_transaction_date
74864 , l_array_reference_num_1
74865 , l_array_reference_num_2
74866 , l_array_reference_num_3
74867 , l_array_reference_num_4
74868 , l_array_reference_char_1
74869 , l_array_reference_char_2
74870 , l_array_reference_char_3
74871 , l_array_reference_char_4
74872 , l_array_reference_date_1
74873 , l_array_reference_date_2
74874 , l_array_reference_date_3
74875 , l_array_reference_date_4
74876 , l_array_event_created_by
74877 , l_array_budgetary_control_flag
74878 , l_array_extract_line_num
74879 , l_array_source_2
74880 , l_array_source_3
74881 , l_array_source_4
74882 , l_array_source_5
74883 , l_array_source_14
74884 , l_array_source_21
74885 , l_array_source_30
74886 , l_array_source_33
74887 , l_array_source_39
74888 , l_array_source_40
74889 , l_array_source_41
74890 , l_array_source_57
74891 , l_array_source_83
74892 , l_array_source_84
74893 , l_array_source_85
74894 , l_array_source_86
74895 , l_array_source_87
74896 , l_array_source_88
74897 , l_array_source_89
74898 , l_array_source_90
74899 , l_array_source_91
74900 , l_array_source_92
74901 , l_array_source_93
74902 , l_array_source_94
74903 , l_array_source_95
74904 , l_array_source_96
74905 , l_array_source_97
74906 , l_array_source_98
74907 , l_array_source_99
74908 , l_array_source_100
74909 , l_array_source_101
74910 , l_array_source_102
74911 , l_array_source_103
74912 , l_array_source_104
74913 , l_array_source_105
74914 , l_array_source_106
74915 , l_array_source_107
74916 , l_array_source_108
74917 , l_array_source_108_meaning
74918 , l_array_source_109
74919 , l_array_source_110
74920 , l_array_source_111
74921 , l_array_source_112
74922 , l_array_source_113
74923 , l_array_source_114
74924 , l_array_source_115
74925 , l_array_source_116
74926 , l_array_source_117
74927 , l_array_source_118
74928 , l_array_source_119
74929 , l_array_source_120
74930 , l_array_source_121
74931 LIMIT l_rows;
74932
74933 --
74934 IF (C_LEVEL_EVENT >= g_log_level) THEN
74935 trace
74936 (p_msg => '# rows extracted from line extract objects = '||TO_CHAR(line_cur%ROWCOUNT)
74937 ,p_level => C_LEVEL_EVENT
74938 ,p_module => l_log_module);
74939 END IF;
74940 --
74941 EXIT WHEN l_array_entity_id.count = 0;
74942
74943 XLA_AE_LINES_PKG.g_rec_lines := null;
74944
74945 --
74946 -- Bug 4458708
74947 --
74948 XLA_AE_LINES_PKG.g_LineNumber := 0;
74949 --
74950 --
74951
74952 FOR Idx IN 1..l_array_event_id.count LOOP
74953 --
74954 -- 5648433 (move l_event_id out of IF statement) set l_event_id to be used inside IF condition
74955 --
74956 l_event_id := l_array_event_id(idx); -- 5648433
74957
74958 --
74959 -- Bug 4872078 - Do nothing if the event is meant for transaction reversal
74960 --
74961
74962 IF NVL(xla_ae_header_pkg.g_rec_header_new.array_trx_acct_reversal_option
74963 (g_array_event(l_event_id).array_value_num('header_index'))
74964 ,'N'
74965 ) <> 'Y'
74966 THEN
74967 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
74968 trace
74969 (p_msg => 'Trancaction revesal option is not Y '
74970 ,p_level => C_LEVEL_STATEMENT
74971 ,p_module => l_log_module);
74972 END IF;
74973
74974 --
74975 -- set the XLA_AE_JOURNAL_ENTRY_PKG.g_global_status to C_VALID (0)
74976 --
74977 XLA_AE_JOURNAL_ENTRY_PKG.g_global_status := XLA_AE_JOURNAL_ENTRY_PKG.C_VALID;
74978 --
74979 -- set event info as cache for other routines to refer event attributes
74980 --
74981
74985 XLA_AE_JOURNAL_ENTRY_PKG.set_event_info
74982 IF l_event_id <> NVL(l_previous_event_id, -1) THEN
74983 l_previous_event_id := l_event_id;
74984
74986 (p_application_id => p_application_id
74987 ,p_primary_ledger_id => p_primary_ledger_id
74988 ,p_base_ledger_id => p_base_ledger_id
74989 ,p_target_ledger_id => p_target_ledger_id
74990 ,p_entity_id => l_array_entity_id(Idx)
74991 ,p_legal_entity_id => l_array_legal_entity_id(Idx)
74992 ,p_entity_code => l_array_entity_code(Idx)
74993 ,p_transaction_num => l_array_transaction_num(Idx)
74994 ,p_event_id => l_array_event_id(Idx)
74995 ,p_event_class_code => l_array_class_code(Idx)
74996 ,p_event_type_code => l_array_event_type(Idx)
74997 ,p_event_number => l_array_event_number(Idx)
74998 ,p_event_date => l_array_event_date(Idx)
74999 ,p_transaction_date => l_array_transaction_date(Idx)
75000 ,p_reference_num_1 => l_array_reference_num_1(Idx)
75001 ,p_reference_num_2 => l_array_reference_num_2(Idx)
75002 ,p_reference_num_3 => l_array_reference_num_3(Idx)
75003 ,p_reference_num_4 => l_array_reference_num_4(Idx)
75004 ,p_reference_char_1 => l_array_reference_char_1(Idx)
75005 ,p_reference_char_2 => l_array_reference_char_2(Idx)
75006 ,p_reference_char_3 => l_array_reference_char_3(Idx)
75007 ,p_reference_char_4 => l_array_reference_char_4(Idx)
75008 ,p_reference_date_1 => l_array_reference_date_1(Idx)
75009 ,p_reference_date_2 => l_array_reference_date_2(Idx)
75010 ,p_reference_date_3 => l_array_reference_date_3(Idx)
75011 ,p_reference_date_4 => l_array_reference_date_4(Idx)
75012 ,p_event_created_by => l_array_event_created_by(Idx)
75013 ,p_budgetary_control_flag => l_array_budgetary_control_flag(Idx));
75014 --
75015 END IF;
75016
75017
75018
75019 --
75020 xla_ae_lines_pkg.SetExtractLine(p_extract_line => l_array_extract_line_num(Idx));
75021
75022 l_acct_reversal_source := SUBSTR(l_array_source_85(Idx), 1,30);
75023
75024 IF l_continue_with_lines THEN
75025 IF NVL(l_acct_reversal_source, 'N') NOT IN ('N','Y','B') THEN
75026 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
75027
75028 xla_accounting_err_pkg.build_message
75029 (p_appli_s_name => 'XLA'
75030 ,p_msg_name => 'XLA_AP_INVALID_REVERSAL_OPTION'
75031 ,p_token_1 => 'LINE_NUMBER'
75032 ,p_value_1 => l_array_extract_line_num(Idx)
75033 ,p_token_2 => 'PRODUCT_NAME'
75034 ,p_value_2 => xla_ae_journal_entry_pkg.g_cache_event.application_name
75035 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
75036 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
75037 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id);
75038
75039 ELSIF NVL(l_acct_reversal_source, 'N') IN ('Y','B') THEN
75040 --
75041 -- following sets the accounting attributes needed to reverse
75042 -- accounting for a distributeion
75043 --
75044
75045 --
75046 -- 5217187
75047 --
75048 l_rec_rev_acct_attrs.array_acct_attr_code(1):= 'GL_DATE';
75049 l_rec_rev_acct_attrs.array_date_value(1) := XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(
75050 g_array_event(l_event_id).array_value_num('header_index'));
75051 --
75052 --
75053
75054 l_rec_rev_acct_attrs.array_acct_attr_code(2) := 'ACCOUNTING_REVERSAL_OPTION';
75055 l_rec_rev_acct_attrs.array_char_value(2) := l_array_source_85(Idx);
75056 l_rec_rev_acct_attrs.array_acct_attr_code(3) := 'DISTRIBUTION_IDENTIFIER_1';
75057 l_rec_rev_acct_attrs.array_num_value(3) := l_array_source_30(Idx);
75058 l_rec_rev_acct_attrs.array_acct_attr_code(4) := 'DISTRIBUTION_IDENTIFIER_2';
75059 l_rec_rev_acct_attrs.array_char_value(4) := l_array_source_96(Idx);
75060 l_rec_rev_acct_attrs.array_acct_attr_code(5) := 'DISTRIBUTION_TYPE';
75061 l_rec_rev_acct_attrs.array_char_value(5) := l_array_source_21(Idx);
75062 l_rec_rev_acct_attrs.array_acct_attr_code(6) := 'ENC_UPG_CR_ACCT_CLASS';
75063 l_rec_rev_acct_attrs.array_char_value(6) := l_array_source_97(Idx);
75064 l_rec_rev_acct_attrs.array_acct_attr_code(7) := 'ENC_UPG_CR_CCID';
75065 l_rec_rev_acct_attrs.array_num_value(7) := l_array_source_98(Idx);
75066 l_rec_rev_acct_attrs.array_acct_attr_code(8) := 'ENC_UPG_CR_ENTERED_AMT';
75067 l_rec_rev_acct_attrs.array_num_value(8) := l_array_source_57(Idx);
75068 l_rec_rev_acct_attrs.array_acct_attr_code(9) := 'ENC_UPG_CR_ENTERED_CURR';
75069 l_rec_rev_acct_attrs.array_char_value(9) := l_array_source_33(Idx);
75070 l_rec_rev_acct_attrs.array_acct_attr_code(10) := 'ENC_UPG_CR_LEDGER_AMT';
75071 l_rec_rev_acct_attrs.array_num_value(10) := l_array_source_99(Idx);
75072 l_rec_rev_acct_attrs.array_acct_attr_code(11) := 'ENC_UPG_DR_ACCT_CLASS';
75073 l_rec_rev_acct_attrs.array_char_value(11) := l_array_source_100(Idx);
75074 l_rec_rev_acct_attrs.array_acct_attr_code(12) := 'ENC_UPG_DR_CCID';
75075 l_rec_rev_acct_attrs.array_num_value(12) := l_array_source_101(Idx);
75079 l_rec_rev_acct_attrs.array_char_value(14) := l_array_source_33(Idx);
75076 l_rec_rev_acct_attrs.array_acct_attr_code(13) := 'ENC_UPG_DR_ENTERED_AMT';
75077 l_rec_rev_acct_attrs.array_num_value(13) := l_array_source_57(Idx);
75078 l_rec_rev_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_DR_ENTERED_CURR';
75080 l_rec_rev_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_DR_LEDGER_AMT';
75081 l_rec_rev_acct_attrs.array_num_value(15) := l_array_source_99(Idx);
75082 l_rec_rev_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_OPTION';
75083 l_rec_rev_acct_attrs.array_char_value(16) := l_array_source_102(Idx);
75084 l_rec_rev_acct_attrs.array_acct_attr_code(17) := 'REVERSED_DISTRIBUTION_ID1';
75085 l_rec_rev_acct_attrs.array_num_value(17) := l_array_source_103(Idx);
75086 l_rec_rev_acct_attrs.array_acct_attr_code(18) := 'REVERSED_DISTRIBUTION_ID2';
75087 l_rec_rev_acct_attrs.array_char_value(18) := l_array_source_104(Idx);
75088 l_rec_rev_acct_attrs.array_acct_attr_code(19) := 'REVERSED_DISTRIBUTION_TYPE';
75089 l_rec_rev_acct_attrs.array_char_value(19) := l_array_source_105(Idx);
75090 l_rec_rev_acct_attrs.array_acct_attr_code(20) := 'UPG_CR_ENC_TYPE_ID';
75091 l_rec_rev_acct_attrs.array_num_value(20) := l_array_source_106(Idx);
75092 l_rec_rev_acct_attrs.array_acct_attr_code(21) := 'UPG_DR_ENC_TYPE_ID';
75093 l_rec_rev_acct_attrs.array_num_value(21) := l_array_source_107(Idx);
75094
75095
75096 xla_ae_lines_pkg.SetAcctReversalAttrs
75097 (p_event_id => l_event_id
75098 ,p_rec_acct_attrs => l_rec_rev_acct_attrs
75099 ,p_calculate_acctd_flag => l_calculate_acctd_flag
75100 ,p_calculate_g_l_flag => l_calculate_g_l_flag);
75101 END IF;
75102
75103 IF NVL(l_acct_reversal_source, 'N') IN ('N','B') THEN
75104 l_actual_flag := NULL; l_actual_gain_loss_ref := '#####';
75105
75106 --
75107 AcctLineType_85 (
75108 p_application_id => p_application_id
75109 ,p_event_id => l_event_id
75110 ,p_calculate_acctd_flag => l_calculate_acctd_flag
75111 ,p_calculate_g_l_flag => l_calculate_g_l_flag
75112 ,p_actual_flag => l_actual_flag
75113 ,p_balance_type_code => l_balance_type_code
75114 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
75115
75116 , p_source_2 => l_array_source_2(Idx)
75117 , p_source_3 => l_array_source_3(Idx)
75118 , p_source_4 => l_array_source_4(Idx)
75119 , p_source_5 => l_array_source_5(Idx)
75120 , p_source_14 => l_array_source_14(Idx)
75121 , p_source_21 => l_array_source_21(Idx)
75122 , p_source_30 => l_array_source_30(Idx)
75123 , p_source_33 => l_array_source_33(Idx)
75124 , p_source_39 => l_array_source_39(Idx)
75125 , p_source_40 => l_array_source_40(Idx)
75126 , p_source_41 => l_array_source_41(Idx)
75127 , p_source_57 => l_array_source_57(Idx)
75128 , p_source_83 => l_array_source_83(Idx)
75129 , p_source_84 => l_array_source_84(Idx)
75130 , p_source_85 => l_array_source_85(Idx)
75131 , p_source_86 => l_array_source_86(Idx)
75132 , p_source_87 => l_array_source_87(Idx)
75133 , p_source_88 => l_array_source_88(Idx)
75134 , p_source_89 => l_array_source_89(Idx)
75135 , p_source_90 => l_array_source_90(Idx)
75136 , p_source_91 => l_array_source_91(Idx)
75137 , p_source_92 => l_array_source_92(Idx)
75138 , p_source_93 => l_array_source_93(Idx)
75139 , p_source_94 => l_array_source_94(Idx)
75140 , p_source_95 => l_array_source_95(Idx)
75141 , p_source_96 => l_array_source_96(Idx)
75142 , p_source_97 => l_array_source_97(Idx)
75143 , p_source_98 => l_array_source_98(Idx)
75144 , p_source_99 => l_array_source_99(Idx)
75145 , p_source_100 => l_array_source_100(Idx)
75146 , p_source_101 => l_array_source_101(Idx)
75147 , p_source_102 => l_array_source_102(Idx)
75148 , p_source_103 => l_array_source_103(Idx)
75149 , p_source_104 => l_array_source_104(Idx)
75150 , p_source_105 => l_array_source_105(Idx)
75151 , p_source_106 => l_array_source_106(Idx)
75152 , p_source_107 => l_array_source_107(Idx)
75153 );
75154 If(l_balance_type_code = 'A') THEN
75155 l_actual_gain_loss_ref := l_gain_or_loss_ref;
75156 END IF;
75157
75158 --
75159
75160
75161 --
75162 AcctLineType_86 (
75163 p_application_id => p_application_id
75164 ,p_event_id => l_event_id
75165 ,p_calculate_acctd_flag => l_calculate_acctd_flag
75166 ,p_calculate_g_l_flag => l_calculate_g_l_flag
75167 ,p_actual_flag => l_actual_flag
75168 ,p_balance_type_code => l_balance_type_code
75169 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
75170
75171 , p_source_2 => l_array_source_2(Idx)
75172 , p_source_3 => l_array_source_3(Idx)
75173 , p_source_4 => l_array_source_4(Idx)
75174 , p_source_5 => l_array_source_5(Idx)
75175 , p_source_14 => l_array_source_14(Idx)
75176 , p_source_21 => l_array_source_21(Idx)
75177 , p_source_30 => l_array_source_30(Idx)
75178 , p_source_33 => l_array_source_33(Idx)
75179 , p_source_39 => l_array_source_39(Idx)
75180 , p_source_40 => l_array_source_40(Idx)
75181 , p_source_41 => l_array_source_41(Idx)
75182 , p_source_57 => l_array_source_57(Idx)
75183 , p_source_83 => l_array_source_83(Idx)
75184 , p_source_84 => l_array_source_84(Idx)
75185 , p_source_85 => l_array_source_85(Idx)
75186 , p_source_86 => l_array_source_86(Idx)
75187 , p_source_87 => l_array_source_87(Idx)
75188 , p_source_88 => l_array_source_88(Idx)
75189 , p_source_89 => l_array_source_89(Idx)
75190 , p_source_90 => l_array_source_90(Idx)
75191 , p_source_91 => l_array_source_91(Idx)
75192 , p_source_92 => l_array_source_92(Idx)
75193 , p_source_93 => l_array_source_93(Idx)
75197 , p_source_97 => l_array_source_97(Idx)
75194 , p_source_94 => l_array_source_94(Idx)
75195 , p_source_95 => l_array_source_95(Idx)
75196 , p_source_96 => l_array_source_96(Idx)
75198 , p_source_98 => l_array_source_98(Idx)
75199 , p_source_99 => l_array_source_99(Idx)
75200 , p_source_100 => l_array_source_100(Idx)
75201 , p_source_101 => l_array_source_101(Idx)
75202 , p_source_102 => l_array_source_102(Idx)
75203 , p_source_103 => l_array_source_103(Idx)
75204 , p_source_104 => l_array_source_104(Idx)
75205 , p_source_105 => l_array_source_105(Idx)
75206 , p_source_106 => l_array_source_106(Idx)
75207 , p_source_107 => l_array_source_107(Idx)
75208 , p_source_108 => l_array_source_108(Idx)
75209 , p_source_108_meaning => l_array_source_108_meaning(Idx)
75210 );
75211 If(l_balance_type_code = 'A') THEN
75212 l_actual_gain_loss_ref := l_gain_or_loss_ref;
75213 END IF;
75214
75215 --
75216
75217
75218 --
75219 AcctLineType_93 (
75220 p_application_id => p_application_id
75221 ,p_event_id => l_event_id
75222 ,p_calculate_acctd_flag => l_calculate_acctd_flag
75223 ,p_calculate_g_l_flag => l_calculate_g_l_flag
75224 ,p_actual_flag => l_actual_flag
75225 ,p_balance_type_code => l_balance_type_code
75226 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
75227
75228 , p_source_2 => l_array_source_2(Idx)
75229 , p_source_3 => l_array_source_3(Idx)
75230 , p_source_4 => l_array_source_4(Idx)
75231 , p_source_5 => l_array_source_5(Idx)
75232 , p_source_21 => l_array_source_21(Idx)
75233 , p_source_30 => l_array_source_30(Idx)
75234 , p_source_33 => l_array_source_33(Idx)
75235 , p_source_57 => l_array_source_57(Idx)
75236 , p_source_83 => l_array_source_83(Idx)
75237 , p_source_85 => l_array_source_85(Idx)
75238 , p_source_86 => l_array_source_86(Idx)
75239 , p_source_87 => l_array_source_87(Idx)
75240 , p_source_88 => l_array_source_88(Idx)
75241 , p_source_89 => l_array_source_89(Idx)
75242 , p_source_90 => l_array_source_90(Idx)
75243 , p_source_96 => l_array_source_96(Idx)
75244 , p_source_97 => l_array_source_97(Idx)
75245 , p_source_98 => l_array_source_98(Idx)
75246 , p_source_99 => l_array_source_99(Idx)
75247 , p_source_100 => l_array_source_100(Idx)
75248 , p_source_101 => l_array_source_101(Idx)
75249 , p_source_102 => l_array_source_102(Idx)
75250 , p_source_103 => l_array_source_103(Idx)
75251 , p_source_104 => l_array_source_104(Idx)
75252 , p_source_105 => l_array_source_105(Idx)
75253 , p_source_106 => l_array_source_106(Idx)
75254 , p_source_107 => l_array_source_107(Idx)
75255 , p_source_109 => l_array_source_109(Idx)
75256 , p_source_110 => l_array_source_110(Idx)
75257 , p_source_111 => l_array_source_111(Idx)
75258 , p_source_112 => l_array_source_112(Idx)
75259 , p_source_113 => l_array_source_113(Idx)
75260 , p_source_114 => l_array_source_114(Idx)
75261 );
75262 If(l_balance_type_code = 'A') THEN
75263 l_actual_gain_loss_ref := l_gain_or_loss_ref;
75264 END IF;
75265
75266 --
75267
75268
75269 --
75270 AcctLineType_96 (
75271 p_application_id => p_application_id
75272 ,p_event_id => l_event_id
75273 ,p_calculate_acctd_flag => l_calculate_acctd_flag
75274 ,p_calculate_g_l_flag => l_calculate_g_l_flag
75275 ,p_actual_flag => l_actual_flag
75276 ,p_balance_type_code => l_balance_type_code
75277 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
75278
75279 , p_source_2 => l_array_source_2(Idx)
75280 , p_source_3 => l_array_source_3(Idx)
75281 , p_source_4 => l_array_source_4(Idx)
75282 , p_source_5 => l_array_source_5(Idx)
75283 , p_source_21 => l_array_source_21(Idx)
75284 , p_source_30 => l_array_source_30(Idx)
75285 , p_source_33 => l_array_source_33(Idx)
75286 , p_source_57 => l_array_source_57(Idx)
75287 , p_source_83 => l_array_source_83(Idx)
75288 , p_source_85 => l_array_source_85(Idx)
75289 , p_source_86 => l_array_source_86(Idx)
75290 , p_source_87 => l_array_source_87(Idx)
75291 , p_source_88 => l_array_source_88(Idx)
75292 , p_source_89 => l_array_source_89(Idx)
75293 , p_source_90 => l_array_source_90(Idx)
75294 , p_source_96 => l_array_source_96(Idx)
75295 , p_source_97 => l_array_source_97(Idx)
75296 , p_source_98 => l_array_source_98(Idx)
75297 , p_source_99 => l_array_source_99(Idx)
75298 , p_source_100 => l_array_source_100(Idx)
75299 , p_source_101 => l_array_source_101(Idx)
75300 , p_source_102 => l_array_source_102(Idx)
75301 , p_source_103 => l_array_source_103(Idx)
75302 , p_source_104 => l_array_source_104(Idx)
75303 , p_source_105 => l_array_source_105(Idx)
75304 , p_source_106 => l_array_source_106(Idx)
75305 , p_source_107 => l_array_source_107(Idx)
75306 , p_source_109 => l_array_source_109(Idx)
75307 , p_source_110 => l_array_source_110(Idx)
75308 , p_source_111 => l_array_source_111(Idx)
75309 , p_source_112 => l_array_source_112(Idx)
75310 , p_source_113 => l_array_source_113(Idx)
75311 , p_source_114 => l_array_source_114(Idx)
75312 );
75313 If(l_balance_type_code = 'A') THEN
75314 l_actual_gain_loss_ref := l_gain_or_loss_ref;
75315 END IF;
75316
75317 --
75318
75319
75320 --
75321 AcctLineType_99 (
75322 p_application_id => p_application_id
75323 ,p_event_id => l_event_id
75324 ,p_calculate_acctd_flag => l_calculate_acctd_flag
75328 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
75325 ,p_calculate_g_l_flag => l_calculate_g_l_flag
75326 ,p_actual_flag => l_actual_flag
75327 ,p_balance_type_code => l_balance_type_code
75329
75330 , p_source_2 => l_array_source_2(Idx)
75331 , p_source_3 => l_array_source_3(Idx)
75332 , p_source_4 => l_array_source_4(Idx)
75333 , p_source_5 => l_array_source_5(Idx)
75334 , p_source_21 => l_array_source_21(Idx)
75335 , p_source_30 => l_array_source_30(Idx)
75336 , p_source_33 => l_array_source_33(Idx)
75337 , p_source_57 => l_array_source_57(Idx)
75338 , p_source_83 => l_array_source_83(Idx)
75339 , p_source_84 => l_array_source_84(Idx)
75340 , p_source_85 => l_array_source_85(Idx)
75341 , p_source_86 => l_array_source_86(Idx)
75342 , p_source_87 => l_array_source_87(Idx)
75343 , p_source_88 => l_array_source_88(Idx)
75344 , p_source_89 => l_array_source_89(Idx)
75345 , p_source_90 => l_array_source_90(Idx)
75346 , p_source_96 => l_array_source_96(Idx)
75347 , p_source_97 => l_array_source_97(Idx)
75348 , p_source_98 => l_array_source_98(Idx)
75349 , p_source_99 => l_array_source_99(Idx)
75350 , p_source_100 => l_array_source_100(Idx)
75351 , p_source_101 => l_array_source_101(Idx)
75352 , p_source_102 => l_array_source_102(Idx)
75353 , p_source_103 => l_array_source_103(Idx)
75354 , p_source_104 => l_array_source_104(Idx)
75355 , p_source_105 => l_array_source_105(Idx)
75356 , p_source_106 => l_array_source_106(Idx)
75357 , p_source_107 => l_array_source_107(Idx)
75358 , p_source_115 => l_array_source_115(Idx)
75359 , p_source_116 => l_array_source_116(Idx)
75360 , p_source_117 => l_array_source_117(Idx)
75361 , p_source_118 => l_array_source_118(Idx)
75362 , p_source_119 => l_array_source_119(Idx)
75363 , p_source_120 => l_array_source_120(Idx)
75364 , p_source_121 => l_array_source_121(Idx)
75365 );
75366 If(l_balance_type_code = 'A') THEN
75367 l_actual_gain_loss_ref := l_gain_or_loss_ref;
75368 END IF;
75369
75370 --
75371
75372
75373 --
75374 AcctLineType_100 (
75375 p_application_id => p_application_id
75376 ,p_event_id => l_event_id
75377 ,p_calculate_acctd_flag => l_calculate_acctd_flag
75378 ,p_calculate_g_l_flag => l_calculate_g_l_flag
75379 ,p_actual_flag => l_actual_flag
75380 ,p_balance_type_code => l_balance_type_code
75381 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
75382
75383 , p_source_2 => l_array_source_2(Idx)
75384 , p_source_3 => l_array_source_3(Idx)
75385 , p_source_4 => l_array_source_4(Idx)
75386 , p_source_5 => l_array_source_5(Idx)
75387 , p_source_21 => l_array_source_21(Idx)
75388 , p_source_30 => l_array_source_30(Idx)
75389 , p_source_33 => l_array_source_33(Idx)
75390 , p_source_57 => l_array_source_57(Idx)
75391 , p_source_83 => l_array_source_83(Idx)
75392 , p_source_84 => l_array_source_84(Idx)
75393 , p_source_85 => l_array_source_85(Idx)
75394 , p_source_86 => l_array_source_86(Idx)
75395 , p_source_87 => l_array_source_87(Idx)
75396 , p_source_88 => l_array_source_88(Idx)
75397 , p_source_89 => l_array_source_89(Idx)
75398 , p_source_90 => l_array_source_90(Idx)
75399 , p_source_96 => l_array_source_96(Idx)
75400 , p_source_97 => l_array_source_97(Idx)
75401 , p_source_98 => l_array_source_98(Idx)
75402 , p_source_99 => l_array_source_99(Idx)
75403 , p_source_100 => l_array_source_100(Idx)
75404 , p_source_101 => l_array_source_101(Idx)
75405 , p_source_102 => l_array_source_102(Idx)
75406 , p_source_103 => l_array_source_103(Idx)
75407 , p_source_104 => l_array_source_104(Idx)
75408 , p_source_105 => l_array_source_105(Idx)
75409 , p_source_106 => l_array_source_106(Idx)
75410 , p_source_107 => l_array_source_107(Idx)
75411 , p_source_108 => l_array_source_108(Idx)
75412 , p_source_108_meaning => l_array_source_108_meaning(Idx)
75413 , p_source_115 => l_array_source_115(Idx)
75414 , p_source_116 => l_array_source_116(Idx)
75415 , p_source_117 => l_array_source_117(Idx)
75416 , p_source_118 => l_array_source_118(Idx)
75417 , p_source_119 => l_array_source_119(Idx)
75418 , p_source_120 => l_array_source_120(Idx)
75419 , p_source_121 => l_array_source_121(Idx)
75420 );
75421 If(l_balance_type_code = 'A') THEN
75422 l_actual_gain_loss_ref := l_gain_or_loss_ref;
75423 END IF;
75424
75425 --
75426
75427
75428 --
75429 AcctLineType_101 (
75430 p_application_id => p_application_id
75431 ,p_event_id => l_event_id
75432 ,p_calculate_acctd_flag => l_calculate_acctd_flag
75433 ,p_calculate_g_l_flag => l_calculate_g_l_flag
75434 ,p_actual_flag => l_actual_flag
75435 ,p_balance_type_code => l_balance_type_code
75436 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
75437
75438 , p_source_2 => l_array_source_2(Idx)
75439 , p_source_3 => l_array_source_3(Idx)
75440 , p_source_4 => l_array_source_4(Idx)
75441 , p_source_5 => l_array_source_5(Idx)
75442 , p_source_21 => l_array_source_21(Idx)
75443 , p_source_30 => l_array_source_30(Idx)
75444 , p_source_33 => l_array_source_33(Idx)
75445 , p_source_57 => l_array_source_57(Idx)
75446 , p_source_83 => l_array_source_83(Idx)
75447 , p_source_84 => l_array_source_84(Idx)
75448 , p_source_85 => l_array_source_85(Idx)
75449 , p_source_86 => l_array_source_86(Idx)
75450 , p_source_87 => l_array_source_87(Idx)
75451 , p_source_88 => l_array_source_88(Idx)
75452 , p_source_89 => l_array_source_89(Idx)
75453 , p_source_90 => l_array_source_90(Idx)
75454 , p_source_96 => l_array_source_96(Idx)
75458 , p_source_100 => l_array_source_100(Idx)
75455 , p_source_97 => l_array_source_97(Idx)
75456 , p_source_98 => l_array_source_98(Idx)
75457 , p_source_99 => l_array_source_99(Idx)
75459 , p_source_101 => l_array_source_101(Idx)
75460 , p_source_102 => l_array_source_102(Idx)
75461 , p_source_103 => l_array_source_103(Idx)
75462 , p_source_104 => l_array_source_104(Idx)
75463 , p_source_105 => l_array_source_105(Idx)
75464 , p_source_106 => l_array_source_106(Idx)
75465 , p_source_107 => l_array_source_107(Idx)
75466 , p_source_115 => l_array_source_115(Idx)
75467 , p_source_116 => l_array_source_116(Idx)
75468 , p_source_117 => l_array_source_117(Idx)
75469 , p_source_118 => l_array_source_118(Idx)
75470 , p_source_119 => l_array_source_119(Idx)
75471 , p_source_120 => l_array_source_120(Idx)
75472 , p_source_121 => l_array_source_121(Idx)
75473 );
75474 If(l_balance_type_code = 'A') THEN
75475 l_actual_gain_loss_ref := l_gain_or_loss_ref;
75476 END IF;
75477
75478 --
75479
75480
75481 --
75482 AcctLineType_102 (
75483 p_application_id => p_application_id
75484 ,p_event_id => l_event_id
75485 ,p_calculate_acctd_flag => l_calculate_acctd_flag
75486 ,p_calculate_g_l_flag => l_calculate_g_l_flag
75487 ,p_actual_flag => l_actual_flag
75488 ,p_balance_type_code => l_balance_type_code
75489 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
75490
75491 , p_source_2 => l_array_source_2(Idx)
75492 , p_source_3 => l_array_source_3(Idx)
75493 , p_source_4 => l_array_source_4(Idx)
75494 , p_source_5 => l_array_source_5(Idx)
75495 , p_source_21 => l_array_source_21(Idx)
75496 , p_source_30 => l_array_source_30(Idx)
75497 , p_source_33 => l_array_source_33(Idx)
75498 , p_source_57 => l_array_source_57(Idx)
75499 , p_source_83 => l_array_source_83(Idx)
75500 , p_source_84 => l_array_source_84(Idx)
75501 , p_source_85 => l_array_source_85(Idx)
75502 , p_source_86 => l_array_source_86(Idx)
75503 , p_source_87 => l_array_source_87(Idx)
75504 , p_source_88 => l_array_source_88(Idx)
75505 , p_source_89 => l_array_source_89(Idx)
75506 , p_source_90 => l_array_source_90(Idx)
75507 , p_source_96 => l_array_source_96(Idx)
75508 , p_source_97 => l_array_source_97(Idx)
75509 , p_source_98 => l_array_source_98(Idx)
75510 , p_source_99 => l_array_source_99(Idx)
75511 , p_source_100 => l_array_source_100(Idx)
75512 , p_source_101 => l_array_source_101(Idx)
75513 , p_source_102 => l_array_source_102(Idx)
75514 , p_source_103 => l_array_source_103(Idx)
75515 , p_source_104 => l_array_source_104(Idx)
75516 , p_source_105 => l_array_source_105(Idx)
75517 , p_source_106 => l_array_source_106(Idx)
75518 , p_source_107 => l_array_source_107(Idx)
75519 , p_source_108 => l_array_source_108(Idx)
75520 , p_source_108_meaning => l_array_source_108_meaning(Idx)
75521 , p_source_115 => l_array_source_115(Idx)
75522 , p_source_116 => l_array_source_116(Idx)
75523 , p_source_117 => l_array_source_117(Idx)
75524 , p_source_118 => l_array_source_118(Idx)
75525 , p_source_119 => l_array_source_119(Idx)
75526 , p_source_120 => l_array_source_120(Idx)
75527 , p_source_121 => l_array_source_121(Idx)
75528 );
75529 If(l_balance_type_code = 'A') THEN
75530 l_actual_gain_loss_ref := l_gain_or_loss_ref;
75531 END IF;
75532
75533 --
75534
75535 -- only execute it if calculate g/l flag is yes, and primary or secondary ledger
75536 -- or secondary ledger that has different currency with primary
75537 -- or alc that is calculated by sla
75538 IF (((l_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
75539 (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'))
75540
75541 -- IF((l_calculate_g_l_flag='Y' or XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id <>
75542 -- XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id)
75543 AND (l_actual_flag = 'A')) THEN
75544 XLA_AE_LINES_PKG.CreateGainOrLossLines(
75545 p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
75546 ,p_application_id => p_application_id
75547 ,p_amb_context_code => 'DEFAULT'
75548 ,p_entity_code => xla_ae_journal_entry_pkg.g_cache_event.entity_code
75549 ,p_event_class_code => C_EVENT_CLASS_CODE
75550 ,p_event_type_code => C_EVENT_TYPE_CODE
75551
75552 ,p_gain_ccid => -1
75553 ,p_loss_ccid => -1
75554
75555 ,p_actual_flag => l_actual_flag
75556 ,p_enc_flag => null
75557 ,p_actual_g_l_ref => l_actual_gain_loss_ref
75558 ,p_enc_g_l_ref => null
75559 );
75560 END IF;
75561 END IF;
75562 END IF;
75563
75564 ELSE
75565 --
75566 -- Bug 4872078 - Do nothing if the event is meant for transaction reversal
75567 --
75568 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
75569 trace
75570 (p_msg => 'Trancaction revesal option is Y'
75571 ,p_level => C_LEVEL_STATEMENT
75572 ,p_module => l_log_module);
75573 END IF;
75574 END IF;
75575
75576 END LOOP;
75577 l_result := XLA_AE_LINES_PKG.InsertLines ;
75578 end loop;
75579 close line_cur;
75580
75581
75582 --
75586
75583 -- insert headers into xla_ae_headers_gt table
75584 --
75585 l_result := XLA_AE_HEADER_PKG.InsertHeaders ;
75587 -- insert into errors table here.
75588
75589 END LOOP;
75590
75591 --
75592 -- 4865292
75593 --
75594 -- Compare g_hdr_extract_count with event count in
75595 -- CreateHeadersAndLines.
75596 --
75597 g_hdr_extract_count := g_hdr_extract_count + header_cur%ROWCOUNT;
75598
75599 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
75600 trace (p_msg => '# rows extracted from header extract objects '
75601 || ' (running total): '
75602 || g_hdr_extract_count
75603 ,p_level => C_LEVEL_STATEMENT
75604 ,p_module => l_log_module);
75605 END IF;
75606
75607 CLOSE header_cur;
75608 --
75609
75610 --
75611 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
75612 trace
75613 (p_msg => 'END of EventClass_106'
75614 ,p_level => C_LEVEL_PROCEDURE
75615 ,p_module => l_log_module);
75616 END IF;
75617 --
75618 RETURN l_result;
75619 EXCEPTION
75620 WHEN xla_exceptions_pkg.application_exception THEN
75621
75622 IF header_cur%ISOPEN THEN CLOSE header_cur; END IF;
75623
75624
75625 IF line_cur%ISOPEN THEN CLOSE line_cur; END IF;
75626
75627 RAISE;
75628
75629 WHEN NO_DATA_FOUND THEN
75630
75631 IF header_cur%ISOPEN THEN CLOSE header_cur; END IF;
75632 IF line_cur%ISOPEN THEN CLOSE line_cur; END IF;
75633
75634 FOR header_record IN header_cur
75635 LOOP
75636 l_array_header_events(header_record.event_id) := header_record.event_id;
75637 END LOOP;
75638
75639 l_first_event_id := l_array_header_events(l_array_header_events.FIRST);
75640 l_last_event_id := l_array_header_events(l_array_header_events.LAST);
75641
75642 fnd_file.put_line(fnd_file.LOG, ' ');
75643 fnd_file.put_line(fnd_file.LOG, '***************************************************************************');
75644 fnd_file.put_line(fnd_file.LOG, 'EVENT CLASS CODE = ' || C_EVENT_CLASS_CODE );
75645 fnd_file.put_line(fnd_file.LOG, 'The following events are present in the line extract but MISSING in the header extract: ');
75646
75647 FOR line_record IN line_cur(l_first_event_id, l_last_event_id)
75648 LOOP
75649 IF (NOT l_array_header_events.EXISTS(line_record.event_id)) AND (NOT l_array_duplicate_checker.EXISTS(line_record.event_id)) THEN
75650 fnd_file.put_line(fnd_file.log, 'Event_id = ' || line_record.event_id);
75651 l_array_duplicate_checker(line_record.event_id) := line_record.event_id;
75652 END IF;
75653 END LOOP;
75654
75655 fnd_file.put_line(fnd_file.LOG, '***************************************************************************');
75656 fnd_file.put_line(fnd_file.LOG, ' ');
75657
75658
75659 xla_exceptions_pkg.raise_message
75660 (p_location => 'XLA_00200_AAD_S_000006_BC_PKG.EventClass_106');
75661
75662
75663 WHEN OTHERS THEN
75664 xla_exceptions_pkg.raise_message
75665 (p_location => 'XLA_00200_AAD_S_000006_BC_PKG.EventClass_106');
75666 END EventClass_106;
75667 --
75668
75669 ---------------------------------------
75670 --
75671 -- PRIVATE PROCEDURE
75672 -- insert_sources_107
75673 --
75674 ----------------------------------------
75675 --
75676 PROCEDURE insert_sources_107(
75677 p_target_ledger_id IN NUMBER
75678 , p_language IN VARCHAR2
75679 , p_sla_ledger_id IN NUMBER
75680 , p_pad_start_date IN DATE
75681 , p_pad_end_date IN DATE
75682 )
75683 IS
75684
75685 C_EVENT_TYPE_CODE CONSTANT VARCHAR2(30) := 'PREPAYMENT APPLICATIONS_ALL';
75686 C_EVENT_CLASS_CODE CONSTANT VARCHAR2(30) := 'PREPAYMENT APPLICATIONS';
75687 p_apps_owner VARCHAR2(30);
75688 l_log_module VARCHAR2(240);
75689 BEGIN
75690 IF g_log_enabled THEN
75691 l_log_module := C_DEFAULT_MODULE||'.insert_sources_107';
75692 END IF;
75693 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
75694
75695 trace
75696 (p_msg => 'BEGIN of insert_sources_107'
75697 ,p_level => C_LEVEL_PROCEDURE
75698 ,p_module => l_log_module);
75699
75700 END IF;
75701
75702 -- select APPS owner
75703 SELECT oracle_username
75704 INTO p_apps_owner
75705 FROM fnd_oracle_userid
75706 WHERE read_only_flag = 'U'
75707 ;
75708
75709 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
75710 trace
75711 (p_msg => 'p_target_ledger_id = '||p_target_ledger_id||
75712 ' - p_language = '||p_language||
75713 ' - p_sla_ledger_id = '||p_sla_ledger_id ||
75714 ' - p_pad_start_date = '||TO_CHAR(p_pad_start_date)||
75715 ' - p_pad_end_date = '||TO_CHAR(p_pad_end_date)||
75716 ' - p_apps_owner = '||TO_CHAR(p_apps_owner)
75717 ,p_level => C_LEVEL_STATEMENT
75718 ,p_module => l_log_module);
75719 END IF;
75720
75721
75722 --
75723 INSERT INTO xla_diag_sources --hdr2
75724 (
75725 event_id
75726 , ledger_id
75727 , sla_ledger_id
75728 , description_language
75729 , object_name
75730 , object_type_code
75734 , source_code
75731 , line_number
75732 , source_application_id
75733 , source_type_code
75735 , source_value
75736 , source_meaning
75737 , created_by
75738 , creation_date
75739 , last_update_date
75740 , last_updated_by
75741 , last_update_login
75742 , program_update_date
75743 , program_application_id
75744 , program_id
75745 , request_id
75746 )
75747 SELECT
75748 event_id
75749 , p_target_ledger_id
75750 , p_sla_ledger_id
75751 , p_language
75752 , object_name
75753 , object_type_code
75754 , line_number
75755 , source_application_id
75756 , source_type_code
75757 , source_code
75758 , SUBSTR(source_value ,1,1996)
75759 , SUBSTR(source_meaning ,1,200)
75760 , xla_environment_pkg.g_Usr_Id
75761 , TRUNC(SYSDATE)
75762 , TRUNC(SYSDATE)
75763 , xla_environment_pkg.g_Usr_Id
75764 , xla_environment_pkg.g_Login_Id
75765 , TRUNC(SYSDATE)
75766 , xla_environment_pkg.g_Prog_Appl_Id
75767 , xla_environment_pkg.g_Prog_Id
75768 , xla_environment_pkg.g_Req_Id
75769 FROM (
75770 SELECT xet.event_id event_id
75771 , 0 line_number
75772 , CASE r
75773 WHEN 1 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
75774 WHEN 2 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
75775 WHEN 3 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
75776 WHEN 4 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
75777 WHEN 5 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
75778 WHEN 6 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
75779 WHEN 7 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
75780
75781 ELSE null
75782 END object_name
75783 , CASE r
75784 WHEN 1 THEN 'HEADER'
75785 WHEN 2 THEN 'HEADER'
75786 WHEN 3 THEN 'HEADER'
75787 WHEN 4 THEN 'HEADER'
75788 WHEN 5 THEN 'HEADER'
75789 WHEN 6 THEN 'HEADER'
75790 WHEN 7 THEN 'HEADER'
75791
75792 ELSE null
75793 END object_type_code
75794 , CASE r
75795 WHEN 1 THEN '200'
75796 WHEN 2 THEN '200'
75797 WHEN 3 THEN '200'
75798 WHEN 4 THEN '200'
75799 WHEN 5 THEN '200'
75800 WHEN 6 THEN '200'
75801 WHEN 7 THEN '200'
75802
75803 ELSE null
75804 END source_application_id
75805 , 'S' source_type_code
75806 , CASE r
75807 WHEN 1 THEN 'FSP_PURCH_ENCUMBRANCE_FLAG'
75808 WHEN 2 THEN 'AI_INVOICE_ID'
75809 WHEN 3 THEN 'AI_INVOICE_CURRENCY_CODE'
75810 WHEN 4 THEN 'THIRD_PARTY_TYPE'
75811 WHEN 5 THEN 'INV_DOC_SEQUENCE_CATEGORY'
75812 WHEN 6 THEN 'INV_DOC_SEQUENCE_IDENTIFIER'
75813 WHEN 7 THEN 'INV_DOC_SEQUENCE_VALUE'
75814
75815 ELSE null
75816 END source_code
75817 , CASE r
75818 WHEN 1 THEN TO_CHAR(h3.FSP_PURCH_ENCUMBRANCE_FLAG)
75819 WHEN 2 THEN TO_CHAR(h1.AI_INVOICE_ID)
75820 WHEN 3 THEN TO_CHAR(h1.AI_INVOICE_CURRENCY_CODE)
75821 WHEN 4 THEN TO_CHAR(h1.THIRD_PARTY_TYPE)
75822 WHEN 5 THEN TO_CHAR(h1.INV_DOC_SEQUENCE_CATEGORY)
75823 WHEN 6 THEN TO_CHAR(h1.INV_DOC_SEQUENCE_IDENTIFIER)
75824 WHEN 7 THEN TO_CHAR(h1.INV_DOC_SEQUENCE_VALUE)
75825
75826 ELSE null
75827 END source_value
75828 , CASE r
75829 WHEN 1 THEN fvl17.meaning
75830
75831 ELSE null
75832 END source_meaning
75833 FROM xla_events_gt xet
75834 , AP_INVOICE_EXTRACT_HEADER_V h1
75835 , AP_SYSTEM_PARAMETERS_EXTRACT_V h3
75836 , fnd_lookup_values fvl17
75837 ,(select rownum r from all_objects where rownum <= 7 and owner = p_apps_owner)
75838 WHERE xet.event_date between p_pad_start_date AND p_pad_end_date
75839 AND xet.event_class_code = C_EVENT_CLASS_CODE
75840 AND h1.event_id = xet.event_id
75841 AND h3.asp_org_id = h1.ai_org_id AND fvl17.lookup_type(+) = 'YES_NO'
75842 AND fvl17.lookup_code(+) = h3.FSP_PURCH_ENCUMBRANCE_FLAG
75843 AND fvl17.view_application_id(+) = 0
75844 AND fvl17.language(+) = USERENV('LANG')
75845
75846 )
75847 ;
75848 --
75849 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
75850
75851 trace
75852 (p_msg => 'number of header sources inserted = '||SQL%ROWCOUNT
75853 ,p_level => C_LEVEL_STATEMENT
75854 ,p_module => l_log_module);
75855
75856 END IF;
75857 --
75858
75859
75860
75861 --
75862 INSERT INTO xla_diag_sources --line2
75863 (
75864 event_id
75865 , ledger_id
75866 , sla_ledger_id
75870 , line_number
75867 , description_language
75868 , object_name
75869 , object_type_code
75871 , source_application_id
75872 , source_type_code
75873 , source_code
75874 , source_value
75875 , source_meaning
75876 , created_by
75877 , creation_date
75878 , last_update_date
75879 , last_updated_by
75880 , last_update_login
75881 , program_update_date
75882 , program_application_id
75883 , program_id
75884 , request_id
75885 )
75886 SELECT event_id
75887 , p_target_ledger_id
75888 , p_sla_ledger_id
75889 , p_language
75890 , object_name
75891 , object_type_code
75892 , line_number
75893 , source_application_id
75894 , source_type_code
75895 , source_code
75896 , SUBSTR(source_value,1,1996)
75897 , SUBSTR(source_meaning ,1,200)
75898 , xla_environment_pkg.g_Usr_Id
75899 , TRUNC(SYSDATE)
75900 , TRUNC(SYSDATE)
75901 , xla_environment_pkg.g_Usr_Id
75902 , xla_environment_pkg.g_Login_Id
75903 , TRUNC(SYSDATE)
75904 , xla_environment_pkg.g_Prog_Appl_Id
75905 , xla_environment_pkg.g_Prog_Id
75906 , xla_environment_pkg.g_Req_Id
75907 FROM (
75908 SELECT xet.event_id event_id
75909 , l2.line_number line_number
75910 , CASE r
75911 WHEN 1 THEN 'AP_PREPAYAPP_EXTRACT_DTLS_BC_V'
75912 WHEN 2 THEN 'AP_PREPAYAPP_EXTRACT_DTLS_BC_V'
75913 WHEN 3 THEN 'AP_PREPAYAPP_EXTRACT_DTLS_BC_V'
75914 WHEN 4 THEN 'AP_PREPAYAPP_EXTRACT_DTLS_BC_V'
75915 WHEN 5 THEN 'AP_PREPAYAPP_EXTRACT_DTLS_BC_V'
75916 WHEN 6 THEN 'AP_PREPAYAPP_EXTRACT_DTLS_BC_V'
75917 WHEN 7 THEN 'AP_PREPAYAPP_EXTRACT_DTLS_BC_V'
75918 WHEN 8 THEN 'AP_PREPAYAPP_EXTRACT_DTLS_BC_V'
75919 WHEN 9 THEN 'AP_PREPAYAPP_EXTRACT_DTLS_BC_V'
75920 WHEN 10 THEN 'AP_PREPAYAPP_EXTRACT_DTLS_BC_V'
75921 WHEN 11 THEN 'AP_PREPAYAPP_EXTRACT_DTLS_BC_V'
75922 WHEN 12 THEN 'AP_PREPAYAPP_EXTRACT_DTLS_BC_V'
75923 WHEN 13 THEN 'AP_PREPAYAPP_EXTRACT_DTLS_BC_V'
75924 WHEN 14 THEN 'AP_PREPAYAPP_EXTRACT_DTLS_BC_V'
75925 WHEN 15 THEN 'ZX_AP_DEF_TAX_EXTRACT_V'
75926 WHEN 16 THEN 'ZX_AP_TAX_JRNL_LINE_DESC_V'
75927 WHEN 17 THEN 'AP_PREPAYAPP_EXTRACT_DTLS_BC_V'
75928 WHEN 18 THEN 'AP_PREPAYAPP_EXTRACT_DTLS_BC_V'
75929 WHEN 19 THEN 'AP_PREPAYAPP_EXTRACT_DTLS_BC_V'
75930 WHEN 20 THEN 'AP_PREPAYAPP_EXTRACT_DTLS_BC_V'
75931 WHEN 21 THEN 'AP_PREPAYAPP_EXTRACT_DTLS_BC_V'
75932 WHEN 22 THEN 'AP_PREPAYAPP_EXTRACT_DTLS_BC_V'
75933 WHEN 23 THEN 'AP_PREPAYAPP_EXTRACT_DTLS_BC_V'
75934 WHEN 24 THEN 'AP_PREPAYAPP_EXTRACT_DTLS_BC_V'
75935 WHEN 25 THEN 'AP_PREPAYAPP_EXTRACT_DTLS_BC_V'
75936 WHEN 26 THEN 'AP_PREPAYAPP_EXTRACT_DTLS_BC_V'
75937 WHEN 27 THEN 'AP_PREPAYAPP_EXTRACT_DTLS_BC_V'
75938 WHEN 28 THEN 'AP_PREPAYAPP_EXTRACT_DTLS_BC_V'
75939 WHEN 29 THEN 'AP_PREPAYAPP_EXTRACT_DTLS_BC_V'
75940 WHEN 30 THEN 'AP_PREPAYAPP_EXTRACT_DTLS_BC_V'
75941 WHEN 31 THEN 'AP_PREPAYAPP_EXTRACT_DTLS_BC_V'
75942 WHEN 32 THEN 'AP_PREPAYAPP_EXTRACT_DTLS_BC_V'
75943 WHEN 33 THEN 'AP_PREPAYAPP_EXTRACT_DTLS_BC_V'
75944 WHEN 34 THEN 'AP_PREPAYAPP_EXTRACT_DTLS_BC_V'
75945 WHEN 35 THEN 'AP_PREPAYAPP_EXTRACT_DTLS_BC_V'
75946
75947 ELSE null
75948 END object_name
75949 , CASE r
75950 WHEN 1 THEN 'LINE'
75951 WHEN 2 THEN 'LINE'
75952 WHEN 3 THEN 'LINE'
75953 WHEN 4 THEN 'LINE'
75954 WHEN 5 THEN 'LINE'
75955 WHEN 6 THEN 'LINE'
75956 WHEN 7 THEN 'LINE'
75957 WHEN 8 THEN 'LINE'
75958 WHEN 9 THEN 'LINE'
75959 WHEN 10 THEN 'LINE'
75960 WHEN 11 THEN 'LINE'
75961 WHEN 12 THEN 'LINE'
75962 WHEN 13 THEN 'LINE'
75963 WHEN 14 THEN 'LINE'
75964 WHEN 15 THEN 'LINE'
75965 WHEN 16 THEN 'LINE'
75966 WHEN 17 THEN 'LINE'
75967 WHEN 18 THEN 'LINE'
75968 WHEN 19 THEN 'LINE'
75969 WHEN 20 THEN 'LINE'
75970 WHEN 21 THEN 'LINE'
75971 WHEN 22 THEN 'LINE'
75972 WHEN 23 THEN 'LINE'
75973 WHEN 24 THEN 'LINE'
75974 WHEN 25 THEN 'LINE'
75975 WHEN 26 THEN 'LINE'
75976 WHEN 27 THEN 'LINE'
75977 WHEN 28 THEN 'LINE'
75978 WHEN 29 THEN 'LINE'
75979 WHEN 30 THEN 'LINE'
75980 WHEN 31 THEN 'LINE'
75981 WHEN 32 THEN 'LINE'
75982 WHEN 33 THEN 'LINE'
75983 WHEN 34 THEN 'LINE'
75984 WHEN 35 THEN 'LINE'
75985
75986 ELSE null
75987 END object_type_code
75988 , CASE r
75992 WHEN 4 THEN '200'
75989 WHEN 1 THEN '200'
75990 WHEN 2 THEN '200'
75991 WHEN 3 THEN '200'
75993 WHEN 5 THEN '200'
75994 WHEN 6 THEN '200'
75995 WHEN 7 THEN '200'
75996 WHEN 8 THEN '200'
75997 WHEN 9 THEN '200'
75998 WHEN 10 THEN '200'
75999 WHEN 11 THEN '200'
76000 WHEN 12 THEN '200'
76001 WHEN 13 THEN '200'
76002 WHEN 14 THEN '200'
76003 WHEN 15 THEN '200'
76004 WHEN 16 THEN '200'
76005 WHEN 17 THEN '200'
76006 WHEN 18 THEN '200'
76007 WHEN 19 THEN '200'
76008 WHEN 20 THEN '200'
76009 WHEN 21 THEN '200'
76010 WHEN 22 THEN '200'
76011 WHEN 23 THEN '200'
76012 WHEN 24 THEN '200'
76013 WHEN 25 THEN '200'
76014 WHEN 26 THEN '200'
76015 WHEN 27 THEN '200'
76016 WHEN 28 THEN '200'
76017 WHEN 29 THEN '200'
76018 WHEN 30 THEN '200'
76019 WHEN 31 THEN '200'
76020 WHEN 32 THEN '200'
76021 WHEN 33 THEN '200'
76022 WHEN 34 THEN '200'
76023 WHEN 35 THEN '200'
76024
76025 ELSE null
76026 END source_application_id
76027 , 'S' source_type_code
76028 , CASE r
76029 WHEN 1 THEN 'DIST_ACCOUNT_REVERSAL_OPTION'
76030 WHEN 2 THEN 'DISTRIBUTION_LINK_TYPE'
76031 WHEN 3 THEN 'BUS_FLOW_AP_APP_ID'
76032 WHEN 4 THEN 'UPG_ENC_CR_CCID'
76033 WHEN 5 THEN 'UPG_ENC_CR_AMT'
76034 WHEN 6 THEN 'UPG_ENC_CR_BASE_AMT'
76035 WHEN 7 THEN 'UPG_ENC_DR_CCID'
76036 WHEN 8 THEN 'UPG_ENC_DR_AMT'
76037 WHEN 9 THEN 'UPG_ENC_DR_BASE_AMT'
76038 WHEN 10 THEN 'UPG_AP_ENCUM_OPTION'
76039 WHEN 11 THEN 'DEFERRED_END_DATE'
76040 WHEN 12 THEN 'DEFERRED_OPTION'
76041 WHEN 13 THEN 'DEFERRED_START_DATE'
76042 WHEN 14 THEN 'OVERRIDE_ACCTD_AMT_FLAG'
76043 WHEN 15 THEN 'TAX_LINE_ID'
76044 WHEN 16 THEN 'REC_NREC_TAX_DIST_ID'
76045 WHEN 17 THEN 'SUMMARY_TAX_LINE_ID'
76046 WHEN 18 THEN 'UPG_CR_ENC_TYPE_ID'
76047 WHEN 19 THEN 'UPG_DR_ENC_TYPE_ID'
76048 WHEN 20 THEN 'PO_DISTRIBUTION_ID'
76049 WHEN 21 THEN 'BUS_FLOW_PO_APP_ID'
76050 WHEN 22 THEN 'BUS_FLOW_PO_DIST_TYPE'
76051 WHEN 23 THEN 'BUS_FLOW_PO_ENTITY_CODE'
76052 WHEN 24 THEN 'BUS_FLOW_PO_DOC_ID'
76053 WHEN 25 THEN 'APAD_DIST_LOOKUP_CODE'
76054 WHEN 26 THEN 'APAD_DISTRIBUTION_IDENTIFIER'
76055 WHEN 27 THEN 'BF_ACCRUAL_PREPAY_DIST_TYPE'
76056 WHEN 28 THEN 'BF_ACCRUAL_PREPAY_ENTITY_CODE'
76057 WHEN 29 THEN 'BF_ACCRUAL_PP_DIST_ID'
76058 WHEN 30 THEN 'BF_ACCRUAL_PP_INV'
76059 WHEN 31 THEN 'UPG_ENC_CR_ACCT_CLASS'
76060 WHEN 32 THEN 'UPG_ENC_DR_ACCT_CLASS'
76061 WHEN 33 THEN 'APAD_AMOUNT'
76062 WHEN 34 THEN 'APAD_BASE_AMOUNT'
76063 WHEN 35 THEN 'REVERSED_PREPAY_APP_DIST_ID'
76064
76065 ELSE null
76066 END source_code
76067 , CASE r
76068 WHEN 1 THEN TO_CHAR(l2.DIST_ACCOUNT_REVERSAL_OPTION)
76069 WHEN 2 THEN TO_CHAR(l2.DISTRIBUTION_LINK_TYPE)
76070 WHEN 3 THEN TO_CHAR(l2.BUS_FLOW_AP_APP_ID)
76071 WHEN 4 THEN TO_CHAR(l2.UPG_ENC_CR_CCID)
76072 WHEN 5 THEN TO_CHAR(l2.UPG_ENC_CR_AMT)
76073 WHEN 6 THEN TO_CHAR(l2.UPG_ENC_CR_BASE_AMT)
76074 WHEN 7 THEN TO_CHAR(l2.UPG_ENC_DR_CCID)
76075 WHEN 8 THEN TO_CHAR(l2.UPG_ENC_DR_AMT)
76076 WHEN 9 THEN TO_CHAR(l2.UPG_ENC_DR_BASE_AMT)
76077 WHEN 10 THEN TO_CHAR(l2.UPG_AP_ENCUM_OPTION)
76078 WHEN 11 THEN TO_CHAR(l2.DEFERRED_END_DATE)
76079 WHEN 12 THEN TO_CHAR(l2.DEFERRED_OPTION)
76080 WHEN 13 THEN TO_CHAR(l2.DEFERRED_START_DATE)
76081 WHEN 14 THEN TO_CHAR(l2.OVERRIDE_ACCTD_AMT_FLAG)
76082 WHEN 15 THEN TO_CHAR(l4.TAX_LINE_ID)
76083 WHEN 16 THEN TO_CHAR(l5.REC_NREC_TAX_DIST_ID)
76084 WHEN 17 THEN TO_CHAR(l2.SUMMARY_TAX_LINE_ID)
76085 WHEN 18 THEN TO_CHAR(l2.UPG_CR_ENC_TYPE_ID)
76086 WHEN 19 THEN TO_CHAR(l2.UPG_DR_ENC_TYPE_ID)
76087 WHEN 20 THEN TO_CHAR(l2.PO_DISTRIBUTION_ID)
76088 WHEN 21 THEN TO_CHAR(l2.BUS_FLOW_PO_APP_ID)
76089 WHEN 22 THEN TO_CHAR(l2.BUS_FLOW_PO_DIST_TYPE)
76090 WHEN 23 THEN TO_CHAR(l2.BUS_FLOW_PO_ENTITY_CODE)
76091 WHEN 24 THEN TO_CHAR(l2.BUS_FLOW_PO_DOC_ID)
76092 WHEN 25 THEN TO_CHAR(l2.APAD_DIST_LOOKUP_CODE)
76093 WHEN 26 THEN TO_CHAR(l2.APAD_DISTRIBUTION_IDENTIFIER)
76097 WHEN 30 THEN TO_CHAR(l2.BF_ACCRUAL_PP_INV)
76094 WHEN 27 THEN TO_CHAR(l2.BF_ACCRUAL_PREPAY_DIST_TYPE)
76095 WHEN 28 THEN TO_CHAR(l2.BF_ACCRUAL_PREPAY_ENTITY_CODE)
76096 WHEN 29 THEN TO_CHAR(l2.BF_ACCRUAL_PP_DIST_ID)
76098 WHEN 31 THEN TO_CHAR(l2.UPG_ENC_CR_ACCT_CLASS)
76099 WHEN 32 THEN TO_CHAR(l2.UPG_ENC_DR_ACCT_CLASS)
76100 WHEN 33 THEN TO_CHAR(l2.APAD_AMOUNT)
76101 WHEN 34 THEN TO_CHAR(l2.APAD_BASE_AMOUNT)
76102 WHEN 35 THEN TO_CHAR(l2.REVERSED_PREPAY_APP_DIST_ID)
76103
76104 ELSE null
76105 END source_value
76106 , CASE r
76107 WHEN 14 THEN fvl46.meaning
76108
76109 ELSE null
76110 END source_meaning
76111 FROM xla_events_gt xet
76112 , AP_PREPAYAPP_EXTRACT_DTLS_BC_V l2
76113 , ZX_AP_DEF_TAX_EXTRACT_V l4
76114 , ZX_AP_TAX_JRNL_LINE_DESC_V l5
76115 , fnd_lookup_values fvl46
76116 , (select rownum r from all_objects where rownum <= 35 and owner = p_apps_owner)
76117 WHERE xet.event_date between p_pad_start_date AND p_pad_end_date
76118 AND xet.event_class_code = C_EVENT_CLASS_CODE
76119 AND l2.event_id = xet.event_id
76120 AND l2.recp_detail_tax_dist_id = l4.rec_nrec_tax_dist_id (+) AND l2.recp_detail_tax_dist_id = l5.rec_nrec_tax_dist_id (+) AND fvl46.lookup_type(+) = 'YES_NO'
76121 AND fvl46.lookup_code(+) = l2.OVERRIDE_ACCTD_AMT_FLAG
76122 AND fvl46.view_application_id(+) = 0
76123 AND fvl46.language(+) = USERENV('LANG')
76124
76125 )
76126 ;
76127 --
76128 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
76129
76130 trace
76131 (p_msg => 'number of line sources inserted = '||SQL%ROWCOUNT
76132 ,p_level => C_LEVEL_STATEMENT
76133 ,p_module => l_log_module);
76134
76135 END IF;
76136
76137
76138 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
76139 trace
76140 (p_msg => 'END of insert_sources_107'
76141 ,p_level => C_LEVEL_PROCEDURE
76142 ,p_module => l_log_module);
76143 END IF;
76144 EXCEPTION
76145 WHEN xla_exceptions_pkg.application_exception THEN
76146 IF (C_LEVEL_EXCEPTION >= g_log_level) THEN
76147 trace
76148 (p_msg => 'ERROR: XLA_CMP_COMPILER_ERROR = '||sqlerrm
76149 ,p_level => C_LEVEL_EXCEPTION
76150 ,p_module => l_log_module);
76151 END IF;
76152 RAISE;
76153 WHEN OTHERS THEN
76154 IF (C_LEVEL_EXCEPTION >= g_log_level) THEN
76155 trace
76156 (p_msg => 'ERROR: XLA_CMP_COMPILER_ERROR = '||sqlerrm
76157 ,p_level => C_LEVEL_EXCEPTION
76158 ,p_module => l_log_module);
76159 END IF;
76160 xla_exceptions_pkg.raise_message
76161 (p_location => 'XLA_00200_AAD_S_000006_BC_PKG.insert_sources_107');
76162 END insert_sources_107;
76163 --
76164
76165 ---------------------------------------
76166 --
76167 -- PRIVATE FUNCTION
76168 -- EventClass_107
76169 --
76170 ----------------------------------------
76171 --
76172 FUNCTION EventClass_107
76173 (p_application_id IN NUMBER
76174 ,p_base_ledger_id IN NUMBER
76175 ,p_target_ledger_id IN NUMBER
76176 ,p_language IN VARCHAR2
76177 ,p_currency_code IN VARCHAR2
76178 ,p_sla_ledger_id IN NUMBER
76179 ,p_pad_start_date IN DATE
76180 ,p_pad_end_date IN DATE
76181 ,p_primary_ledger_id IN NUMBER)
76182 RETURN BOOLEAN IS
76183 --
76184 C_EVENT_TYPE_CODE CONSTANT VARCHAR2(30) := 'PREPAYMENT APPLICATIONS_ALL';
76185 C_EVENT_CLASS_CODE CONSTANT VARCHAR2(30) := 'PREPAYMENT APPLICATIONS';
76186
76187 l_calculate_acctd_flag VARCHAR2(1) :='N';
76188 l_calculate_g_l_flag VARCHAR2(1) :='N';
76189 --
76190 l_array_legal_entity_id XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
76191 l_array_entity_id XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
76192 l_array_entity_code XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
76193 l_array_transaction_num XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
76194 l_array_event_id XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
76195 l_array_class_code XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
76196 l_array_event_type XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
76197 l_array_event_number XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
76198 l_array_event_date XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
76199 l_array_transaction_date XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
76200 l_array_reference_num_1 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
76201 l_array_reference_num_2 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
76202 l_array_reference_num_3 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
76203 l_array_reference_num_4 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
76204 l_array_reference_char_1 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
76205 l_array_reference_char_2 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
76209 l_array_reference_date_2 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
76206 l_array_reference_char_3 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
76207 l_array_reference_char_4 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
76208 l_array_reference_date_1 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
76210 l_array_reference_date_3 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
76211 l_array_reference_date_4 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
76212 l_array_event_created_by XLA_AE_JOURNAL_ENTRY_PKG.t_array_V100L;
76213 l_array_budgetary_control_flag XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
76214 l_array_header_events XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num; --added
76215 l_array_duplicate_checker XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num; --added
76216
76217 l_event_id NUMBER;
76218 l_previous_event_id NUMBER;
76219 l_first_event_id NUMBER;
76220 l_last_event_id NUMBER;
76221
76222 l_rec_acct_attrs XLA_AE_HEADER_PKG.t_rec_acct_attrs;
76223 l_rec_rev_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
76224 --
76225 --
76226 l_result BOOLEAN := TRUE;
76227 l_rows NUMBER := 1000;
76228 l_event_type_name VARCHAR2(80) := 'All';
76229 l_event_class_name VARCHAR2(80) := 'Prepayment Applications';
76230 l_description VARCHAR2(4000);
76231 l_transaction_reversal NUMBER;
76232 l_ae_header_id NUMBER;
76233 l_array_extract_line_num xla_ae_journal_entry_pkg.t_array_Num;
76234 l_log_module VARCHAR2(240);
76235 --
76236 l_acct_reversal_source VARCHAR2(30);
76237 l_trx_reversal_source VARCHAR2(30);
76238
76239 l_continue_with_lines BOOLEAN := TRUE;
76240 --
76241 l_acc_rev_gl_date_source DATE; -- 4262811
76242 --
76243 type t_array_event_id is table of number index by binary_integer;
76244
76245 l_rec_array_event t_rec_array_event;
76246 l_null_rec_array_event t_rec_array_event;
76247 l_array_ae_header_id xla_number_array_type;
76248 l_actual_flag VARCHAR2(1) := NULL;
76249 l_actual_gain_loss_ref VARCHAR2(30) := '#####';
76250 l_balance_type_code VARCHAR2(1) :=NULL;
76251 l_gain_or_loss_ref VARCHAR2(30) :=NULL;
76252
76253 --
76254 TYPE t_array_lookup_meaning IS TABLE OF fnd_lookup_values.meaning%TYPE INDEX BY BINARY_INTEGER;
76255 --
76256
76257 TYPE t_array_source_17 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.FSP_PURCH_ENCUMBRANCE_FLAG%TYPE INDEX BY BINARY_INTEGER;
76258 TYPE t_array_source_24 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_INVOICE_ID%TYPE INDEX BY BINARY_INTEGER;
76259 TYPE t_array_source_33 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_INVOICE_CURRENCY_CODE%TYPE INDEX BY BINARY_INTEGER;
76260 TYPE t_array_source_49 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.THIRD_PARTY_TYPE%TYPE INDEX BY BINARY_INTEGER;
76261 TYPE t_array_source_122 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_DOC_SEQUENCE_CATEGORY%TYPE INDEX BY BINARY_INTEGER;
76262 TYPE t_array_source_123 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_DOC_SEQUENCE_IDENTIFIER%TYPE INDEX BY BINARY_INTEGER;
76263 TYPE t_array_source_124 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_DOC_SEQUENCE_VALUE%TYPE INDEX BY BINARY_INTEGER;
76264
76265 TYPE t_array_source_19 IS TABLE OF AP_PREPAYAPP_EXTRACT_DTLS_BC_V.DIST_ACCOUNT_REVERSAL_OPTION%TYPE INDEX BY BINARY_INTEGER;
76266 TYPE t_array_source_21 IS TABLE OF AP_PREPAYAPP_EXTRACT_DTLS_BC_V.DISTRIBUTION_LINK_TYPE%TYPE INDEX BY BINARY_INTEGER;
76267 TYPE t_array_source_25 IS TABLE OF AP_PREPAYAPP_EXTRACT_DTLS_BC_V.BUS_FLOW_AP_APP_ID%TYPE INDEX BY BINARY_INTEGER;
76268 TYPE t_array_source_31 IS TABLE OF AP_PREPAYAPP_EXTRACT_DTLS_BC_V.UPG_ENC_CR_CCID%TYPE INDEX BY BINARY_INTEGER;
76269 TYPE t_array_source_32 IS TABLE OF AP_PREPAYAPP_EXTRACT_DTLS_BC_V.UPG_ENC_CR_AMT%TYPE INDEX BY BINARY_INTEGER;
76270 TYPE t_array_source_34 IS TABLE OF AP_PREPAYAPP_EXTRACT_DTLS_BC_V.UPG_ENC_CR_BASE_AMT%TYPE INDEX BY BINARY_INTEGER;
76271 TYPE t_array_source_35 IS TABLE OF AP_PREPAYAPP_EXTRACT_DTLS_BC_V.UPG_ENC_DR_CCID%TYPE INDEX BY BINARY_INTEGER;
76272 TYPE t_array_source_36 IS TABLE OF AP_PREPAYAPP_EXTRACT_DTLS_BC_V.UPG_ENC_DR_AMT%TYPE INDEX BY BINARY_INTEGER;
76273 TYPE t_array_source_37 IS TABLE OF AP_PREPAYAPP_EXTRACT_DTLS_BC_V.UPG_ENC_DR_BASE_AMT%TYPE INDEX BY BINARY_INTEGER;
76274 TYPE t_array_source_38 IS TABLE OF AP_PREPAYAPP_EXTRACT_DTLS_BC_V.UPG_AP_ENCUM_OPTION%TYPE INDEX BY BINARY_INTEGER;
76275 TYPE t_array_source_43 IS TABLE OF AP_PREPAYAPP_EXTRACT_DTLS_BC_V.DEFERRED_END_DATE%TYPE INDEX BY BINARY_INTEGER;
76276 TYPE t_array_source_44 IS TABLE OF AP_PREPAYAPP_EXTRACT_DTLS_BC_V.DEFERRED_OPTION%TYPE INDEX BY BINARY_INTEGER;
76277 TYPE t_array_source_45 IS TABLE OF AP_PREPAYAPP_EXTRACT_DTLS_BC_V.DEFERRED_START_DATE%TYPE INDEX BY BINARY_INTEGER;
76278 TYPE t_array_source_46 IS TABLE OF AP_PREPAYAPP_EXTRACT_DTLS_BC_V.OVERRIDE_ACCTD_AMT_FLAG%TYPE INDEX BY BINARY_INTEGER;
76279 TYPE t_array_source_52 IS TABLE OF ZX_AP_DEF_TAX_EXTRACT_V.TAX_LINE_ID%TYPE INDEX BY BINARY_INTEGER;
76280 TYPE t_array_source_53 IS TABLE OF ZX_AP_TAX_JRNL_LINE_DESC_V.REC_NREC_TAX_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
76281 TYPE t_array_source_54 IS TABLE OF AP_PREPAYAPP_EXTRACT_DTLS_BC_V.SUMMARY_TAX_LINE_ID%TYPE INDEX BY BINARY_INTEGER;
76282 TYPE t_array_source_55 IS TABLE OF AP_PREPAYAPP_EXTRACT_DTLS_BC_V.UPG_CR_ENC_TYPE_ID%TYPE INDEX BY BINARY_INTEGER;
76283 TYPE t_array_source_56 IS TABLE OF AP_PREPAYAPP_EXTRACT_DTLS_BC_V.UPG_DR_ENC_TYPE_ID%TYPE INDEX BY BINARY_INTEGER;
76287 TYPE t_array_source_62 IS TABLE OF AP_PREPAYAPP_EXTRACT_DTLS_BC_V.BUS_FLOW_PO_ENTITY_CODE%TYPE INDEX BY BINARY_INTEGER;
76284 TYPE t_array_source_58 IS TABLE OF AP_PREPAYAPP_EXTRACT_DTLS_BC_V.PO_DISTRIBUTION_ID%TYPE INDEX BY BINARY_INTEGER;
76285 TYPE t_array_source_60 IS TABLE OF AP_PREPAYAPP_EXTRACT_DTLS_BC_V.BUS_FLOW_PO_APP_ID%TYPE INDEX BY BINARY_INTEGER;
76286 TYPE t_array_source_61 IS TABLE OF AP_PREPAYAPP_EXTRACT_DTLS_BC_V.BUS_FLOW_PO_DIST_TYPE%TYPE INDEX BY BINARY_INTEGER;
76288 TYPE t_array_source_64 IS TABLE OF AP_PREPAYAPP_EXTRACT_DTLS_BC_V.BUS_FLOW_PO_DOC_ID%TYPE INDEX BY BINARY_INTEGER;
76289 TYPE t_array_source_69 IS TABLE OF AP_PREPAYAPP_EXTRACT_DTLS_BC_V.APAD_DIST_LOOKUP_CODE%TYPE INDEX BY BINARY_INTEGER;
76290 TYPE t_array_source_71 IS TABLE OF AP_PREPAYAPP_EXTRACT_DTLS_BC_V.APAD_DISTRIBUTION_IDENTIFIER%TYPE INDEX BY BINARY_INTEGER;
76291 TYPE t_array_source_72 IS TABLE OF AP_PREPAYAPP_EXTRACT_DTLS_BC_V.BF_ACCRUAL_PREPAY_DIST_TYPE%TYPE INDEX BY BINARY_INTEGER;
76292 TYPE t_array_source_73 IS TABLE OF AP_PREPAYAPP_EXTRACT_DTLS_BC_V.BF_ACCRUAL_PREPAY_ENTITY_CODE%TYPE INDEX BY BINARY_INTEGER;
76293 TYPE t_array_source_74 IS TABLE OF AP_PREPAYAPP_EXTRACT_DTLS_BC_V.BF_ACCRUAL_PP_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
76294 TYPE t_array_source_75 IS TABLE OF AP_PREPAYAPP_EXTRACT_DTLS_BC_V.BF_ACCRUAL_PP_INV%TYPE INDEX BY BINARY_INTEGER;
76295 TYPE t_array_source_76 IS TABLE OF AP_PREPAYAPP_EXTRACT_DTLS_BC_V.UPG_ENC_CR_ACCT_CLASS%TYPE INDEX BY BINARY_INTEGER;
76296 TYPE t_array_source_77 IS TABLE OF AP_PREPAYAPP_EXTRACT_DTLS_BC_V.UPG_ENC_DR_ACCT_CLASS%TYPE INDEX BY BINARY_INTEGER;
76297 TYPE t_array_source_78 IS TABLE OF AP_PREPAYAPP_EXTRACT_DTLS_BC_V.APAD_AMOUNT%TYPE INDEX BY BINARY_INTEGER;
76298 TYPE t_array_source_79 IS TABLE OF AP_PREPAYAPP_EXTRACT_DTLS_BC_V.APAD_BASE_AMOUNT%TYPE INDEX BY BINARY_INTEGER;
76299 TYPE t_array_source_80 IS TABLE OF AP_PREPAYAPP_EXTRACT_DTLS_BC_V.REVERSED_PREPAY_APP_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
76300
76301 l_array_source_17 t_array_source_17;
76302 l_array_source_17_meaning t_array_lookup_meaning;
76303 l_array_source_24 t_array_source_24;
76304 l_array_source_33 t_array_source_33;
76305 l_array_source_49 t_array_source_49;
76306 l_array_source_122 t_array_source_122;
76307 l_array_source_123 t_array_source_123;
76308 l_array_source_124 t_array_source_124;
76309
76310 l_array_source_19 t_array_source_19;
76311 l_array_source_21 t_array_source_21;
76312 l_array_source_25 t_array_source_25;
76313 l_array_source_31 t_array_source_31;
76314 l_array_source_32 t_array_source_32;
76315 l_array_source_34 t_array_source_34;
76316 l_array_source_35 t_array_source_35;
76317 l_array_source_36 t_array_source_36;
76318 l_array_source_37 t_array_source_37;
76319 l_array_source_38 t_array_source_38;
76320 l_array_source_43 t_array_source_43;
76321 l_array_source_44 t_array_source_44;
76322 l_array_source_45 t_array_source_45;
76323 l_array_source_46 t_array_source_46;
76324 l_array_source_46_meaning t_array_lookup_meaning;
76325 l_array_source_52 t_array_source_52;
76326 l_array_source_53 t_array_source_53;
76327 l_array_source_54 t_array_source_54;
76328 l_array_source_55 t_array_source_55;
76329 l_array_source_56 t_array_source_56;
76330 l_array_source_58 t_array_source_58;
76331 l_array_source_60 t_array_source_60;
76332 l_array_source_61 t_array_source_61;
76333 l_array_source_62 t_array_source_62;
76334 l_array_source_64 t_array_source_64;
76335 l_array_source_69 t_array_source_69;
76336 l_array_source_71 t_array_source_71;
76337 l_array_source_72 t_array_source_72;
76338 l_array_source_73 t_array_source_73;
76339 l_array_source_74 t_array_source_74;
76340 l_array_source_75 t_array_source_75;
76341 l_array_source_76 t_array_source_76;
76342 l_array_source_77 t_array_source_77;
76343 l_array_source_78 t_array_source_78;
76344 l_array_source_79 t_array_source_79;
76345 l_array_source_80 t_array_source_80;
76346
76347 --
76348 CURSOR header_cur
76349 IS
76350 SELECT /*+ leading(xet) cardinality(xet,1) */
76351 -- Event Class Code: PREPAYMENT APPLICATIONS
76352 xet.entity_id
76353 ,xet.legal_entity_id
76354 ,xet.entity_code
76355 ,xet.transaction_number
76356 ,xet.event_id
76357 ,xet.event_class_code
76358 ,xet.event_type_code
76359 ,xet.event_number
76360 ,xet.event_date
76361 ,xet.transaction_date
76362 ,xet.reference_num_1
76363 ,xet.reference_num_2
76364 ,xet.reference_num_3
76365 ,xet.reference_num_4
76366 ,xet.reference_char_1
76367 ,xet.reference_char_2
76368 ,xet.reference_char_3
76369 ,xet.reference_char_4
76370 ,xet.reference_date_1
76371 ,xet.reference_date_2
76372 ,xet.reference_date_3
76373 ,xet.reference_date_4
76374 ,xet.event_created_by
76375 ,xet.budgetary_control_flag
76376 , h3.FSP_PURCH_ENCUMBRANCE_FLAG source_17
76377 , fvl17.meaning source_17_meaning
76378 , h1.AI_INVOICE_ID source_24
76379 , h1.AI_INVOICE_CURRENCY_CODE source_33
76380 , h1.THIRD_PARTY_TYPE source_49
76381 , h1.INV_DOC_SEQUENCE_CATEGORY source_122
76382 , h1.INV_DOC_SEQUENCE_IDENTIFIER source_123
76383 , h1.INV_DOC_SEQUENCE_VALUE source_124
76384 FROM xla_events_gt xet
76385 , AP_INVOICE_EXTRACT_HEADER_V h1
76386 , AP_SYSTEM_PARAMETERS_EXTRACT_V h3
76387 , fnd_lookup_values fvl17
76388 WHERE xet.event_date between p_pad_start_date and p_pad_end_date
76389 and xet.event_class_code = C_EVENT_CLASS_CODE
76393 AND fvl17.view_application_id(+) = 0
76390 and xet.event_status_code <> 'N' AND h1.event_id = xet.event_id
76391 AND h3.asp_org_id = h1.ai_org_id AND fvl17.lookup_type(+) = 'YES_NO'
76392 AND fvl17.lookup_code(+) = h3.FSP_PURCH_ENCUMBRANCE_FLAG
76394 AND fvl17.language(+) = USERENV('LANG')
76395
76396 ORDER BY event_id
76397 ;
76398
76399
76400 --
76401 CURSOR line_cur (x_first_event_id in number, x_last_event_id in number)
76402 IS
76403 SELECT /*+ leading(xet) cardinality(xet,1) */
76404 -- Event Class Code: PREPAYMENT APPLICATIONS
76405 xet.entity_id
76406 ,xet.legal_entity_id
76407 ,xet.entity_code
76408 ,xet.transaction_number
76409 ,xet.event_id
76410 ,xet.event_class_code
76411 ,xet.event_type_code
76412 ,xet.event_number
76413 ,xet.event_date
76414 ,xet.transaction_date
76415 ,xet.reference_num_1
76416 ,xet.reference_num_2
76417 ,xet.reference_num_3
76418 ,xet.reference_num_4
76419 ,xet.reference_char_1
76420 ,xet.reference_char_2
76421 ,xet.reference_char_3
76422 ,xet.reference_char_4
76423 ,xet.reference_date_1
76424 ,xet.reference_date_2
76425 ,xet.reference_date_3
76426 ,xet.reference_date_4
76427 ,xet.event_created_by
76428 ,xet.budgetary_control_flag
76429 , l2.LINE_NUMBER
76430 , l2.DIST_ACCOUNT_REVERSAL_OPTION source_19
76431 , l2.DISTRIBUTION_LINK_TYPE source_21
76432 , l2.BUS_FLOW_AP_APP_ID source_25
76433 , l2.UPG_ENC_CR_CCID source_31
76434 , l2.UPG_ENC_CR_AMT source_32
76435 , l2.UPG_ENC_CR_BASE_AMT source_34
76436 , l2.UPG_ENC_DR_CCID source_35
76437 , l2.UPG_ENC_DR_AMT source_36
76438 , l2.UPG_ENC_DR_BASE_AMT source_37
76439 , l2.UPG_AP_ENCUM_OPTION source_38
76440 , l2.DEFERRED_END_DATE source_43
76441 , l2.DEFERRED_OPTION source_44
76442 , l2.DEFERRED_START_DATE source_45
76443 , l2.OVERRIDE_ACCTD_AMT_FLAG source_46
76444 , fvl46.meaning source_46_meaning
76445 , l4.TAX_LINE_ID source_52
76446 , l5.REC_NREC_TAX_DIST_ID source_53
76447 , l2.SUMMARY_TAX_LINE_ID source_54
76448 , l2.UPG_CR_ENC_TYPE_ID source_55
76449 , l2.UPG_DR_ENC_TYPE_ID source_56
76450 , l2.PO_DISTRIBUTION_ID source_58
76451 , l2.BUS_FLOW_PO_APP_ID source_60
76452 , l2.BUS_FLOW_PO_DIST_TYPE source_61
76453 , l2.BUS_FLOW_PO_ENTITY_CODE source_62
76454 , l2.BUS_FLOW_PO_DOC_ID source_64
76455 , l2.APAD_DIST_LOOKUP_CODE source_69
76456 , l2.APAD_DISTRIBUTION_IDENTIFIER source_71
76457 , l2.BF_ACCRUAL_PREPAY_DIST_TYPE source_72
76458 , l2.BF_ACCRUAL_PREPAY_ENTITY_CODE source_73
76459 , l2.BF_ACCRUAL_PP_DIST_ID source_74
76460 , l2.BF_ACCRUAL_PP_INV source_75
76461 , l2.UPG_ENC_CR_ACCT_CLASS source_76
76462 , l2.UPG_ENC_DR_ACCT_CLASS source_77
76463 , l2.APAD_AMOUNT source_78
76464 , l2.APAD_BASE_AMOUNT source_79
76465 , l2.REVERSED_PREPAY_APP_DIST_ID source_80
76466 FROM xla_events_gt xet
76467 , AP_PREPAYAPP_EXTRACT_DTLS_BC_V l2
76468 , ZX_AP_DEF_TAX_EXTRACT_V l4
76469 , ZX_AP_TAX_JRNL_LINE_DESC_V l5
76470 , fnd_lookup_values fvl46
76471 WHERE xet.event_id between x_first_event_id and x_last_event_id
76472 and xet.event_date between p_pad_start_date and p_pad_end_date
76473 and xet.event_class_code = C_EVENT_CLASS_CODE
76474 and xet.event_status_code <> 'N' AND l2.event_id = xet.event_id
76475 AND l2.RECP_DETAIL_TAX_DIST_ID = l4.REC_NREC_TAX_DIST_ID (+) AND l2.RECP_DETAIL_TAX_DIST_ID = l5.REC_NREC_TAX_DIST_ID (+) AND fvl46.lookup_type(+) = 'YES_NO'
76476 AND fvl46.lookup_code(+) = l2.OVERRIDE_ACCTD_AMT_FLAG
76477 AND fvl46.view_application_id(+) = 0
76478 AND fvl46.language(+) = USERENV('LANG')
76479 ;
76480
76481 --
76482 BEGIN
76483 IF g_log_enabled THEN
76484 l_log_module := C_DEFAULT_MODULE||'.EventClass_107';
76485 END IF;
76486 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
76487 trace
76488 (p_msg => 'BEGIN of EventClass_107'
76489 ,p_level => C_LEVEL_PROCEDURE
76490 ,p_module => l_log_module);
76491 END IF;
76492
76493 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
76494 trace
76495 (p_msg => 'p_application_id = '||p_application_id||
76496 ' - p_base_ledger_id = '||p_base_ledger_id||
76497 ' - p_target_ledger_id = '||p_target_ledger_id||
76498 ' - p_language = '||p_language||
76499 ' - p_currency_code = '||p_currency_code||
76500 ' - p_sla_ledger_id = '||p_sla_ledger_id
76501 ,p_level => C_LEVEL_STATEMENT
76502 ,p_module => l_log_module);
76503 END IF;
76504 --
76505 -- initialze arrays
76506 --
76507 g_array_event.DELETE;
76508 l_rec_array_event := l_null_rec_array_event;
76509 --
76510 --------------------------------------
76511 -- 4262811 Initialze MPA Line Number
76512 --------------------------------------
76513 XLA_AE_HEADER_PKG.g_mpa_line_num := 0;
76514
76515 --
76516
76517 --
76518 OPEN header_cur;
76519 --
76520 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
76521 trace
76522 (p_msg => 'SQL - FETCH header_cur'
76523 ,p_level => C_LEVEL_STATEMENT
76524 ,p_module => l_log_module);
76525 END IF;
76526 --
76527 LOOP
76528 FETCH header_cur BULK COLLECT INTO
76529 l_array_entity_id
76530 , l_array_legal_entity_id
76534 , l_array_class_code
76531 , l_array_entity_code
76532 , l_array_transaction_num
76533 , l_array_event_id
76535 , l_array_event_type
76536 , l_array_event_number
76537 , l_array_event_date
76538 , l_array_transaction_date
76539 , l_array_reference_num_1
76540 , l_array_reference_num_2
76541 , l_array_reference_num_3
76542 , l_array_reference_num_4
76543 , l_array_reference_char_1
76544 , l_array_reference_char_2
76545 , l_array_reference_char_3
76546 , l_array_reference_char_4
76547 , l_array_reference_date_1
76548 , l_array_reference_date_2
76549 , l_array_reference_date_3
76550 , l_array_reference_date_4
76551 , l_array_event_created_by
76552 , l_array_budgetary_control_flag
76553 , l_array_source_17
76554 , l_array_source_17_meaning
76555 , l_array_source_24
76556 , l_array_source_33
76557 , l_array_source_49
76558 , l_array_source_122
76559 , l_array_source_123
76560 , l_array_source_124
76561 LIMIT l_rows;
76562 --
76563 IF (C_LEVEL_EVENT >= g_log_level) THEN
76564 trace
76565 (p_msg => '# rows extracted from header extract objects = '||TO_CHAR(header_cur%ROWCOUNT)
76566 ,p_level => C_LEVEL_EVENT
76567 ,p_module => l_log_module);
76568 END IF;
76569 --
76570 EXIT WHEN l_array_entity_id.COUNT = 0;
76571
76572 -- initialize arrays
76573 XLA_AE_HEADER_PKG.g_rec_header_new := NULL;
76574 XLA_AE_LINES_PKG.g_rec_lines := NULL;
76575
76576 --
76577 -- Bug 4458708
76578 --
76579 XLA_AE_LINES_PKG.g_LineNumber := 0;
76580
76581
76582 -- 4262811 - when creating Accrual Reversal or MPA, use g_last_hdr_idx to increment for next header id
76583 g_last_hdr_idx := l_array_event_id.LAST;
76584 --
76585 -- loop for the headers. Each iteration is for each header extract row
76586 -- fetched in header cursor
76587 --
76588 FOR hdr_idx IN l_array_event_id.FIRST .. l_array_event_id.LAST LOOP
76589
76590 --
76591 -- set event info as cache for other routines to refer event attributes
76592 --
76593 XLA_AE_JOURNAL_ENTRY_PKG.set_event_info
76594 (p_application_id => p_application_id
76595 ,p_primary_ledger_id => p_primary_ledger_id
76596 ,p_base_ledger_id => p_base_ledger_id
76597 ,p_target_ledger_id => p_target_ledger_id
76598 ,p_entity_id => l_array_entity_id(hdr_idx)
76599 ,p_legal_entity_id => l_array_legal_entity_id(hdr_idx)
76600 ,p_entity_code => l_array_entity_code(hdr_idx)
76601 ,p_transaction_num => l_array_transaction_num(hdr_idx)
76602 ,p_event_id => l_array_event_id(hdr_idx)
76603 ,p_event_class_code => l_array_class_code(hdr_idx)
76604 ,p_event_type_code => l_array_event_type(hdr_idx)
76605 ,p_event_number => l_array_event_number(hdr_idx)
76606 ,p_event_date => l_array_event_date(hdr_idx)
76607 ,p_transaction_date => l_array_transaction_date(hdr_idx)
76608 ,p_reference_num_1 => l_array_reference_num_1(hdr_idx)
76609 ,p_reference_num_2 => l_array_reference_num_2(hdr_idx)
76610 ,p_reference_num_3 => l_array_reference_num_3(hdr_idx)
76611 ,p_reference_num_4 => l_array_reference_num_4(hdr_idx)
76612 ,p_reference_char_1 => l_array_reference_char_1(hdr_idx)
76613 ,p_reference_char_2 => l_array_reference_char_2(hdr_idx)
76614 ,p_reference_char_3 => l_array_reference_char_3(hdr_idx)
76615 ,p_reference_char_4 => l_array_reference_char_4(hdr_idx)
76616 ,p_reference_date_1 => l_array_reference_date_1(hdr_idx)
76617 ,p_reference_date_2 => l_array_reference_date_2(hdr_idx)
76618 ,p_reference_date_3 => l_array_reference_date_3(hdr_idx)
76619 ,p_reference_date_4 => l_array_reference_date_4(hdr_idx)
76620 ,p_event_created_by => l_array_event_created_by(hdr_idx)
76621 ,p_budgetary_control_flag => l_array_budgetary_control_flag(hdr_idx));
76622
76623 --
76624 -- set the status of entry to C_VALID (0)
76625 --
76626 XLA_AE_JOURNAL_ENTRY_PKG.g_global_status := XLA_AE_JOURNAL_ENTRY_PKG.C_VALID;
76627
76628 --
76629 -- initialize a row for ae header
76630 --
76631 XLA_AE_HEADER_PKG.InitHeader(hdr_idx);
76632
76633 l_event_id := l_array_event_id(hdr_idx);
76634
76635 --
76636 -- storing the hdr_idx for event. May be used by line cursor.
76637 --
76638 g_array_event(l_event_id).array_value_num('header_index') := hdr_idx;
76639
76640 --
76641 -- store sources from header extract. This can be improved to
76642 -- store only those sources from header extract that may be used in lines
76643 --
76644
76645 g_array_event(l_event_id).array_value_char('source_17') := l_array_source_17(hdr_idx);
76646 g_array_event(l_event_id).array_value_char('source_17_meaning') := l_array_source_17_meaning(hdr_idx);
76647 g_array_event(l_event_id).array_value_num('source_24') := l_array_source_24(hdr_idx);
76648 g_array_event(l_event_id).array_value_char('source_33') := l_array_source_33(hdr_idx);
76649 g_array_event(l_event_id).array_value_char('source_49') := l_array_source_49(hdr_idx);
76650 g_array_event(l_event_id).array_value_char('source_122') := l_array_source_122(hdr_idx);
76651 g_array_event(l_event_id).array_value_num('source_123') := l_array_source_123(hdr_idx);
76655 -- initilaize the status of ae headers for diffrent balance types
76652 g_array_event(l_event_id).array_value_num('source_124') := l_array_source_124(hdr_idx);
76653
76654 --
76656 -- the status is initialised to C_NOT_CREATED (2)
76657 --
76658 --g_array_event(l_event_id).array_value_num('actual_je_status') := XLA_AE_JOURNAL_ENTRY_PKG.C_NOT_CREATED;
76659 --g_array_event(l_event_id).array_value_num('budget_je_status') := XLA_AE_JOURNAL_ENTRY_PKG.C_NOT_CREATED;
76660 --g_array_event(l_event_id).array_value_num('encumbrance_je_status') := XLA_AE_JOURNAL_ENTRY_PKG.C_NOT_CREATED;
76661
76662 --
76663 -- call api to validate and store accounting attributes for header
76664 --
76665
76666 ------------------------------------------------------------
76667 -- Accrual Reversal : to get date for Standard Source (NONE)
76668 ------------------------------------------------------------
76669 l_acc_rev_gl_date_source := NULL;
76670
76671 l_rec_acct_attrs.array_acct_attr_code(1) := 'DOC_CATEGORY_CODE';
76672 l_rec_acct_attrs.array_char_value(1) := g_array_event(l_event_id).array_value_char('source_122');
76673 l_rec_acct_attrs.array_acct_attr_code(2) := 'DOC_SEQUENCE_ID';
76674 l_rec_acct_attrs.array_num_value(2) := g_array_event(l_event_id).array_value_num('source_123');
76675 l_rec_acct_attrs.array_acct_attr_code(3) := 'DOC_SEQUENCE_VALUE';
76676 l_rec_acct_attrs.array_num_value(3) := g_array_event(l_event_id).array_value_num('source_124');
76677 l_rec_acct_attrs.array_acct_attr_code(4) := 'GL_DATE';
76678 l_rec_acct_attrs.array_date_value(4) :=
76679 xla_ae_sources_pkg.GetSystemSourceDate(
76680 p_source_code => 'XLA_EVENT_DATE'
76681 , p_source_type_code => 'Y'
76682 , p_source_application_id => 602
76683 );
76684
76685
76686 XLA_AE_HEADER_PKG.SetHdrAcctAttrs(l_rec_acct_attrs);
76687
76688 XLA_AE_HEADER_PKG.SetJeCategoryName;
76689
76690 XLA_AE_HEADER_PKG.g_rec_header_new.array_event_type_code(hdr_idx) := l_array_event_type(hdr_idx);
76691 XLA_AE_HEADER_PKG.g_rec_header_new.array_event_id(hdr_idx) := l_array_event_id(hdr_idx);
76692 XLA_AE_HEADER_PKG.g_rec_header_new.array_entity_id(hdr_idx) := l_array_entity_id(hdr_idx);
76693 XLA_AE_HEADER_PKG.g_rec_header_new.array_event_number(hdr_idx) := l_array_event_number(hdr_idx);
76694 XLA_AE_HEADER_PKG.g_rec_header_new.array_target_ledger_id(hdr_idx) := p_target_ledger_id;
76695
76696
76697 -- No header level analytical criteria
76698
76699 --
76700 --accounting attribute enhancement, bug 3612931
76701 --
76702 l_trx_reversal_source := SUBSTR(NULL, 1,30);
76703
76704 IF NVL(l_trx_reversal_source, 'N') NOT IN ('N','Y') THEN
76705 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
76706
76707 xla_accounting_err_pkg.build_message
76708 (p_appli_s_name => 'XLA'
76709 ,p_msg_name => 'XLA_AP_INVALID_HDR_ATTR'
76710 ,p_token_1 => 'ACCT_ATTR_NAME'
76711 ,p_value_1 => xla_ae_sources_pkg.GetAccountingSourceName('TRX_ACCT_REVERSAL_OPTION')
76712 ,p_token_2 => 'PRODUCT_NAME'
76713 ,p_value_2 => xla_ae_journal_entry_pkg.g_cache_event.application_name
76714 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
76715 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
76716 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id);
76717
76718 ELSIF NVL(l_trx_reversal_source, 'N') = 'Y' THEN
76719 --
76720 -- following sets the accounting attributes needed to reverse
76721 -- accounting for a distributeion
76722 --
76723 xla_ae_lines_pkg.SetTrxReversalAttrs
76724 (p_event_id => l_event_id
76725 ,p_gl_date => XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(hdr_idx)
76726 ,p_trx_reversal_source => l_trx_reversal_source);
76727
76728 END IF;
76729
76730
76731 ----------------------------------------------------------------
76732 -- 4262811 - update the header statuses to invalid in need be
76733 ----------------------------------------------------------------
76734 --
76735 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus (p_hdr_idx => hdr_idx);
76736
76737
76738 -----------------------------------------------
76739 -- No accrual reversal for the event class/type
76740 -----------------------------------------------
76741 ----------------------------------------------------------------
76742
76743 --
76744 -- this ends the header loop iteration for one bulk fetch
76745 --
76746 END LOOP;
76747
76748 l_first_event_id := l_array_event_id(l_array_event_id.FIRST);
76749 l_last_event_id := l_array_event_id(l_array_event_id.LAST);
76750
76751 --
76752 -- insert dummy rows into lines gt table that were created due to
76753 -- transaction reversals
76754 --
76755 IF XLA_AE_LINES_PKG.g_rec_lines.array_ae_header_id.COUNT > 0 THEN
76756 l_result := XLA_AE_LINES_PKG.InsertLines;
76757 END IF;
76758
76759 --
76760 -- reset the temp_line_num for each set of events fetched from header
76761 -- cursor rather than doing it for each new event in line cursor
76762 -- Bug 3939231
76763 --
76764 xla_ae_lines_pkg.g_temp_line_num := 0;
76765
76766
76767
76768 --
76769 OPEN line_cur(x_first_event_id => l_first_event_id, x_last_event_id => l_last_event_id);
76770 --
76774 trace
76771 --
76772 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
76773
76775 (p_msg => 'SQL - FETCH line_cur'
76776 ,p_level => C_LEVEL_STATEMENT
76777 ,p_module => l_log_module);
76778
76779 END IF;
76780 --
76781 --
76782 LOOP
76783 --
76784 FETCH line_cur BULK COLLECT INTO
76785 l_array_entity_id
76786 , l_array_legal_entity_id
76787 , l_array_entity_code
76788 , l_array_transaction_num
76789 , l_array_event_id
76790 , l_array_class_code
76791 , l_array_event_type
76792 , l_array_event_number
76793 , l_array_event_date
76794 , l_array_transaction_date
76795 , l_array_reference_num_1
76796 , l_array_reference_num_2
76797 , l_array_reference_num_3
76798 , l_array_reference_num_4
76799 , l_array_reference_char_1
76800 , l_array_reference_char_2
76801 , l_array_reference_char_3
76802 , l_array_reference_char_4
76803 , l_array_reference_date_1
76804 , l_array_reference_date_2
76805 , l_array_reference_date_3
76806 , l_array_reference_date_4
76807 , l_array_event_created_by
76808 , l_array_budgetary_control_flag
76809 , l_array_extract_line_num
76810 , l_array_source_19
76811 , l_array_source_21
76812 , l_array_source_25
76813 , l_array_source_31
76814 , l_array_source_32
76815 , l_array_source_34
76816 , l_array_source_35
76817 , l_array_source_36
76818 , l_array_source_37
76819 , l_array_source_38
76820 , l_array_source_43
76821 , l_array_source_44
76822 , l_array_source_45
76823 , l_array_source_46
76824 , l_array_source_46_meaning
76825 , l_array_source_52
76826 , l_array_source_53
76827 , l_array_source_54
76828 , l_array_source_55
76829 , l_array_source_56
76830 , l_array_source_58
76831 , l_array_source_60
76832 , l_array_source_61
76833 , l_array_source_62
76834 , l_array_source_64
76835 , l_array_source_69
76836 , l_array_source_71
76837 , l_array_source_72
76838 , l_array_source_73
76839 , l_array_source_74
76840 , l_array_source_75
76841 , l_array_source_76
76842 , l_array_source_77
76843 , l_array_source_78
76844 , l_array_source_79
76845 , l_array_source_80
76846 LIMIT l_rows;
76847
76848 --
76849 IF (C_LEVEL_EVENT >= g_log_level) THEN
76850 trace
76851 (p_msg => '# rows extracted from line extract objects = '||TO_CHAR(line_cur%ROWCOUNT)
76852 ,p_level => C_LEVEL_EVENT
76853 ,p_module => l_log_module);
76854 END IF;
76855 --
76856 EXIT WHEN l_array_entity_id.count = 0;
76857
76858 XLA_AE_LINES_PKG.g_rec_lines := null;
76859
76860 --
76861 -- Bug 4458708
76862 --
76863 XLA_AE_LINES_PKG.g_LineNumber := 0;
76864 --
76865 --
76866
76867 FOR Idx IN 1..l_array_event_id.count LOOP
76868 --
76869 -- 5648433 (move l_event_id out of IF statement) set l_event_id to be used inside IF condition
76870 --
76871 l_event_id := l_array_event_id(idx); -- 5648433
76872
76873 --
76874 -- Bug 4872078 - Do nothing if the event is meant for transaction reversal
76875 --
76876
76877 IF NVL(xla_ae_header_pkg.g_rec_header_new.array_trx_acct_reversal_option
76878 (g_array_event(l_event_id).array_value_num('header_index'))
76879 ,'N'
76880 ) <> 'Y'
76881 THEN
76882 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
76883 trace
76884 (p_msg => 'Trancaction revesal option is not Y '
76885 ,p_level => C_LEVEL_STATEMENT
76886 ,p_module => l_log_module);
76887 END IF;
76888
76889 --
76890 -- set the XLA_AE_JOURNAL_ENTRY_PKG.g_global_status to C_VALID (0)
76891 --
76892 XLA_AE_JOURNAL_ENTRY_PKG.g_global_status := XLA_AE_JOURNAL_ENTRY_PKG.C_VALID;
76893 --
76894 -- set event info as cache for other routines to refer event attributes
76895 --
76896
76897 IF l_event_id <> NVL(l_previous_event_id, -1) THEN
76898 l_previous_event_id := l_event_id;
76899
76900 XLA_AE_JOURNAL_ENTRY_PKG.set_event_info
76901 (p_application_id => p_application_id
76902 ,p_primary_ledger_id => p_primary_ledger_id
76903 ,p_base_ledger_id => p_base_ledger_id
76904 ,p_target_ledger_id => p_target_ledger_id
76905 ,p_entity_id => l_array_entity_id(Idx)
76906 ,p_legal_entity_id => l_array_legal_entity_id(Idx)
76907 ,p_entity_code => l_array_entity_code(Idx)
76908 ,p_transaction_num => l_array_transaction_num(Idx)
76909 ,p_event_id => l_array_event_id(Idx)
76910 ,p_event_class_code => l_array_class_code(Idx)
76911 ,p_event_type_code => l_array_event_type(Idx)
76912 ,p_event_number => l_array_event_number(Idx)
76913 ,p_event_date => l_array_event_date(Idx)
76914 ,p_transaction_date => l_array_transaction_date(Idx)
76915 ,p_reference_num_1 => l_array_reference_num_1(Idx)
76919 ,p_reference_char_1 => l_array_reference_char_1(Idx)
76916 ,p_reference_num_2 => l_array_reference_num_2(Idx)
76917 ,p_reference_num_3 => l_array_reference_num_3(Idx)
76918 ,p_reference_num_4 => l_array_reference_num_4(Idx)
76920 ,p_reference_char_2 => l_array_reference_char_2(Idx)
76921 ,p_reference_char_3 => l_array_reference_char_3(Idx)
76922 ,p_reference_char_4 => l_array_reference_char_4(Idx)
76923 ,p_reference_date_1 => l_array_reference_date_1(Idx)
76924 ,p_reference_date_2 => l_array_reference_date_2(Idx)
76925 ,p_reference_date_3 => l_array_reference_date_3(Idx)
76926 ,p_reference_date_4 => l_array_reference_date_4(Idx)
76927 ,p_event_created_by => l_array_event_created_by(Idx)
76928 ,p_budgetary_control_flag => l_array_budgetary_control_flag(Idx));
76929 --
76930 END IF;
76931
76932
76933
76934 --
76935 xla_ae_lines_pkg.SetExtractLine(p_extract_line => l_array_extract_line_num(Idx));
76936
76937 l_acct_reversal_source := SUBSTR(l_array_source_19(Idx), 1,30);
76938
76939 IF l_continue_with_lines THEN
76940 IF NVL(l_acct_reversal_source, 'N') NOT IN ('N','Y','B') THEN
76941 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
76942
76943 xla_accounting_err_pkg.build_message
76944 (p_appli_s_name => 'XLA'
76945 ,p_msg_name => 'XLA_AP_INVALID_REVERSAL_OPTION'
76946 ,p_token_1 => 'LINE_NUMBER'
76947 ,p_value_1 => l_array_extract_line_num(Idx)
76948 ,p_token_2 => 'PRODUCT_NAME'
76949 ,p_value_2 => xla_ae_journal_entry_pkg.g_cache_event.application_name
76950 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
76951 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
76952 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id);
76953
76954 ELSIF NVL(l_acct_reversal_source, 'N') IN ('Y','B') THEN
76955 --
76956 -- following sets the accounting attributes needed to reverse
76957 -- accounting for a distributeion
76958 --
76959
76960 --
76961 -- 5217187
76962 --
76963 l_rec_rev_acct_attrs.array_acct_attr_code(1):= 'GL_DATE';
76964 l_rec_rev_acct_attrs.array_date_value(1) := XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(
76965 g_array_event(l_event_id).array_value_num('header_index'));
76966 --
76967 --
76968
76969 l_rec_rev_acct_attrs.array_acct_attr_code(2) := 'ACCOUNTING_REVERSAL_OPTION';
76970 l_rec_rev_acct_attrs.array_char_value(2) := l_array_source_19(Idx);
76971 l_rec_rev_acct_attrs.array_acct_attr_code(3) := 'DISTRIBUTION_IDENTIFIER_1';
76972 l_rec_rev_acct_attrs.array_num_value(3) := l_array_source_71(Idx);
76973 l_rec_rev_acct_attrs.array_acct_attr_code(4) := 'DISTRIBUTION_TYPE';
76974 l_rec_rev_acct_attrs.array_char_value(4) := l_array_source_21(Idx);
76975 l_rec_rev_acct_attrs.array_acct_attr_code(5) := 'ENC_UPG_CR_ACCT_CLASS';
76976 l_rec_rev_acct_attrs.array_char_value(5) := l_array_source_76(Idx);
76977 l_rec_rev_acct_attrs.array_acct_attr_code(6) := 'ENC_UPG_CR_CCID';
76978 l_rec_rev_acct_attrs.array_num_value(6) := l_array_source_31(Idx);
76979 l_rec_rev_acct_attrs.array_acct_attr_code(7) := 'ENC_UPG_CR_ENTERED_AMT';
76980 l_rec_rev_acct_attrs.array_num_value(7) := l_array_source_32(Idx);
76981 l_rec_rev_acct_attrs.array_acct_attr_code(8) := 'ENC_UPG_CR_ENTERED_CURR';
76982 l_rec_rev_acct_attrs.array_char_value(8) := g_array_event(l_event_id).array_value_char('source_33');
76983 l_rec_rev_acct_attrs.array_acct_attr_code(9) := 'ENC_UPG_CR_LEDGER_AMT';
76984 l_rec_rev_acct_attrs.array_num_value(9) := l_array_source_34(Idx);
76985 l_rec_rev_acct_attrs.array_acct_attr_code(10) := 'ENC_UPG_DR_ACCT_CLASS';
76986 l_rec_rev_acct_attrs.array_char_value(10) := l_array_source_77(Idx);
76987 l_rec_rev_acct_attrs.array_acct_attr_code(11) := 'ENC_UPG_DR_CCID';
76988 l_rec_rev_acct_attrs.array_num_value(11) := l_array_source_35(Idx);
76989 l_rec_rev_acct_attrs.array_acct_attr_code(12) := 'ENC_UPG_DR_ENTERED_AMT';
76990 l_rec_rev_acct_attrs.array_num_value(12) := l_array_source_36(Idx);
76991 l_rec_rev_acct_attrs.array_acct_attr_code(13) := 'ENC_UPG_DR_ENTERED_CURR';
76992 l_rec_rev_acct_attrs.array_char_value(13) := g_array_event(l_event_id).array_value_char('source_33');
76993 l_rec_rev_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_DR_LEDGER_AMT';
76994 l_rec_rev_acct_attrs.array_num_value(14) := l_array_source_37(Idx);
76995 l_rec_rev_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_OPTION';
76996 l_rec_rev_acct_attrs.array_char_value(15) := l_array_source_38(Idx);
76997 l_rec_rev_acct_attrs.array_acct_attr_code(16) := 'PARTY_TYPE';
76998 l_rec_rev_acct_attrs.array_char_value(16) := g_array_event(l_event_id).array_value_char('source_49');
76999 l_rec_rev_acct_attrs.array_acct_attr_code(17) := 'REVERSED_DISTRIBUTION_ID1';
77000 l_rec_rev_acct_attrs.array_num_value(17) := l_array_source_80(Idx);
77001 l_rec_rev_acct_attrs.array_acct_attr_code(18) := 'REVERSED_DISTRIBUTION_TYPE';
77002 l_rec_rev_acct_attrs.array_char_value(18) := l_array_source_21(Idx);
77003 l_rec_rev_acct_attrs.array_acct_attr_code(19) := 'TAX_LINE_REF_ID';
77004 l_rec_rev_acct_attrs.array_num_value(19) := l_array_source_52(Idx);
77008 l_rec_rev_acct_attrs.array_num_value(21) := l_array_source_54(Idx);
77005 l_rec_rev_acct_attrs.array_acct_attr_code(20) := 'TAX_REC_NREC_DIST_REF_ID';
77006 l_rec_rev_acct_attrs.array_num_value(20) := l_array_source_53(Idx);
77007 l_rec_rev_acct_attrs.array_acct_attr_code(21) := 'TAX_SUMMARY_LINE_REF_ID';
77009 l_rec_rev_acct_attrs.array_acct_attr_code(22) := 'UPG_CR_ENC_TYPE_ID';
77010 l_rec_rev_acct_attrs.array_num_value(22) := l_array_source_55(Idx);
77011 l_rec_rev_acct_attrs.array_acct_attr_code(23) := 'UPG_DR_ENC_TYPE_ID';
77012 l_rec_rev_acct_attrs.array_num_value(23) := l_array_source_56(Idx);
77013
77014
77015 xla_ae_lines_pkg.SetAcctReversalAttrs
77016 (p_event_id => l_event_id
77017 ,p_rec_acct_attrs => l_rec_rev_acct_attrs
77018 ,p_calculate_acctd_flag => l_calculate_acctd_flag
77019 ,p_calculate_g_l_flag => l_calculate_g_l_flag);
77020 END IF;
77021
77022 IF NVL(l_acct_reversal_source, 'N') IN ('N','B') THEN
77023 l_actual_flag := NULL; l_actual_gain_loss_ref := '#####';
77024
77025 --
77026 AcctLineType_50 (
77027 p_application_id => p_application_id
77028 ,p_event_id => l_event_id
77029 ,p_calculate_acctd_flag => l_calculate_acctd_flag
77030 ,p_calculate_g_l_flag => l_calculate_g_l_flag
77031 ,p_actual_flag => l_actual_flag
77032 ,p_balance_type_code => l_balance_type_code
77033 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
77034
77035 , p_source_17 => g_array_event(l_event_id).array_value_char('source_17')
77036 , p_source_17_meaning => g_array_event(l_event_id).array_value_char('source_17_meaning')
77037 , p_source_19 => l_array_source_19(Idx)
77038 , p_source_21 => l_array_source_21(Idx)
77039 , p_source_24 => g_array_event(l_event_id).array_value_num('source_24')
77040 , p_source_25 => l_array_source_25(Idx)
77041 , p_source_31 => l_array_source_31(Idx)
77042 , p_source_32 => l_array_source_32(Idx)
77043 , p_source_33 => g_array_event(l_event_id).array_value_char('source_33')
77044 , p_source_34 => l_array_source_34(Idx)
77045 , p_source_35 => l_array_source_35(Idx)
77046 , p_source_36 => l_array_source_36(Idx)
77047 , p_source_37 => l_array_source_37(Idx)
77048 , p_source_38 => l_array_source_38(Idx)
77049 , p_source_43 => l_array_source_43(Idx)
77050 , p_source_44 => l_array_source_44(Idx)
77051 , p_source_45 => l_array_source_45(Idx)
77052 , p_source_46 => l_array_source_46(Idx)
77053 , p_source_46_meaning => l_array_source_46_meaning(Idx)
77054 , p_source_49 => g_array_event(l_event_id).array_value_char('source_49')
77055 , p_source_52 => l_array_source_52(Idx)
77056 , p_source_53 => l_array_source_53(Idx)
77057 , p_source_54 => l_array_source_54(Idx)
77058 , p_source_55 => l_array_source_55(Idx)
77059 , p_source_56 => l_array_source_56(Idx)
77060 , p_source_69 => l_array_source_69(Idx)
77061 , p_source_71 => l_array_source_71(Idx)
77062 , p_source_72 => l_array_source_72(Idx)
77063 , p_source_73 => l_array_source_73(Idx)
77064 , p_source_74 => l_array_source_74(Idx)
77065 , p_source_75 => l_array_source_75(Idx)
77066 , p_source_76 => l_array_source_76(Idx)
77067 , p_source_77 => l_array_source_77(Idx)
77068 , p_source_78 => l_array_source_78(Idx)
77069 , p_source_79 => l_array_source_79(Idx)
77070 , p_source_80 => l_array_source_80(Idx)
77071 );
77072 If(l_balance_type_code = 'A') THEN
77073 l_actual_gain_loss_ref := l_gain_or_loss_ref;
77074 END IF;
77075
77076 --
77077
77078
77079 --
77080 AcctLineType_51 (
77081 p_application_id => p_application_id
77082 ,p_event_id => l_event_id
77083 ,p_calculate_acctd_flag => l_calculate_acctd_flag
77084 ,p_calculate_g_l_flag => l_calculate_g_l_flag
77085 ,p_actual_flag => l_actual_flag
77086 ,p_balance_type_code => l_balance_type_code
77087 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
77088
77089 , p_source_19 => l_array_source_19(Idx)
77090 , p_source_21 => l_array_source_21(Idx)
77091 , p_source_24 => g_array_event(l_event_id).array_value_num('source_24')
77092 , p_source_31 => l_array_source_31(Idx)
77093 , p_source_32 => l_array_source_32(Idx)
77094 , p_source_33 => g_array_event(l_event_id).array_value_char('source_33')
77095 , p_source_34 => l_array_source_34(Idx)
77096 , p_source_35 => l_array_source_35(Idx)
77097 , p_source_36 => l_array_source_36(Idx)
77098 , p_source_37 => l_array_source_37(Idx)
77099 , p_source_38 => l_array_source_38(Idx)
77100 , p_source_43 => l_array_source_43(Idx)
77101 , p_source_44 => l_array_source_44(Idx)
77102 , p_source_45 => l_array_source_45(Idx)
77103 , p_source_46 => l_array_source_46(Idx)
77104 , p_source_46_meaning => l_array_source_46_meaning(Idx)
77105 , p_source_49 => g_array_event(l_event_id).array_value_char('source_49')
77106 , p_source_52 => l_array_source_52(Idx)
77107 , p_source_53 => l_array_source_53(Idx)
77108 , p_source_54 => l_array_source_54(Idx)
77109 , p_source_55 => l_array_source_55(Idx)
77110 , p_source_56 => l_array_source_56(Idx)
77111 , p_source_58 => l_array_source_58(Idx)
77112 , p_source_60 => l_array_source_60(Idx)
77113 , p_source_61 => l_array_source_61(Idx)
77114 , p_source_62 => l_array_source_62(Idx)
77115 , p_source_64 => l_array_source_64(Idx)
77116 , p_source_69 => l_array_source_69(Idx)
77117 , p_source_71 => l_array_source_71(Idx)
77118 , p_source_76 => l_array_source_76(Idx)
77119 , p_source_77 => l_array_source_77(Idx)
77120 , p_source_78 => l_array_source_78(Idx)
77121 , p_source_79 => l_array_source_79(Idx)
77122 , p_source_80 => l_array_source_80(Idx)
77126 END IF;
77123 );
77124 If(l_balance_type_code = 'A') THEN
77125 l_actual_gain_loss_ref := l_gain_or_loss_ref;
77127
77128 --
77129
77130 -- only execute it if calculate g/l flag is yes, and primary or secondary ledger
77131 -- or secondary ledger that has different currency with primary
77132 -- or alc that is calculated by sla
77133 IF (((l_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
77134 (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'))
77135
77136 -- IF((l_calculate_g_l_flag='Y' or XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id <>
77137 -- XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id)
77138 AND (l_actual_flag = 'A')) THEN
77139 XLA_AE_LINES_PKG.CreateGainOrLossLines(
77140 p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
77141 ,p_application_id => p_application_id
77142 ,p_amb_context_code => 'DEFAULT'
77143 ,p_entity_code => xla_ae_journal_entry_pkg.g_cache_event.entity_code
77144 ,p_event_class_code => C_EVENT_CLASS_CODE
77145 ,p_event_type_code => C_EVENT_TYPE_CODE
77146
77147 ,p_gain_ccid => -1
77148 ,p_loss_ccid => -1
77149
77150 ,p_actual_flag => l_actual_flag
77151 ,p_enc_flag => null
77152 ,p_actual_g_l_ref => l_actual_gain_loss_ref
77153 ,p_enc_g_l_ref => null
77154 );
77155 END IF;
77156 END IF;
77157 END IF;
77158
77159 ELSE
77160 --
77161 -- Bug 4872078 - Do nothing if the event is meant for transaction reversal
77162 --
77163 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
77164 trace
77165 (p_msg => 'Trancaction revesal option is Y'
77166 ,p_level => C_LEVEL_STATEMENT
77167 ,p_module => l_log_module);
77168 END IF;
77169 END IF;
77170
77171 END LOOP;
77172 l_result := XLA_AE_LINES_PKG.InsertLines ;
77173 end loop;
77174 close line_cur;
77175
77176
77177 --
77178 -- insert headers into xla_ae_headers_gt table
77179 --
77180 l_result := XLA_AE_HEADER_PKG.InsertHeaders ;
77181
77182 -- insert into errors table here.
77183
77184 END LOOP;
77185
77186 --
77187 -- 4865292
77188 --
77189 -- Compare g_hdr_extract_count with event count in
77190 -- CreateHeadersAndLines.
77191 --
77192 g_hdr_extract_count := g_hdr_extract_count + header_cur%ROWCOUNT;
77193
77194 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
77195 trace (p_msg => '# rows extracted from header extract objects '
77196 || ' (running total): '
77197 || g_hdr_extract_count
77198 ,p_level => C_LEVEL_STATEMENT
77199 ,p_module => l_log_module);
77200 END IF;
77201
77202 CLOSE header_cur;
77203 --
77204
77205 --
77206 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
77207 trace
77208 (p_msg => 'END of EventClass_107'
77209 ,p_level => C_LEVEL_PROCEDURE
77210 ,p_module => l_log_module);
77211 END IF;
77212 --
77213 RETURN l_result;
77214 EXCEPTION
77215 WHEN xla_exceptions_pkg.application_exception THEN
77216
77217 IF header_cur%ISOPEN THEN CLOSE header_cur; END IF;
77218
77219
77220 IF line_cur%ISOPEN THEN CLOSE line_cur; END IF;
77221
77222 RAISE;
77223
77224 WHEN NO_DATA_FOUND THEN
77225
77226 IF header_cur%ISOPEN THEN CLOSE header_cur; END IF;
77227 IF line_cur%ISOPEN THEN CLOSE line_cur; END IF;
77228
77229 FOR header_record IN header_cur
77230 LOOP
77231 l_array_header_events(header_record.event_id) := header_record.event_id;
77232 END LOOP;
77233
77234 l_first_event_id := l_array_header_events(l_array_header_events.FIRST);
77235 l_last_event_id := l_array_header_events(l_array_header_events.LAST);
77236
77237 fnd_file.put_line(fnd_file.LOG, ' ');
77238 fnd_file.put_line(fnd_file.LOG, '***************************************************************************');
77239 fnd_file.put_line(fnd_file.LOG, 'EVENT CLASS CODE = ' || C_EVENT_CLASS_CODE );
77240 fnd_file.put_line(fnd_file.LOG, 'The following events are present in the line extract but MISSING in the header extract: ');
77241
77242 FOR line_record IN line_cur(l_first_event_id, l_last_event_id)
77243 LOOP
77244 IF (NOT l_array_header_events.EXISTS(line_record.event_id)) AND (NOT l_array_duplicate_checker.EXISTS(line_record.event_id)) THEN
77245 fnd_file.put_line(fnd_file.log, 'Event_id = ' || line_record.event_id);
77246 l_array_duplicate_checker(line_record.event_id) := line_record.event_id;
77247 END IF;
77248 END LOOP;
77249
77250 fnd_file.put_line(fnd_file.LOG, '***************************************************************************');
77251 fnd_file.put_line(fnd_file.LOG, ' ');
77252
77253
77254 xla_exceptions_pkg.raise_message
77255 (p_location => 'XLA_00200_AAD_S_000006_BC_PKG.EventClass_107');
77256
77257
77258 WHEN OTHERS THEN
77259 xla_exceptions_pkg.raise_message
77260 (p_location => 'XLA_00200_AAD_S_000006_BC_PKG.EventClass_107');
77261 END EventClass_107;
77262 --
77263
77267 -- insert_sources_108
77264 ---------------------------------------
77265 --
77266 -- PRIVATE PROCEDURE
77268 --
77269 ----------------------------------------
77270 --
77271 PROCEDURE insert_sources_108(
77272 p_target_ledger_id IN NUMBER
77273 , p_language IN VARCHAR2
77274 , p_sla_ledger_id IN NUMBER
77275 , p_pad_start_date IN DATE
77276 , p_pad_end_date IN DATE
77277 )
77278 IS
77279
77280 C_EVENT_TYPE_CODE CONSTANT VARCHAR2(30) := 'PREPAYMENTS_ALL';
77281 C_EVENT_CLASS_CODE CONSTANT VARCHAR2(30) := 'PREPAYMENTS';
77282 p_apps_owner VARCHAR2(30);
77283 l_log_module VARCHAR2(240);
77284 BEGIN
77285 IF g_log_enabled THEN
77286 l_log_module := C_DEFAULT_MODULE||'.insert_sources_108';
77287 END IF;
77288 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
77289
77290 trace
77291 (p_msg => 'BEGIN of insert_sources_108'
77292 ,p_level => C_LEVEL_PROCEDURE
77293 ,p_module => l_log_module);
77294
77295 END IF;
77296
77297 -- select APPS owner
77298 SELECT oracle_username
77299 INTO p_apps_owner
77300 FROM fnd_oracle_userid
77301 WHERE read_only_flag = 'U'
77302 ;
77303
77304 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
77305 trace
77306 (p_msg => 'p_target_ledger_id = '||p_target_ledger_id||
77307 ' - p_language = '||p_language||
77308 ' - p_sla_ledger_id = '||p_sla_ledger_id ||
77309 ' - p_pad_start_date = '||TO_CHAR(p_pad_start_date)||
77310 ' - p_pad_end_date = '||TO_CHAR(p_pad_end_date)||
77311 ' - p_apps_owner = '||TO_CHAR(p_apps_owner)
77312 ,p_level => C_LEVEL_STATEMENT
77313 ,p_module => l_log_module);
77314 END IF;
77315
77316
77317 --
77318 INSERT INTO xla_diag_sources --hdr2
77319 (
77320 event_id
77321 , ledger_id
77322 , sla_ledger_id
77323 , description_language
77324 , object_name
77325 , object_type_code
77326 , line_number
77327 , source_application_id
77328 , source_type_code
77329 , source_code
77330 , source_value
77331 , source_meaning
77332 , created_by
77333 , creation_date
77334 , last_update_date
77335 , last_updated_by
77336 , last_update_login
77337 , program_update_date
77338 , program_application_id
77339 , program_id
77340 , request_id
77341 )
77342 SELECT
77343 event_id
77344 , p_target_ledger_id
77345 , p_sla_ledger_id
77346 , p_language
77347 , object_name
77348 , object_type_code
77349 , line_number
77350 , source_application_id
77351 , source_type_code
77352 , source_code
77353 , SUBSTR(source_value ,1,1996)
77354 , SUBSTR(source_meaning ,1,200)
77355 , xla_environment_pkg.g_Usr_Id
77356 , TRUNC(SYSDATE)
77357 , TRUNC(SYSDATE)
77358 , xla_environment_pkg.g_Usr_Id
77359 , xla_environment_pkg.g_Login_Id
77360 , TRUNC(SYSDATE)
77361 , xla_environment_pkg.g_Prog_Appl_Id
77362 , xla_environment_pkg.g_Prog_Id
77363 , xla_environment_pkg.g_Req_Id
77364 FROM (
77365 SELECT xet.event_id event_id
77366 , 0 line_number
77367 , CASE r
77368 WHEN 1 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
77369 WHEN 2 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
77370 WHEN 3 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
77371 WHEN 4 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
77372 WHEN 5 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
77373 WHEN 6 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
77374 WHEN 7 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
77375 WHEN 8 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
77376 WHEN 9 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
77377 WHEN 10 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
77378 WHEN 11 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
77379 WHEN 12 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
77380 WHEN 13 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
77381 WHEN 14 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
77382 WHEN 15 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
77383 WHEN 16 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
77384
77385 ELSE null
77386 END object_name
77387 , CASE r
77388 WHEN 1 THEN 'HEADER'
77389 WHEN 2 THEN 'HEADER'
77390 WHEN 3 THEN 'HEADER'
77391 WHEN 4 THEN 'HEADER'
77392 WHEN 5 THEN 'HEADER'
77393 WHEN 6 THEN 'HEADER'
77394 WHEN 7 THEN 'HEADER'
77395 WHEN 8 THEN 'HEADER'
77396 WHEN 9 THEN 'HEADER'
77397 WHEN 10 THEN 'HEADER'
77398 WHEN 11 THEN 'HEADER'
77399 WHEN 12 THEN 'HEADER'
77403 WHEN 16 THEN 'HEADER'
77400 WHEN 13 THEN 'HEADER'
77401 WHEN 14 THEN 'HEADER'
77402 WHEN 15 THEN 'HEADER'
77404
77405 ELSE null
77406 END object_type_code
77407 , CASE r
77408 WHEN 1 THEN '200'
77409 WHEN 2 THEN '200'
77410 WHEN 3 THEN '200'
77411 WHEN 4 THEN '200'
77412 WHEN 5 THEN '200'
77413 WHEN 6 THEN '200'
77414 WHEN 7 THEN '200'
77415 WHEN 8 THEN '200'
77416 WHEN 9 THEN '200'
77417 WHEN 10 THEN '200'
77418 WHEN 11 THEN '200'
77419 WHEN 12 THEN '200'
77420 WHEN 13 THEN '200'
77421 WHEN 14 THEN '200'
77422 WHEN 15 THEN '200'
77423 WHEN 16 THEN '200'
77424
77425 ELSE null
77426 END source_application_id
77427 , 'S' source_type_code
77428 , CASE r
77429 WHEN 1 THEN 'ASP_RATE_VAR_GAIN_CCID'
77430 WHEN 2 THEN 'ASP_AUTOMATIC_OFFSETS_VALUE'
77431 WHEN 3 THEN 'ASP_RATE_VAR_LOSS_CCID'
77432 WHEN 4 THEN 'ASP_AUTO_OFFSET_FLAG'
77433 WHEN 5 THEN 'FSP_PURCH_ENCUMBRANCE_FLAG'
77434 WHEN 6 THEN 'AI_INVOICE_ID'
77435 WHEN 7 THEN 'AI_INVOICE_CURRENCY_CODE'
77436 WHEN 8 THEN 'INV_EXCHANGE_DATE'
77437 WHEN 9 THEN 'INV_EXCHANGE_RATE'
77438 WHEN 10 THEN 'INV_EXCHANGE_RATE_TYPE'
77439 WHEN 11 THEN 'AI_VENDOR_ID'
77440 WHEN 12 THEN 'AI_VENDOR_SITE_ID'
77441 WHEN 13 THEN 'THIRD_PARTY_TYPE'
77442 WHEN 14 THEN 'INV_DOC_SEQUENCE_CATEGORY'
77443 WHEN 15 THEN 'INV_DOC_SEQUENCE_IDENTIFIER'
77444 WHEN 16 THEN 'INV_DOC_SEQUENCE_VALUE'
77445
77446 ELSE null
77447 END source_code
77448 , CASE r
77449 WHEN 1 THEN TO_CHAR(h3.ASP_RATE_VAR_GAIN_CCID)
77450 WHEN 2 THEN TO_CHAR(h3.ASP_AUTOMATIC_OFFSETS_VALUE)
77451 WHEN 3 THEN TO_CHAR(h3.ASP_RATE_VAR_LOSS_CCID)
77452 WHEN 4 THEN TO_CHAR(h3.ASP_AUTO_OFFSET_FLAG)
77453 WHEN 5 THEN TO_CHAR(h3.FSP_PURCH_ENCUMBRANCE_FLAG)
77454 WHEN 6 THEN TO_CHAR(h2.AI_INVOICE_ID)
77455 WHEN 7 THEN TO_CHAR(h2.AI_INVOICE_CURRENCY_CODE)
77456 WHEN 8 THEN TO_CHAR(h2.INV_EXCHANGE_DATE)
77457 WHEN 9 THEN TO_CHAR(h2.INV_EXCHANGE_RATE)
77458 WHEN 10 THEN TO_CHAR(h2.INV_EXCHANGE_RATE_TYPE)
77459 WHEN 11 THEN TO_CHAR(h2.AI_VENDOR_ID)
77460 WHEN 12 THEN TO_CHAR(h2.AI_VENDOR_SITE_ID)
77461 WHEN 13 THEN TO_CHAR(h2.THIRD_PARTY_TYPE)
77462 WHEN 14 THEN TO_CHAR(h2.INV_DOC_SEQUENCE_CATEGORY)
77463 WHEN 15 THEN TO_CHAR(h2.INV_DOC_SEQUENCE_IDENTIFIER)
77464 WHEN 16 THEN TO_CHAR(h2.INV_DOC_SEQUENCE_VALUE)
77465
77466 ELSE null
77467 END source_value
77468 , CASE r
77469 WHEN 2 THEN fvl7.meaning
77470 WHEN 4 THEN fvl12.meaning
77471 WHEN 5 THEN fvl17.meaning
77472
77473 ELSE null
77474 END source_meaning
77475 FROM xla_events_gt xet
77476 , AP_INVOICE_EXTRACT_HEADER_V h2
77477 , AP_SYSTEM_PARAMETERS_EXTRACT_V h3
77478 , fnd_lookup_values fvl7
77479 , fnd_lookup_values fvl12
77480 , fnd_lookup_values fvl17
77481 ,(select rownum r from all_objects where rownum <= 16 and owner = p_apps_owner)
77482 WHERE xet.event_date between p_pad_start_date AND p_pad_end_date
77483 AND xet.event_class_code = C_EVENT_CLASS_CODE
77484 AND h2.event_id = xet.event_id
77485 AND h3.asp_org_id = h2.ai_org_id AND fvl7.lookup_type(+) = 'LIABILITY FLEXBUILD METHOD'
77486 AND fvl7.lookup_code(+) = h3.ASP_AUTOMATIC_OFFSETS_VALUE
77487 AND fvl7.view_application_id(+) = 200
77488 AND fvl7.language(+) = USERENV('LANG')
77489 AND fvl12.lookup_type(+) = 'YES_NO'
77490 AND fvl12.lookup_code(+) = h3.ASP_AUTO_OFFSET_FLAG
77491 AND fvl12.view_application_id(+) = 0
77492 AND fvl12.language(+) = USERENV('LANG')
77493 AND fvl17.lookup_type(+) = 'YES_NO'
77494 AND fvl17.lookup_code(+) = h3.FSP_PURCH_ENCUMBRANCE_FLAG
77495 AND fvl17.view_application_id(+) = 0
77496 AND fvl17.language(+) = USERENV('LANG')
77497
77498 )
77499 ;
77500 --
77501 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
77502
77503 trace
77504 (p_msg => 'number of header sources inserted = '||SQL%ROWCOUNT
77505 ,p_level => C_LEVEL_STATEMENT
77506 ,p_module => l_log_module);
77507
77508 END IF;
77509 --
77510
77511
77512
77513 --
77514 INSERT INTO xla_diag_sources --line2
77515 (
77516 event_id
77517 , ledger_id
77518 , sla_ledger_id
77522 , line_number
77519 , description_language
77520 , object_name
77521 , object_type_code
77523 , source_application_id
77524 , source_type_code
77525 , source_code
77526 , source_value
77527 , source_meaning
77528 , created_by
77529 , creation_date
77530 , last_update_date
77531 , last_updated_by
77532 , last_update_login
77533 , program_update_date
77534 , program_application_id
77535 , program_id
77536 , request_id
77537 )
77538 SELECT event_id
77539 , p_target_ledger_id
77540 , p_sla_ledger_id
77541 , p_language
77542 , object_name
77543 , object_type_code
77544 , line_number
77545 , source_application_id
77546 , source_type_code
77547 , source_code
77548 , SUBSTR(source_value,1,1996)
77549 , SUBSTR(source_meaning ,1,200)
77550 , xla_environment_pkg.g_Usr_Id
77551 , TRUNC(SYSDATE)
77552 , TRUNC(SYSDATE)
77553 , xla_environment_pkg.g_Usr_Id
77554 , xla_environment_pkg.g_Login_Id
77555 , TRUNC(SYSDATE)
77556 , xla_environment_pkg.g_Prog_Appl_Id
77557 , xla_environment_pkg.g_Prog_Id
77558 , xla_environment_pkg.g_Req_Id
77559 FROM (
77560 SELECT xet.event_id event_id
77561 , l1.line_number line_number
77562 , CASE r
77563 WHEN 1 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
77564 WHEN 2 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
77565 WHEN 3 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
77566 WHEN 4 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
77567 WHEN 5 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
77568 WHEN 6 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
77569 WHEN 7 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
77570 WHEN 8 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
77571 WHEN 9 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
77572 WHEN 10 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
77573 WHEN 11 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
77574 WHEN 12 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
77575 WHEN 13 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
77576 WHEN 14 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
77577 WHEN 15 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
77578 WHEN 16 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
77579 WHEN 17 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
77580 WHEN 18 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
77581 WHEN 19 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
77582 WHEN 20 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
77583 WHEN 21 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
77584 WHEN 22 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
77585 WHEN 23 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
77586 WHEN 24 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
77587 WHEN 25 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
77588 WHEN 26 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
77589 WHEN 27 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
77590 WHEN 28 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
77591 WHEN 29 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
77592 WHEN 30 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
77593 WHEN 31 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
77594 WHEN 32 THEN 'ZX_AP_DEF_TAX_EXTRACT_V'
77595 WHEN 33 THEN 'ZX_AP_TAX_JRNL_LINE_DESC_V'
77596 WHEN 34 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
77597 WHEN 35 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
77598 WHEN 36 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
77599 WHEN 37 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
77600 WHEN 38 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
77601 WHEN 39 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
77602 WHEN 40 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
77603 WHEN 41 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
77604 WHEN 42 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
77605 WHEN 43 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
77606 WHEN 44 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
77607 WHEN 45 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
77608 WHEN 46 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
77609 WHEN 47 THEN 'AP_EXTRACT_INVOICE_DTLS_BC_V'
77610
77611 ELSE null
77612 END object_name
77613 , CASE r
77614 WHEN 1 THEN 'LINE'
77615 WHEN 2 THEN 'LINE'
77616 WHEN 3 THEN 'LINE'
77617 WHEN 4 THEN 'LINE'
77618 WHEN 5 THEN 'LINE'
77619 WHEN 6 THEN 'LINE'
77620 WHEN 7 THEN 'LINE'
77621 WHEN 8 THEN 'LINE'
77622 WHEN 9 THEN 'LINE'
77623 WHEN 10 THEN 'LINE'
77624 WHEN 11 THEN 'LINE'
77625 WHEN 12 THEN 'LINE'
77626 WHEN 13 THEN 'LINE'
77627 WHEN 14 THEN 'LINE'
77628 WHEN 15 THEN 'LINE'
77629 WHEN 16 THEN 'LINE'
77630 WHEN 17 THEN 'LINE'
77631 WHEN 18 THEN 'LINE'
77632 WHEN 19 THEN 'LINE'
77633 WHEN 20 THEN 'LINE'
77637 WHEN 24 THEN 'LINE'
77634 WHEN 21 THEN 'LINE'
77635 WHEN 22 THEN 'LINE'
77636 WHEN 23 THEN 'LINE'
77638 WHEN 25 THEN 'LINE'
77639 WHEN 26 THEN 'LINE'
77640 WHEN 27 THEN 'LINE'
77641 WHEN 28 THEN 'LINE'
77642 WHEN 29 THEN 'LINE'
77643 WHEN 30 THEN 'LINE'
77644 WHEN 31 THEN 'LINE'
77645 WHEN 32 THEN 'LINE'
77646 WHEN 33 THEN 'LINE'
77647 WHEN 34 THEN 'LINE'
77648 WHEN 35 THEN 'LINE'
77649 WHEN 36 THEN 'LINE'
77650 WHEN 37 THEN 'LINE'
77651 WHEN 38 THEN 'LINE'
77652 WHEN 39 THEN 'LINE'
77653 WHEN 40 THEN 'LINE'
77654 WHEN 41 THEN 'LINE'
77655 WHEN 42 THEN 'LINE'
77656 WHEN 43 THEN 'LINE'
77657 WHEN 44 THEN 'LINE'
77658 WHEN 45 THEN 'LINE'
77659 WHEN 46 THEN 'LINE'
77660 WHEN 47 THEN 'LINE'
77661
77662 ELSE null
77663 END object_type_code
77664 , CASE r
77665 WHEN 1 THEN '200'
77666 WHEN 2 THEN '200'
77667 WHEN 3 THEN '200'
77668 WHEN 4 THEN '200'
77669 WHEN 5 THEN '200'
77670 WHEN 6 THEN '200'
77671 WHEN 7 THEN '200'
77672 WHEN 8 THEN '200'
77673 WHEN 9 THEN '200'
77674 WHEN 10 THEN '200'
77675 WHEN 11 THEN '200'
77676 WHEN 12 THEN '200'
77677 WHEN 13 THEN '200'
77678 WHEN 14 THEN '200'
77679 WHEN 15 THEN '200'
77680 WHEN 16 THEN '200'
77681 WHEN 17 THEN '200'
77682 WHEN 18 THEN '200'
77683 WHEN 19 THEN '200'
77684 WHEN 20 THEN '200'
77685 WHEN 21 THEN '200'
77686 WHEN 22 THEN '200'
77687 WHEN 23 THEN '200'
77688 WHEN 24 THEN '200'
77689 WHEN 25 THEN '200'
77690 WHEN 26 THEN '200'
77691 WHEN 27 THEN '200'
77692 WHEN 28 THEN '200'
77693 WHEN 29 THEN '200'
77694 WHEN 30 THEN '200'
77695 WHEN 31 THEN '200'
77696 WHEN 32 THEN '200'
77697 WHEN 33 THEN '200'
77698 WHEN 34 THEN '200'
77699 WHEN 35 THEN '200'
77700 WHEN 36 THEN '200'
77701 WHEN 37 THEN '200'
77702 WHEN 38 THEN '200'
77703 WHEN 39 THEN '200'
77704 WHEN 40 THEN '200'
77705 WHEN 41 THEN '200'
77706 WHEN 42 THEN '200'
77707 WHEN 43 THEN '200'
77708 WHEN 44 THEN '200'
77709 WHEN 45 THEN '200'
77710 WHEN 46 THEN '200'
77711 WHEN 47 THEN '200'
77712
77713 ELSE null
77714 END source_application_id
77715 , 'S' source_type_code
77716 , CASE r
77717 WHEN 1 THEN 'AID_DESCRIPTION'
77718 WHEN 2 THEN 'INV_DIST_BASE_AMOUNT'
77719 WHEN 3 THEN 'RELATED_INV_DIST_DEST_TYPE'
77720 WHEN 4 THEN 'AID_DIST_CCID'
77721 WHEN 5 THEN 'SELF_ASSESSED_TAX_ACCOUNT'
77722 WHEN 6 THEN 'AID_LINE_TYPE_LOOKUP_CODE'
77723 WHEN 7 THEN 'AID_AMOUNT_VARIANCE'
77724 WHEN 8 THEN 'POD_ACCRUE_ON_RECEIPT_FLAG'
77725 WHEN 9 THEN 'DIST_ACCOUNT_REVERSAL_OPTION'
77726 WHEN 10 THEN 'DISTRIBUTION_LINK_TYPE'
77727 WHEN 11 THEN 'ALLOC_TO_MAIN_DIST_ID'
77728 WHEN 12 THEN 'BUS_FLOW_AP_APP_ID'
77729 WHEN 13 THEN 'BUS_FLOW_INV_DIST_TYPE'
77730 WHEN 14 THEN 'BUS_FLOW_INV_ENTITY_CODE'
77731 WHEN 15 THEN 'BUS_FLOW_INV_DIST_ID'
77732 WHEN 16 THEN 'BUS_FLOW_INV_ID'
77733 WHEN 17 THEN 'AID_INVOICE_DIST_ID'
77734 WHEN 18 THEN 'UPG_ENC_CR_CCID'
77735 WHEN 19 THEN 'UPG_ENC_CR_AMT'
77736 WHEN 20 THEN 'UPG_ENC_CR_BASE_AMT'
77737 WHEN 21 THEN 'UPG_ENC_DR_CCID'
77738 WHEN 22 THEN 'UPG_ENC_DR_AMT'
77739 WHEN 23 THEN 'UPG_ENC_DR_BASE_AMT'
77740 WHEN 24 THEN 'UPG_AP_ENCUM_OPTION'
77741 WHEN 25 THEN 'AID_BASE_AMOUNT_VARIANCE'
77742 WHEN 26 THEN 'DEFERRED_END_DATE'
77743 WHEN 27 THEN 'DEFERRED_OPTION'
77744 WHEN 28 THEN 'DEFERRED_START_DATE'
77745 WHEN 29 THEN 'OVERRIDE_ACCTD_AMT_FLAG'
77746 WHEN 30 THEN 'AID_PARENT_REVERSAL_ID'
77747 WHEN 31 THEN 'AID_STAT_AMOUNT'
77748 WHEN 32 THEN 'TAX_LINE_ID'
77749 WHEN 33 THEN 'REC_NREC_TAX_DIST_ID'
77750 WHEN 34 THEN 'SUMMARY_TAX_LINE_ID'
77751 WHEN 35 THEN 'UPG_CR_ENC_TYPE_ID'
77755 WHEN 39 THEN 'BUS_FLOW_PO_APP_ID'
77752 WHEN 36 THEN 'UPG_DR_ENC_TYPE_ID'
77753 WHEN 37 THEN 'PO_DISTRIBUTION_ID'
77754 WHEN 38 THEN 'SELF_ASSESSED_TAX_FLAG'
77756 WHEN 40 THEN 'BUS_FLOW_PO_DIST_TYPE'
77757 WHEN 41 THEN 'BUS_FLOW_PO_ENTITY_CODE'
77758 WHEN 42 THEN 'BUS_FLOW_PO_DIST_ID'
77759 WHEN 43 THEN 'BUS_FLOW_PO_DOC_ID'
77760 WHEN 44 THEN 'ENCUMBRANCE_AMOUNT'
77761 WHEN 45 THEN 'ENCUMBRANCE_BASE_AMOUNT'
77762 WHEN 46 THEN 'AID_QUANTITY_VARIANCE'
77763 WHEN 47 THEN 'AID_BASE_QUANTITY_VARIANCE'
77764
77765 ELSE null
77766 END source_code
77767 , CASE r
77768 WHEN 1 THEN TO_CHAR(l1.AID_DESCRIPTION)
77769 WHEN 2 THEN TO_CHAR(l1.INV_DIST_BASE_AMOUNT)
77770 WHEN 3 THEN TO_CHAR(l1.RELATED_INV_DIST_DEST_TYPE)
77771 WHEN 4 THEN TO_CHAR(l1.AID_DIST_CCID)
77772 WHEN 5 THEN TO_CHAR(l1.SELF_ASSESSED_TAX_ACCOUNT)
77773 WHEN 6 THEN TO_CHAR(l1.AID_LINE_TYPE_LOOKUP_CODE)
77774 WHEN 7 THEN TO_CHAR(l1.AID_AMOUNT_VARIANCE)
77775 WHEN 8 THEN TO_CHAR(l1.POD_ACCRUE_ON_RECEIPT_FLAG)
77776 WHEN 9 THEN TO_CHAR(l1.DIST_ACCOUNT_REVERSAL_OPTION)
77777 WHEN 10 THEN TO_CHAR(l1.DISTRIBUTION_LINK_TYPE)
77778 WHEN 11 THEN TO_CHAR(l1.ALLOC_TO_MAIN_DIST_ID)
77779 WHEN 12 THEN TO_CHAR(l1.BUS_FLOW_AP_APP_ID)
77780 WHEN 13 THEN TO_CHAR(l1.BUS_FLOW_INV_DIST_TYPE)
77781 WHEN 14 THEN TO_CHAR(l1.BUS_FLOW_INV_ENTITY_CODE)
77782 WHEN 15 THEN TO_CHAR(l1.BUS_FLOW_INV_DIST_ID)
77783 WHEN 16 THEN TO_CHAR(l1.BUS_FLOW_INV_ID)
77784 WHEN 17 THEN TO_CHAR(l1.AID_INVOICE_DIST_ID)
77785 WHEN 18 THEN TO_CHAR(l1.UPG_ENC_CR_CCID)
77786 WHEN 19 THEN TO_CHAR(l1.UPG_ENC_CR_AMT)
77787 WHEN 20 THEN TO_CHAR(l1.UPG_ENC_CR_BASE_AMT)
77788 WHEN 21 THEN TO_CHAR(l1.UPG_ENC_DR_CCID)
77789 WHEN 22 THEN TO_CHAR(l1.UPG_ENC_DR_AMT)
77790 WHEN 23 THEN TO_CHAR(l1.UPG_ENC_DR_BASE_AMT)
77791 WHEN 24 THEN TO_CHAR(l1.UPG_AP_ENCUM_OPTION)
77792 WHEN 25 THEN TO_CHAR(l1.AID_BASE_AMOUNT_VARIANCE)
77793 WHEN 26 THEN TO_CHAR(l1.DEFERRED_END_DATE)
77794 WHEN 27 THEN TO_CHAR(l1.DEFERRED_OPTION)
77795 WHEN 28 THEN TO_CHAR(l1.DEFERRED_START_DATE)
77796 WHEN 29 THEN TO_CHAR(l1.OVERRIDE_ACCTD_AMT_FLAG)
77797 WHEN 30 THEN TO_CHAR(l1.AID_PARENT_REVERSAL_ID)
77798 WHEN 31 THEN TO_CHAR(l1.AID_STAT_AMOUNT)
77799 WHEN 32 THEN TO_CHAR(l4.TAX_LINE_ID)
77800 WHEN 33 THEN TO_CHAR(l5.REC_NREC_TAX_DIST_ID)
77801 WHEN 34 THEN TO_CHAR(l1.SUMMARY_TAX_LINE_ID)
77802 WHEN 35 THEN TO_CHAR(l1.UPG_CR_ENC_TYPE_ID)
77803 WHEN 36 THEN TO_CHAR(l1.UPG_DR_ENC_TYPE_ID)
77804 WHEN 37 THEN TO_CHAR(l1.PO_DISTRIBUTION_ID)
77805 WHEN 38 THEN TO_CHAR(l1.SELF_ASSESSED_TAX_FLAG)
77806 WHEN 39 THEN TO_CHAR(l1.BUS_FLOW_PO_APP_ID)
77807 WHEN 40 THEN TO_CHAR(l1.BUS_FLOW_PO_DIST_TYPE)
77808 WHEN 41 THEN TO_CHAR(l1.BUS_FLOW_PO_ENTITY_CODE)
77809 WHEN 42 THEN TO_CHAR(l1.BUS_FLOW_PO_DIST_ID)
77810 WHEN 43 THEN TO_CHAR(l1.BUS_FLOW_PO_DOC_ID)
77811 WHEN 44 THEN TO_CHAR(l1.ENCUMBRANCE_AMOUNT)
77812 WHEN 45 THEN TO_CHAR(l1.ENCUMBRANCE_BASE_AMOUNT)
77813 WHEN 46 THEN TO_CHAR(l1.AID_QUANTITY_VARIANCE)
77814 WHEN 47 THEN TO_CHAR(l1.AID_BASE_QUANTITY_VARIANCE)
77815
77816 ELSE null
77817 END source_value
77818 , CASE r
77819 WHEN 3 THEN fvl9.meaning
77820 WHEN 6 THEN fvl15.meaning
77821 WHEN 8 THEN fvl18.meaning
77822 WHEN 29 THEN fvl46.meaning
77823 WHEN 38 THEN fvl59.meaning
77824
77825 ELSE null
77826 END source_meaning
77827 FROM xla_events_gt xet
77828 , AP_EXTRACT_INVOICE_DTLS_BC_V l1
77829 , ZX_AP_DEF_TAX_EXTRACT_V l4
77830 , ZX_AP_TAX_JRNL_LINE_DESC_V l5
77831 , fnd_lookup_values fvl9
77832 , fnd_lookup_values fvl15
77833 , fnd_lookup_values fvl18
77834 , fnd_lookup_values fvl46
77835 , fnd_lookup_values fvl59
77836 , (select rownum r from all_objects where rownum <= 47 and owner = p_apps_owner)
77837 WHERE xet.event_date between p_pad_start_date AND p_pad_end_date
77838 AND xet.event_class_code = C_EVENT_CLASS_CODE
77839 AND l1.event_id = xet.event_id
77840 AND l1.zrnd_tax_dist_id = l4.rec_nrec_tax_dist_id (+) AND l1.zrnd_tax_dist_id = l5.rec_nrec_tax_dist_id (+) AND fvl9.lookup_type(+) = 'DESTINATION TYPE'
77841 AND fvl9.lookup_code(+) = l1.RELATED_INV_DIST_DEST_TYPE
77842 AND fvl9.view_application_id(+) = 201
77843 AND fvl9.language(+) = USERENV('LANG')
77844 AND fvl15.lookup_type(+) = 'INVOICE DISTRIBUTION TYPE'
77845 AND fvl15.lookup_code(+) = l1.AID_LINE_TYPE_LOOKUP_CODE
77846 AND fvl15.view_application_id(+) = 200
77850 AND fvl18.view_application_id(+) = 0
77847 AND fvl15.language(+) = USERENV('LANG')
77848 AND fvl18.lookup_type(+) = 'YES_NO'
77849 AND fvl18.lookup_code(+) = l1.POD_ACCRUE_ON_RECEIPT_FLAG
77851 AND fvl18.language(+) = USERENV('LANG')
77852 AND fvl46.lookup_type(+) = 'YES_NO'
77853 AND fvl46.lookup_code(+) = l1.OVERRIDE_ACCTD_AMT_FLAG
77854 AND fvl46.view_application_id(+) = 0
77855 AND fvl46.language(+) = USERENV('LANG')
77856 AND fvl59.lookup_type(+) = 'YES_NO'
77857 AND fvl59.lookup_code(+) = l1.SELF_ASSESSED_TAX_FLAG
77858 AND fvl59.view_application_id(+) = 0
77859 AND fvl59.language(+) = USERENV('LANG')
77860
77861 )
77862 ;
77863 --
77864 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
77865
77866 trace
77867 (p_msg => 'number of line sources inserted = '||SQL%ROWCOUNT
77868 ,p_level => C_LEVEL_STATEMENT
77869 ,p_module => l_log_module);
77870
77871 END IF;
77872
77873
77874 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
77875 trace
77876 (p_msg => 'END of insert_sources_108'
77877 ,p_level => C_LEVEL_PROCEDURE
77878 ,p_module => l_log_module);
77879 END IF;
77880 EXCEPTION
77881 WHEN xla_exceptions_pkg.application_exception THEN
77882 IF (C_LEVEL_EXCEPTION >= g_log_level) THEN
77883 trace
77884 (p_msg => 'ERROR: XLA_CMP_COMPILER_ERROR = '||sqlerrm
77885 ,p_level => C_LEVEL_EXCEPTION
77886 ,p_module => l_log_module);
77887 END IF;
77888 RAISE;
77889 WHEN OTHERS THEN
77890 IF (C_LEVEL_EXCEPTION >= g_log_level) THEN
77891 trace
77892 (p_msg => 'ERROR: XLA_CMP_COMPILER_ERROR = '||sqlerrm
77893 ,p_level => C_LEVEL_EXCEPTION
77894 ,p_module => l_log_module);
77895 END IF;
77896 xla_exceptions_pkg.raise_message
77897 (p_location => 'XLA_00200_AAD_S_000006_BC_PKG.insert_sources_108');
77898 END insert_sources_108;
77899 --
77900
77901 ---------------------------------------
77902 --
77903 -- PRIVATE FUNCTION
77904 -- EventClass_108
77905 --
77906 ----------------------------------------
77907 --
77908 FUNCTION EventClass_108
77909 (p_application_id IN NUMBER
77910 ,p_base_ledger_id IN NUMBER
77911 ,p_target_ledger_id IN NUMBER
77912 ,p_language IN VARCHAR2
77913 ,p_currency_code IN VARCHAR2
77914 ,p_sla_ledger_id IN NUMBER
77915 ,p_pad_start_date IN DATE
77916 ,p_pad_end_date IN DATE
77917 ,p_primary_ledger_id IN NUMBER)
77918 RETURN BOOLEAN IS
77919 --
77920 C_EVENT_TYPE_CODE CONSTANT VARCHAR2(30) := 'PREPAYMENTS_ALL';
77921 C_EVENT_CLASS_CODE CONSTANT VARCHAR2(30) := 'PREPAYMENTS';
77922
77923 l_calculate_acctd_flag VARCHAR2(1) :='N';
77924 l_calculate_g_l_flag VARCHAR2(1) :='N';
77925 --
77926 l_array_legal_entity_id XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
77927 l_array_entity_id XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
77928 l_array_entity_code XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
77929 l_array_transaction_num XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
77930 l_array_event_id XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
77931 l_array_class_code XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
77932 l_array_event_type XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
77933 l_array_event_number XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
77934 l_array_event_date XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
77935 l_array_transaction_date XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
77936 l_array_reference_num_1 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
77937 l_array_reference_num_2 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
77938 l_array_reference_num_3 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
77939 l_array_reference_num_4 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
77940 l_array_reference_char_1 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
77941 l_array_reference_char_2 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
77942 l_array_reference_char_3 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
77943 l_array_reference_char_4 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
77944 l_array_reference_date_1 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
77945 l_array_reference_date_2 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
77946 l_array_reference_date_3 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
77947 l_array_reference_date_4 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
77948 l_array_event_created_by XLA_AE_JOURNAL_ENTRY_PKG.t_array_V100L;
77949 l_array_budgetary_control_flag XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
77950 l_array_header_events XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num; --added
77951 l_array_duplicate_checker XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num; --added
77952
77953 l_event_id NUMBER;
77954 l_previous_event_id NUMBER;
77955 l_first_event_id NUMBER;
77956 l_last_event_id NUMBER;
77957
77958 l_rec_acct_attrs XLA_AE_HEADER_PKG.t_rec_acct_attrs;
77962 l_result BOOLEAN := TRUE;
77959 l_rec_rev_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
77960 --
77961 --
77963 l_rows NUMBER := 1000;
77964 l_event_type_name VARCHAR2(80) := 'All';
77965 l_event_class_name VARCHAR2(80) := 'Prepayments';
77966 l_description VARCHAR2(4000);
77967 l_transaction_reversal NUMBER;
77968 l_ae_header_id NUMBER;
77969 l_array_extract_line_num xla_ae_journal_entry_pkg.t_array_Num;
77970 l_log_module VARCHAR2(240);
77971 --
77972 l_acct_reversal_source VARCHAR2(30);
77973 l_trx_reversal_source VARCHAR2(30);
77974
77975 l_continue_with_lines BOOLEAN := TRUE;
77976 --
77977 l_acc_rev_gl_date_source DATE; -- 4262811
77978 --
77979 type t_array_event_id is table of number index by binary_integer;
77980
77981 l_rec_array_event t_rec_array_event;
77982 l_null_rec_array_event t_rec_array_event;
77983 l_array_ae_header_id xla_number_array_type;
77984 l_actual_flag VARCHAR2(1) := NULL;
77985 l_actual_gain_loss_ref VARCHAR2(30) := '#####';
77986 l_balance_type_code VARCHAR2(1) :=NULL;
77987 l_gain_or_loss_ref VARCHAR2(30) :=NULL;
77988
77989 --
77990 TYPE t_array_lookup_meaning IS TABLE OF fnd_lookup_values.meaning%TYPE INDEX BY BINARY_INTEGER;
77991 --
77992
77993 TYPE t_array_source_6 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_RATE_VAR_GAIN_CCID%TYPE INDEX BY BINARY_INTEGER;
77994 TYPE t_array_source_7 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_AUTOMATIC_OFFSETS_VALUE%TYPE INDEX BY BINARY_INTEGER;
77995 TYPE t_array_source_10 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_RATE_VAR_LOSS_CCID%TYPE INDEX BY BINARY_INTEGER;
77996 TYPE t_array_source_12 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_AUTO_OFFSET_FLAG%TYPE INDEX BY BINARY_INTEGER;
77997 TYPE t_array_source_17 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.FSP_PURCH_ENCUMBRANCE_FLAG%TYPE INDEX BY BINARY_INTEGER;
77998 TYPE t_array_source_24 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_INVOICE_ID%TYPE INDEX BY BINARY_INTEGER;
77999 TYPE t_array_source_33 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_INVOICE_CURRENCY_CODE%TYPE INDEX BY BINARY_INTEGER;
78000 TYPE t_array_source_39 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_EXCHANGE_DATE%TYPE INDEX BY BINARY_INTEGER;
78001 TYPE t_array_source_40 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_EXCHANGE_RATE%TYPE INDEX BY BINARY_INTEGER;
78002 TYPE t_array_source_41 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_EXCHANGE_RATE_TYPE%TYPE INDEX BY BINARY_INTEGER;
78003 TYPE t_array_source_47 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_VENDOR_ID%TYPE INDEX BY BINARY_INTEGER;
78004 TYPE t_array_source_48 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_VENDOR_SITE_ID%TYPE INDEX BY BINARY_INTEGER;
78005 TYPE t_array_source_49 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.THIRD_PARTY_TYPE%TYPE INDEX BY BINARY_INTEGER;
78006 TYPE t_array_source_122 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_DOC_SEQUENCE_CATEGORY%TYPE INDEX BY BINARY_INTEGER;
78007 TYPE t_array_source_123 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_DOC_SEQUENCE_IDENTIFIER%TYPE INDEX BY BINARY_INTEGER;
78008 TYPE t_array_source_124 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_DOC_SEQUENCE_VALUE%TYPE INDEX BY BINARY_INTEGER;
78009
78010 TYPE t_array_source_1 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.AID_DESCRIPTION%TYPE INDEX BY BINARY_INTEGER;
78011 TYPE t_array_source_8 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.INV_DIST_BASE_AMOUNT%TYPE INDEX BY BINARY_INTEGER;
78012 TYPE t_array_source_9 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.RELATED_INV_DIST_DEST_TYPE%TYPE INDEX BY BINARY_INTEGER;
78013 TYPE t_array_source_11 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.AID_DIST_CCID%TYPE INDEX BY BINARY_INTEGER;
78014 TYPE t_array_source_13 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.SELF_ASSESSED_TAX_ACCOUNT%TYPE INDEX BY BINARY_INTEGER;
78015 TYPE t_array_source_15 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.AID_LINE_TYPE_LOOKUP_CODE%TYPE INDEX BY BINARY_INTEGER;
78016 TYPE t_array_source_16 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.AID_AMOUNT_VARIANCE%TYPE INDEX BY BINARY_INTEGER;
78017 TYPE t_array_source_18 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.POD_ACCRUE_ON_RECEIPT_FLAG%TYPE INDEX BY BINARY_INTEGER;
78018 TYPE t_array_source_19 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.DIST_ACCOUNT_REVERSAL_OPTION%TYPE INDEX BY BINARY_INTEGER;
78019 TYPE t_array_source_21 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.DISTRIBUTION_LINK_TYPE%TYPE INDEX BY BINARY_INTEGER;
78020 TYPE t_array_source_23 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.ALLOC_TO_MAIN_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
78021 TYPE t_array_source_25 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.BUS_FLOW_AP_APP_ID%TYPE INDEX BY BINARY_INTEGER;
78022 TYPE t_array_source_26 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.BUS_FLOW_INV_DIST_TYPE%TYPE INDEX BY BINARY_INTEGER;
78023 TYPE t_array_source_27 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.BUS_FLOW_INV_ENTITY_CODE%TYPE INDEX BY BINARY_INTEGER;
78024 TYPE t_array_source_28 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.BUS_FLOW_INV_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
78025 TYPE t_array_source_29 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.BUS_FLOW_INV_ID%TYPE INDEX BY BINARY_INTEGER;
78026 TYPE t_array_source_30 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.AID_INVOICE_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
78027 TYPE t_array_source_31 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.UPG_ENC_CR_CCID%TYPE INDEX BY BINARY_INTEGER;
78028 TYPE t_array_source_32 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.UPG_ENC_CR_AMT%TYPE INDEX BY BINARY_INTEGER;
78029 TYPE t_array_source_34 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.UPG_ENC_CR_BASE_AMT%TYPE INDEX BY BINARY_INTEGER;
78033 TYPE t_array_source_38 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.UPG_AP_ENCUM_OPTION%TYPE INDEX BY BINARY_INTEGER;
78030 TYPE t_array_source_35 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.UPG_ENC_DR_CCID%TYPE INDEX BY BINARY_INTEGER;
78031 TYPE t_array_source_36 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.UPG_ENC_DR_AMT%TYPE INDEX BY BINARY_INTEGER;
78032 TYPE t_array_source_37 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.UPG_ENC_DR_BASE_AMT%TYPE INDEX BY BINARY_INTEGER;
78034 TYPE t_array_source_42 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.AID_BASE_AMOUNT_VARIANCE%TYPE INDEX BY BINARY_INTEGER;
78035 TYPE t_array_source_43 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.DEFERRED_END_DATE%TYPE INDEX BY BINARY_INTEGER;
78036 TYPE t_array_source_44 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.DEFERRED_OPTION%TYPE INDEX BY BINARY_INTEGER;
78037 TYPE t_array_source_45 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.DEFERRED_START_DATE%TYPE INDEX BY BINARY_INTEGER;
78038 TYPE t_array_source_46 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.OVERRIDE_ACCTD_AMT_FLAG%TYPE INDEX BY BINARY_INTEGER;
78039 TYPE t_array_source_50 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.AID_PARENT_REVERSAL_ID%TYPE INDEX BY BINARY_INTEGER;
78040 TYPE t_array_source_51 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.AID_STAT_AMOUNT%TYPE INDEX BY BINARY_INTEGER;
78041 TYPE t_array_source_52 IS TABLE OF ZX_AP_DEF_TAX_EXTRACT_V.TAX_LINE_ID%TYPE INDEX BY BINARY_INTEGER;
78042 TYPE t_array_source_53 IS TABLE OF ZX_AP_TAX_JRNL_LINE_DESC_V.REC_NREC_TAX_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
78043 TYPE t_array_source_54 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.SUMMARY_TAX_LINE_ID%TYPE INDEX BY BINARY_INTEGER;
78044 TYPE t_array_source_55 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.UPG_CR_ENC_TYPE_ID%TYPE INDEX BY BINARY_INTEGER;
78045 TYPE t_array_source_56 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.UPG_DR_ENC_TYPE_ID%TYPE INDEX BY BINARY_INTEGER;
78046 TYPE t_array_source_58 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.PO_DISTRIBUTION_ID%TYPE INDEX BY BINARY_INTEGER;
78047 TYPE t_array_source_59 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.SELF_ASSESSED_TAX_FLAG%TYPE INDEX BY BINARY_INTEGER;
78048 TYPE t_array_source_60 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.BUS_FLOW_PO_APP_ID%TYPE INDEX BY BINARY_INTEGER;
78049 TYPE t_array_source_61 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.BUS_FLOW_PO_DIST_TYPE%TYPE INDEX BY BINARY_INTEGER;
78050 TYPE t_array_source_62 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.BUS_FLOW_PO_ENTITY_CODE%TYPE INDEX BY BINARY_INTEGER;
78051 TYPE t_array_source_63 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.BUS_FLOW_PO_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
78052 TYPE t_array_source_64 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.BUS_FLOW_PO_DOC_ID%TYPE INDEX BY BINARY_INTEGER;
78053 TYPE t_array_source_65 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.ENCUMBRANCE_AMOUNT%TYPE INDEX BY BINARY_INTEGER;
78054 TYPE t_array_source_66 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.ENCUMBRANCE_BASE_AMOUNT%TYPE INDEX BY BINARY_INTEGER;
78055 TYPE t_array_source_81 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.AID_QUANTITY_VARIANCE%TYPE INDEX BY BINARY_INTEGER;
78056 TYPE t_array_source_82 IS TABLE OF AP_EXTRACT_INVOICE_DTLS_BC_V.AID_BASE_QUANTITY_VARIANCE%TYPE INDEX BY BINARY_INTEGER;
78057
78058 l_array_source_6 t_array_source_6;
78059 l_array_source_7 t_array_source_7;
78060 l_array_source_7_meaning t_array_lookup_meaning;
78061 l_array_source_10 t_array_source_10;
78062 l_array_source_12 t_array_source_12;
78063 l_array_source_12_meaning t_array_lookup_meaning;
78064 l_array_source_17 t_array_source_17;
78065 l_array_source_17_meaning t_array_lookup_meaning;
78066 l_array_source_24 t_array_source_24;
78067 l_array_source_33 t_array_source_33;
78068 l_array_source_39 t_array_source_39;
78069 l_array_source_40 t_array_source_40;
78070 l_array_source_41 t_array_source_41;
78071 l_array_source_47 t_array_source_47;
78072 l_array_source_48 t_array_source_48;
78073 l_array_source_49 t_array_source_49;
78074 l_array_source_122 t_array_source_122;
78075 l_array_source_123 t_array_source_123;
78076 l_array_source_124 t_array_source_124;
78077
78078 l_array_source_1 t_array_source_1;
78079 l_array_source_8 t_array_source_8;
78080 l_array_source_9 t_array_source_9;
78081 l_array_source_9_meaning t_array_lookup_meaning;
78082 l_array_source_11 t_array_source_11;
78083 l_array_source_13 t_array_source_13;
78084 l_array_source_15 t_array_source_15;
78085 l_array_source_15_meaning t_array_lookup_meaning;
78086 l_array_source_16 t_array_source_16;
78087 l_array_source_18 t_array_source_18;
78088 l_array_source_18_meaning t_array_lookup_meaning;
78089 l_array_source_19 t_array_source_19;
78090 l_array_source_21 t_array_source_21;
78091 l_array_source_23 t_array_source_23;
78092 l_array_source_25 t_array_source_25;
78093 l_array_source_26 t_array_source_26;
78094 l_array_source_27 t_array_source_27;
78095 l_array_source_28 t_array_source_28;
78096 l_array_source_29 t_array_source_29;
78097 l_array_source_30 t_array_source_30;
78098 l_array_source_31 t_array_source_31;
78099 l_array_source_32 t_array_source_32;
78100 l_array_source_34 t_array_source_34;
78101 l_array_source_35 t_array_source_35;
78102 l_array_source_36 t_array_source_36;
78103 l_array_source_37 t_array_source_37;
78104 l_array_source_38 t_array_source_38;
78105 l_array_source_42 t_array_source_42;
78106 l_array_source_43 t_array_source_43;
78107 l_array_source_44 t_array_source_44;
78111 l_array_source_50 t_array_source_50;
78108 l_array_source_45 t_array_source_45;
78109 l_array_source_46 t_array_source_46;
78110 l_array_source_46_meaning t_array_lookup_meaning;
78112 l_array_source_51 t_array_source_51;
78113 l_array_source_52 t_array_source_52;
78114 l_array_source_53 t_array_source_53;
78115 l_array_source_54 t_array_source_54;
78116 l_array_source_55 t_array_source_55;
78117 l_array_source_56 t_array_source_56;
78118 l_array_source_58 t_array_source_58;
78119 l_array_source_59 t_array_source_59;
78120 l_array_source_59_meaning t_array_lookup_meaning;
78121 l_array_source_60 t_array_source_60;
78122 l_array_source_61 t_array_source_61;
78123 l_array_source_62 t_array_source_62;
78124 l_array_source_63 t_array_source_63;
78125 l_array_source_64 t_array_source_64;
78126 l_array_source_65 t_array_source_65;
78127 l_array_source_66 t_array_source_66;
78128 l_array_source_81 t_array_source_81;
78129 l_array_source_82 t_array_source_82;
78130
78131 --
78132 CURSOR header_cur
78133 IS
78134 SELECT /*+ leading(xet) cardinality(xet,1) */
78135 -- Event Class Code: PREPAYMENTS
78136 xet.entity_id
78137 ,xet.legal_entity_id
78138 ,xet.entity_code
78139 ,xet.transaction_number
78140 ,xet.event_id
78141 ,xet.event_class_code
78142 ,xet.event_type_code
78143 ,xet.event_number
78144 ,xet.event_date
78145 ,xet.transaction_date
78146 ,xet.reference_num_1
78147 ,xet.reference_num_2
78148 ,xet.reference_num_3
78149 ,xet.reference_num_4
78150 ,xet.reference_char_1
78151 ,xet.reference_char_2
78152 ,xet.reference_char_3
78153 ,xet.reference_char_4
78154 ,xet.reference_date_1
78155 ,xet.reference_date_2
78156 ,xet.reference_date_3
78157 ,xet.reference_date_4
78158 ,xet.event_created_by
78159 ,xet.budgetary_control_flag
78160 , h3.ASP_RATE_VAR_GAIN_CCID source_6
78161 , h3.ASP_AUTOMATIC_OFFSETS_VALUE source_7
78162 , fvl7.meaning source_7_meaning
78163 , h3.ASP_RATE_VAR_LOSS_CCID source_10
78164 , h3.ASP_AUTO_OFFSET_FLAG source_12
78165 , fvl12.meaning source_12_meaning
78166 , h3.FSP_PURCH_ENCUMBRANCE_FLAG source_17
78167 , fvl17.meaning source_17_meaning
78168 , h2.AI_INVOICE_ID source_24
78169 , h2.AI_INVOICE_CURRENCY_CODE source_33
78170 , h2.INV_EXCHANGE_DATE source_39
78171 , h2.INV_EXCHANGE_RATE source_40
78172 , h2.INV_EXCHANGE_RATE_TYPE source_41
78173 , h2.AI_VENDOR_ID source_47
78174 , h2.AI_VENDOR_SITE_ID source_48
78175 , h2.THIRD_PARTY_TYPE source_49
78176 , h2.INV_DOC_SEQUENCE_CATEGORY source_122
78177 , h2.INV_DOC_SEQUENCE_IDENTIFIER source_123
78178 , h2.INV_DOC_SEQUENCE_VALUE source_124
78179 FROM xla_events_gt xet
78180 , AP_INVOICE_EXTRACT_HEADER_V h2
78181 , AP_SYSTEM_PARAMETERS_EXTRACT_V h3
78182 , fnd_lookup_values fvl7
78183 , fnd_lookup_values fvl12
78184 , fnd_lookup_values fvl17
78185 WHERE xet.event_date between p_pad_start_date and p_pad_end_date
78186 and xet.event_class_code = C_EVENT_CLASS_CODE
78187 and xet.event_status_code <> 'N' AND h2.event_id = xet.event_id
78188 AND h3.asp_org_id = h2.ai_org_id AND fvl7.lookup_type(+) = 'LIABILITY FLEXBUILD METHOD'
78189 AND fvl7.lookup_code(+) = h3.ASP_AUTOMATIC_OFFSETS_VALUE
78190 AND fvl7.view_application_id(+) = 200
78191 AND fvl7.language(+) = USERENV('LANG')
78192 AND fvl12.lookup_type(+) = 'YES_NO'
78193 AND fvl12.lookup_code(+) = h3.ASP_AUTO_OFFSET_FLAG
78194 AND fvl12.view_application_id(+) = 0
78195 AND fvl12.language(+) = USERENV('LANG')
78196 AND fvl17.lookup_type(+) = 'YES_NO'
78197 AND fvl17.lookup_code(+) = h3.FSP_PURCH_ENCUMBRANCE_FLAG
78198 AND fvl17.view_application_id(+) = 0
78199 AND fvl17.language(+) = USERENV('LANG')
78200
78201 ORDER BY event_id
78202 ;
78203
78204
78205 --
78206 CURSOR line_cur (x_first_event_id in number, x_last_event_id in number)
78207 IS
78208 SELECT /*+ leading(xet) cardinality(xet,1) */
78209 -- Event Class Code: PREPAYMENTS
78210 xet.entity_id
78211 ,xet.legal_entity_id
78212 ,xet.entity_code
78213 ,xet.transaction_number
78214 ,xet.event_id
78215 ,xet.event_class_code
78216 ,xet.event_type_code
78217 ,xet.event_number
78218 ,xet.event_date
78219 ,xet.transaction_date
78220 ,xet.reference_num_1
78221 ,xet.reference_num_2
78222 ,xet.reference_num_3
78223 ,xet.reference_num_4
78224 ,xet.reference_char_1
78225 ,xet.reference_char_2
78226 ,xet.reference_char_3
78227 ,xet.reference_char_4
78228 ,xet.reference_date_1
78229 ,xet.reference_date_2
78230 ,xet.reference_date_3
78231 ,xet.reference_date_4
78232 ,xet.event_created_by
78233 ,xet.budgetary_control_flag
78234 , l1.LINE_NUMBER
78235 , l1.AID_DESCRIPTION source_1
78236 , l1.INV_DIST_BASE_AMOUNT source_8
78237 , l1.RELATED_INV_DIST_DEST_TYPE source_9
78238 , fvl9.meaning source_9_meaning
78239 , l1.AID_DIST_CCID source_11
78240 , l1.SELF_ASSESSED_TAX_ACCOUNT source_13
78241 , l1.AID_LINE_TYPE_LOOKUP_CODE source_15
78242 , fvl15.meaning source_15_meaning
78246 , l1.DIST_ACCOUNT_REVERSAL_OPTION source_19
78243 , l1.AID_AMOUNT_VARIANCE source_16
78244 , l1.POD_ACCRUE_ON_RECEIPT_FLAG source_18
78245 , fvl18.meaning source_18_meaning
78247 , l1.DISTRIBUTION_LINK_TYPE source_21
78248 , l1.ALLOC_TO_MAIN_DIST_ID source_23
78249 , l1.BUS_FLOW_AP_APP_ID source_25
78250 , l1.BUS_FLOW_INV_DIST_TYPE source_26
78251 , l1.BUS_FLOW_INV_ENTITY_CODE source_27
78252 , l1.BUS_FLOW_INV_DIST_ID source_28
78253 , l1.BUS_FLOW_INV_ID source_29
78254 , l1.AID_INVOICE_DIST_ID source_30
78255 , l1.UPG_ENC_CR_CCID source_31
78256 , l1.UPG_ENC_CR_AMT source_32
78257 , l1.UPG_ENC_CR_BASE_AMT source_34
78258 , l1.UPG_ENC_DR_CCID source_35
78259 , l1.UPG_ENC_DR_AMT source_36
78260 , l1.UPG_ENC_DR_BASE_AMT source_37
78261 , l1.UPG_AP_ENCUM_OPTION source_38
78262 , l1.AID_BASE_AMOUNT_VARIANCE source_42
78263 , l1.DEFERRED_END_DATE source_43
78264 , l1.DEFERRED_OPTION source_44
78265 , l1.DEFERRED_START_DATE source_45
78266 , l1.OVERRIDE_ACCTD_AMT_FLAG source_46
78267 , fvl46.meaning source_46_meaning
78268 , l1.AID_PARENT_REVERSAL_ID source_50
78269 , l1.AID_STAT_AMOUNT source_51
78270 , l4.TAX_LINE_ID source_52
78271 , l5.REC_NREC_TAX_DIST_ID source_53
78272 , l1.SUMMARY_TAX_LINE_ID source_54
78273 , l1.UPG_CR_ENC_TYPE_ID source_55
78274 , l1.UPG_DR_ENC_TYPE_ID source_56
78275 , l1.PO_DISTRIBUTION_ID source_58
78276 , l1.SELF_ASSESSED_TAX_FLAG source_59
78277 , fvl59.meaning source_59_meaning
78278 , l1.BUS_FLOW_PO_APP_ID source_60
78279 , l1.BUS_FLOW_PO_DIST_TYPE source_61
78280 , l1.BUS_FLOW_PO_ENTITY_CODE source_62
78281 , l1.BUS_FLOW_PO_DIST_ID source_63
78282 , l1.BUS_FLOW_PO_DOC_ID source_64
78283 , l1.ENCUMBRANCE_AMOUNT source_65
78284 , l1.ENCUMBRANCE_BASE_AMOUNT source_66
78285 , l1.AID_QUANTITY_VARIANCE source_81
78286 , l1.AID_BASE_QUANTITY_VARIANCE source_82
78287 FROM xla_events_gt xet
78288 , AP_EXTRACT_INVOICE_DTLS_BC_V l1
78289 , ZX_AP_DEF_TAX_EXTRACT_V l4
78290 , ZX_AP_TAX_JRNL_LINE_DESC_V l5
78291 , fnd_lookup_values fvl9
78292 , fnd_lookup_values fvl15
78293 , fnd_lookup_values fvl18
78294 , fnd_lookup_values fvl46
78295 , fnd_lookup_values fvl59
78296 WHERE xet.event_id between x_first_event_id and x_last_event_id
78297 and xet.event_date between p_pad_start_date and p_pad_end_date
78298 and xet.event_class_code = C_EVENT_CLASS_CODE
78299 and xet.event_status_code <> 'N' AND l1.event_id = xet.event_id
78300 AND l1.ZRND_tax_dist_id = l4.REC_NREC_TAX_DIST_ID (+) AND l1.ZRND_tax_dist_id = l5.REC_NREC_TAX_DIST_ID (+) AND fvl9.lookup_type(+) = 'DESTINATION TYPE'
78301 AND fvl9.lookup_code(+) = l1.RELATED_INV_DIST_DEST_TYPE
78302 AND fvl9.view_application_id(+) = 201
78303 AND fvl9.language(+) = USERENV('LANG')
78304 AND fvl15.lookup_type(+) = 'INVOICE DISTRIBUTION TYPE'
78305 AND fvl15.lookup_code(+) = l1.AID_LINE_TYPE_LOOKUP_CODE
78306 AND fvl15.view_application_id(+) = 200
78307 AND fvl15.language(+) = USERENV('LANG')
78308 AND fvl18.lookup_type(+) = 'YES_NO'
78309 AND fvl18.lookup_code(+) = l1.POD_ACCRUE_ON_RECEIPT_FLAG
78310 AND fvl18.view_application_id(+) = 0
78311 AND fvl18.language(+) = USERENV('LANG')
78312 AND fvl46.lookup_type(+) = 'YES_NO'
78313 AND fvl46.lookup_code(+) = l1.OVERRIDE_ACCTD_AMT_FLAG
78314 AND fvl46.view_application_id(+) = 0
78315 AND fvl46.language(+) = USERENV('LANG')
78316 AND fvl59.lookup_type(+) = 'YES_NO'
78317 AND fvl59.lookup_code(+) = l1.SELF_ASSESSED_TAX_FLAG
78318 AND fvl59.view_application_id(+) = 0
78319 AND fvl59.language(+) = USERENV('LANG')
78320 ;
78321
78322 --
78323 BEGIN
78324 IF g_log_enabled THEN
78325 l_log_module := C_DEFAULT_MODULE||'.EventClass_108';
78326 END IF;
78327 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
78328 trace
78329 (p_msg => 'BEGIN of EventClass_108'
78330 ,p_level => C_LEVEL_PROCEDURE
78331 ,p_module => l_log_module);
78332 END IF;
78333
78334 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
78335 trace
78336 (p_msg => 'p_application_id = '||p_application_id||
78337 ' - p_base_ledger_id = '||p_base_ledger_id||
78338 ' - p_target_ledger_id = '||p_target_ledger_id||
78339 ' - p_language = '||p_language||
78340 ' - p_currency_code = '||p_currency_code||
78341 ' - p_sla_ledger_id = '||p_sla_ledger_id
78342 ,p_level => C_LEVEL_STATEMENT
78343 ,p_module => l_log_module);
78344 END IF;
78345 --
78346 -- initialze arrays
78347 --
78348 g_array_event.DELETE;
78349 l_rec_array_event := l_null_rec_array_event;
78350 --
78351 --------------------------------------
78352 -- 4262811 Initialze MPA Line Number
78353 --------------------------------------
78354 XLA_AE_HEADER_PKG.g_mpa_line_num := 0;
78355
78356 --
78357
78358 --
78359 OPEN header_cur;
78360 --
78361 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
78362 trace
78363 (p_msg => 'SQL - FETCH header_cur'
78364 ,p_level => C_LEVEL_STATEMENT
78365 ,p_module => l_log_module);
78366 END IF;
78370 l_array_entity_id
78367 --
78368 LOOP
78369 FETCH header_cur BULK COLLECT INTO
78371 , l_array_legal_entity_id
78372 , l_array_entity_code
78373 , l_array_transaction_num
78374 , l_array_event_id
78375 , l_array_class_code
78376 , l_array_event_type
78377 , l_array_event_number
78378 , l_array_event_date
78379 , l_array_transaction_date
78380 , l_array_reference_num_1
78381 , l_array_reference_num_2
78382 , l_array_reference_num_3
78383 , l_array_reference_num_4
78384 , l_array_reference_char_1
78385 , l_array_reference_char_2
78386 , l_array_reference_char_3
78387 , l_array_reference_char_4
78388 , l_array_reference_date_1
78389 , l_array_reference_date_2
78390 , l_array_reference_date_3
78391 , l_array_reference_date_4
78392 , l_array_event_created_by
78393 , l_array_budgetary_control_flag
78394 , l_array_source_6
78395 , l_array_source_7
78396 , l_array_source_7_meaning
78397 , l_array_source_10
78398 , l_array_source_12
78399 , l_array_source_12_meaning
78400 , l_array_source_17
78401 , l_array_source_17_meaning
78402 , l_array_source_24
78403 , l_array_source_33
78404 , l_array_source_39
78405 , l_array_source_40
78406 , l_array_source_41
78407 , l_array_source_47
78408 , l_array_source_48
78409 , l_array_source_49
78410 , l_array_source_122
78411 , l_array_source_123
78412 , l_array_source_124
78413 LIMIT l_rows;
78414 --
78415 IF (C_LEVEL_EVENT >= g_log_level) THEN
78416 trace
78417 (p_msg => '# rows extracted from header extract objects = '||TO_CHAR(header_cur%ROWCOUNT)
78418 ,p_level => C_LEVEL_EVENT
78419 ,p_module => l_log_module);
78420 END IF;
78421 --
78422 EXIT WHEN l_array_entity_id.COUNT = 0;
78423
78424 -- initialize arrays
78425 XLA_AE_HEADER_PKG.g_rec_header_new := NULL;
78426 XLA_AE_LINES_PKG.g_rec_lines := NULL;
78427
78428 --
78429 -- Bug 4458708
78430 --
78431 XLA_AE_LINES_PKG.g_LineNumber := 0;
78432
78433
78434 -- 4262811 - when creating Accrual Reversal or MPA, use g_last_hdr_idx to increment for next header id
78435 g_last_hdr_idx := l_array_event_id.LAST;
78436 --
78437 -- loop for the headers. Each iteration is for each header extract row
78438 -- fetched in header cursor
78439 --
78440 FOR hdr_idx IN l_array_event_id.FIRST .. l_array_event_id.LAST LOOP
78441
78442 --
78443 -- set event info as cache for other routines to refer event attributes
78444 --
78445 XLA_AE_JOURNAL_ENTRY_PKG.set_event_info
78446 (p_application_id => p_application_id
78447 ,p_primary_ledger_id => p_primary_ledger_id
78448 ,p_base_ledger_id => p_base_ledger_id
78449 ,p_target_ledger_id => p_target_ledger_id
78450 ,p_entity_id => l_array_entity_id(hdr_idx)
78451 ,p_legal_entity_id => l_array_legal_entity_id(hdr_idx)
78452 ,p_entity_code => l_array_entity_code(hdr_idx)
78453 ,p_transaction_num => l_array_transaction_num(hdr_idx)
78454 ,p_event_id => l_array_event_id(hdr_idx)
78455 ,p_event_class_code => l_array_class_code(hdr_idx)
78456 ,p_event_type_code => l_array_event_type(hdr_idx)
78457 ,p_event_number => l_array_event_number(hdr_idx)
78458 ,p_event_date => l_array_event_date(hdr_idx)
78459 ,p_transaction_date => l_array_transaction_date(hdr_idx)
78460 ,p_reference_num_1 => l_array_reference_num_1(hdr_idx)
78461 ,p_reference_num_2 => l_array_reference_num_2(hdr_idx)
78462 ,p_reference_num_3 => l_array_reference_num_3(hdr_idx)
78463 ,p_reference_num_4 => l_array_reference_num_4(hdr_idx)
78464 ,p_reference_char_1 => l_array_reference_char_1(hdr_idx)
78465 ,p_reference_char_2 => l_array_reference_char_2(hdr_idx)
78466 ,p_reference_char_3 => l_array_reference_char_3(hdr_idx)
78467 ,p_reference_char_4 => l_array_reference_char_4(hdr_idx)
78468 ,p_reference_date_1 => l_array_reference_date_1(hdr_idx)
78469 ,p_reference_date_2 => l_array_reference_date_2(hdr_idx)
78470 ,p_reference_date_3 => l_array_reference_date_3(hdr_idx)
78471 ,p_reference_date_4 => l_array_reference_date_4(hdr_idx)
78472 ,p_event_created_by => l_array_event_created_by(hdr_idx)
78473 ,p_budgetary_control_flag => l_array_budgetary_control_flag(hdr_idx));
78474
78475 --
78476 -- set the status of entry to C_VALID (0)
78477 --
78478 XLA_AE_JOURNAL_ENTRY_PKG.g_global_status := XLA_AE_JOURNAL_ENTRY_PKG.C_VALID;
78479
78480 --
78481 -- initialize a row for ae header
78482 --
78483 XLA_AE_HEADER_PKG.InitHeader(hdr_idx);
78484
78485 l_event_id := l_array_event_id(hdr_idx);
78486
78487 --
78488 -- storing the hdr_idx for event. May be used by line cursor.
78489 --
78490 g_array_event(l_event_id).array_value_num('header_index') := hdr_idx;
78491
78492 --
78493 -- store sources from header extract. This can be improved to
78494 -- store only those sources from header extract that may be used in lines
78495 --
78496
78497 g_array_event(l_event_id).array_value_num('source_6') := l_array_source_6(hdr_idx);
78501 g_array_event(l_event_id).array_value_char('source_12') := l_array_source_12(hdr_idx);
78498 g_array_event(l_event_id).array_value_char('source_7') := l_array_source_7(hdr_idx);
78499 g_array_event(l_event_id).array_value_char('source_7_meaning') := l_array_source_7_meaning(hdr_idx);
78500 g_array_event(l_event_id).array_value_num('source_10') := l_array_source_10(hdr_idx);
78502 g_array_event(l_event_id).array_value_char('source_12_meaning') := l_array_source_12_meaning(hdr_idx);
78503 g_array_event(l_event_id).array_value_char('source_17') := l_array_source_17(hdr_idx);
78504 g_array_event(l_event_id).array_value_char('source_17_meaning') := l_array_source_17_meaning(hdr_idx);
78505 g_array_event(l_event_id).array_value_num('source_24') := l_array_source_24(hdr_idx);
78506 g_array_event(l_event_id).array_value_char('source_33') := l_array_source_33(hdr_idx);
78507 g_array_event(l_event_id).array_value_date('source_39') := l_array_source_39(hdr_idx);
78508 g_array_event(l_event_id).array_value_num('source_40') := l_array_source_40(hdr_idx);
78509 g_array_event(l_event_id).array_value_char('source_41') := l_array_source_41(hdr_idx);
78510 g_array_event(l_event_id).array_value_num('source_47') := l_array_source_47(hdr_idx);
78511 g_array_event(l_event_id).array_value_num('source_48') := l_array_source_48(hdr_idx);
78512 g_array_event(l_event_id).array_value_char('source_49') := l_array_source_49(hdr_idx);
78513 g_array_event(l_event_id).array_value_char('source_122') := l_array_source_122(hdr_idx);
78514 g_array_event(l_event_id).array_value_num('source_123') := l_array_source_123(hdr_idx);
78515 g_array_event(l_event_id).array_value_num('source_124') := l_array_source_124(hdr_idx);
78516
78517 --
78518 -- initilaize the status of ae headers for diffrent balance types
78519 -- the status is initialised to C_NOT_CREATED (2)
78520 --
78521 --g_array_event(l_event_id).array_value_num('actual_je_status') := XLA_AE_JOURNAL_ENTRY_PKG.C_NOT_CREATED;
78522 --g_array_event(l_event_id).array_value_num('budget_je_status') := XLA_AE_JOURNAL_ENTRY_PKG.C_NOT_CREATED;
78523 --g_array_event(l_event_id).array_value_num('encumbrance_je_status') := XLA_AE_JOURNAL_ENTRY_PKG.C_NOT_CREATED;
78524
78525 --
78526 -- call api to validate and store accounting attributes for header
78527 --
78528
78529 ------------------------------------------------------------
78530 -- Accrual Reversal : to get date for Standard Source (NONE)
78531 ------------------------------------------------------------
78532 l_acc_rev_gl_date_source := NULL;
78533
78534 l_rec_acct_attrs.array_acct_attr_code(1) := 'DOC_CATEGORY_CODE';
78535 l_rec_acct_attrs.array_char_value(1) := g_array_event(l_event_id).array_value_char('source_122');
78536 l_rec_acct_attrs.array_acct_attr_code(2) := 'DOC_SEQUENCE_ID';
78537 l_rec_acct_attrs.array_num_value(2) := g_array_event(l_event_id).array_value_num('source_123');
78538 l_rec_acct_attrs.array_acct_attr_code(3) := 'DOC_SEQUENCE_VALUE';
78539 l_rec_acct_attrs.array_num_value(3) := g_array_event(l_event_id).array_value_num('source_124');
78540 l_rec_acct_attrs.array_acct_attr_code(4) := 'GL_DATE';
78541 l_rec_acct_attrs.array_date_value(4) :=
78542 xla_ae_sources_pkg.GetSystemSourceDate(
78543 p_source_code => 'XLA_EVENT_DATE'
78544 , p_source_type_code => 'Y'
78545 , p_source_application_id => 602
78546 );
78547
78548
78549 XLA_AE_HEADER_PKG.SetHdrAcctAttrs(l_rec_acct_attrs);
78550
78551 XLA_AE_HEADER_PKG.SetJeCategoryName;
78552
78553 XLA_AE_HEADER_PKG.g_rec_header_new.array_event_type_code(hdr_idx) := l_array_event_type(hdr_idx);
78554 XLA_AE_HEADER_PKG.g_rec_header_new.array_event_id(hdr_idx) := l_array_event_id(hdr_idx);
78555 XLA_AE_HEADER_PKG.g_rec_header_new.array_entity_id(hdr_idx) := l_array_entity_id(hdr_idx);
78556 XLA_AE_HEADER_PKG.g_rec_header_new.array_event_number(hdr_idx) := l_array_event_number(hdr_idx);
78557 XLA_AE_HEADER_PKG.g_rec_header_new.array_target_ledger_id(hdr_idx) := p_target_ledger_id;
78558
78559
78560 --
78561 xla_ae_header_pkg.SetHdrDescription(
78562 p_description => Description_1 (
78563 p_application_id => p_application_id
78564 )
78565 );
78566 --
78567
78568 -- No header level analytical criteria
78569
78570 --
78571 --accounting attribute enhancement, bug 3612931
78572 --
78573 l_trx_reversal_source := SUBSTR(NULL, 1,30);
78574
78575 IF NVL(l_trx_reversal_source, 'N') NOT IN ('N','Y') THEN
78576 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
78577
78578 xla_accounting_err_pkg.build_message
78579 (p_appli_s_name => 'XLA'
78580 ,p_msg_name => 'XLA_AP_INVALID_HDR_ATTR'
78581 ,p_token_1 => 'ACCT_ATTR_NAME'
78582 ,p_value_1 => xla_ae_sources_pkg.GetAccountingSourceName('TRX_ACCT_REVERSAL_OPTION')
78583 ,p_token_2 => 'PRODUCT_NAME'
78584 ,p_value_2 => xla_ae_journal_entry_pkg.g_cache_event.application_name
78585 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
78586 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
78587 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id);
78588
78589 ELSIF NVL(l_trx_reversal_source, 'N') = 'Y' THEN
78590 --
78591 -- following sets the accounting attributes needed to reverse
78592 -- accounting for a distributeion
78593 --
78594 xla_ae_lines_pkg.SetTrxReversalAttrs
78595 (p_event_id => l_event_id
78596 ,p_gl_date => XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(hdr_idx)
78597 ,p_trx_reversal_source => l_trx_reversal_source);
78598
78599 END IF;
78600
78601
78602 ----------------------------------------------------------------
78603 -- 4262811 - update the header statuses to invalid in need be
78604 ----------------------------------------------------------------
78605 --
78606 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus (p_hdr_idx => hdr_idx);
78607
78608
78609 -----------------------------------------------
78610 -- No accrual reversal for the event class/type
78611 -----------------------------------------------
78612 ----------------------------------------------------------------
78613
78614 --
78615 -- this ends the header loop iteration for one bulk fetch
78616 --
78617 END LOOP;
78618
78619 l_first_event_id := l_array_event_id(l_array_event_id.FIRST);
78620 l_last_event_id := l_array_event_id(l_array_event_id.LAST);
78621
78622 --
78623 -- insert dummy rows into lines gt table that were created due to
78624 -- transaction reversals
78625 --
78626 IF XLA_AE_LINES_PKG.g_rec_lines.array_ae_header_id.COUNT > 0 THEN
78627 l_result := XLA_AE_LINES_PKG.InsertLines;
78628 END IF;
78629
78630 --
78631 -- reset the temp_line_num for each set of events fetched from header
78632 -- cursor rather than doing it for each new event in line cursor
78633 -- Bug 3939231
78634 --
78635 xla_ae_lines_pkg.g_temp_line_num := 0;
78636
78637
78638
78639 --
78640 OPEN line_cur(x_first_event_id => l_first_event_id, x_last_event_id => l_last_event_id);
78641 --
78642 --
78643 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
78644
78645 trace
78646 (p_msg => 'SQL - FETCH line_cur'
78647 ,p_level => C_LEVEL_STATEMENT
78648 ,p_module => l_log_module);
78649
78650 END IF;
78651 --
78652 --
78653 LOOP
78654 --
78655 FETCH line_cur BULK COLLECT INTO
78656 l_array_entity_id
78657 , l_array_legal_entity_id
78658 , l_array_entity_code
78659 , l_array_transaction_num
78660 , l_array_event_id
78661 , l_array_class_code
78662 , l_array_event_type
78663 , l_array_event_number
78664 , l_array_event_date
78665 , l_array_transaction_date
78666 , l_array_reference_num_1
78667 , l_array_reference_num_2
78668 , l_array_reference_num_3
78669 , l_array_reference_num_4
78670 , l_array_reference_char_1
78671 , l_array_reference_char_2
78672 , l_array_reference_char_3
78673 , l_array_reference_char_4
78674 , l_array_reference_date_1
78675 , l_array_reference_date_2
78676 , l_array_reference_date_3
78677 , l_array_reference_date_4
78678 , l_array_event_created_by
78679 , l_array_budgetary_control_flag
78680 , l_array_extract_line_num
78681 , l_array_source_1
78682 , l_array_source_8
78683 , l_array_source_9
78684 , l_array_source_9_meaning
78685 , l_array_source_11
78686 , l_array_source_13
78687 , l_array_source_15
78688 , l_array_source_15_meaning
78689 , l_array_source_16
78690 , l_array_source_18
78691 , l_array_source_18_meaning
78692 , l_array_source_19
78693 , l_array_source_21
78694 , l_array_source_23
78695 , l_array_source_25
78696 , l_array_source_26
78697 , l_array_source_27
78698 , l_array_source_28
78699 , l_array_source_29
78700 , l_array_source_30
78701 , l_array_source_31
78702 , l_array_source_32
78703 , l_array_source_34
78704 , l_array_source_35
78705 , l_array_source_36
78706 , l_array_source_37
78707 , l_array_source_38
78708 , l_array_source_42
78709 , l_array_source_43
78710 , l_array_source_44
78711 , l_array_source_45
78712 , l_array_source_46
78713 , l_array_source_46_meaning
78714 , l_array_source_50
78715 , l_array_source_51
78716 , l_array_source_52
78717 , l_array_source_53
78718 , l_array_source_54
78719 , l_array_source_55
78720 , l_array_source_56
78721 , l_array_source_58
78722 , l_array_source_59
78723 , l_array_source_59_meaning
78724 , l_array_source_60
78725 , l_array_source_61
78726 , l_array_source_62
78727 , l_array_source_63
78728 , l_array_source_64
78732 , l_array_source_82
78729 , l_array_source_65
78730 , l_array_source_66
78731 , l_array_source_81
78733 LIMIT l_rows;
78734
78735 --
78736 IF (C_LEVEL_EVENT >= g_log_level) THEN
78737 trace
78738 (p_msg => '# rows extracted from line extract objects = '||TO_CHAR(line_cur%ROWCOUNT)
78739 ,p_level => C_LEVEL_EVENT
78740 ,p_module => l_log_module);
78741 END IF;
78742 --
78743 EXIT WHEN l_array_entity_id.count = 0;
78744
78745 XLA_AE_LINES_PKG.g_rec_lines := null;
78746
78747 --
78748 -- Bug 4458708
78749 --
78750 XLA_AE_LINES_PKG.g_LineNumber := 0;
78751 --
78752 --
78753
78754 FOR Idx IN 1..l_array_event_id.count LOOP
78755 --
78756 -- 5648433 (move l_event_id out of IF statement) set l_event_id to be used inside IF condition
78757 --
78758 l_event_id := l_array_event_id(idx); -- 5648433
78759
78760 --
78761 -- Bug 4872078 - Do nothing if the event is meant for transaction reversal
78762 --
78763
78764 IF NVL(xla_ae_header_pkg.g_rec_header_new.array_trx_acct_reversal_option
78765 (g_array_event(l_event_id).array_value_num('header_index'))
78766 ,'N'
78767 ) <> 'Y'
78768 THEN
78769 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
78770 trace
78771 (p_msg => 'Trancaction revesal option is not Y '
78772 ,p_level => C_LEVEL_STATEMENT
78773 ,p_module => l_log_module);
78774 END IF;
78775
78776 --
78777 -- set the XLA_AE_JOURNAL_ENTRY_PKG.g_global_status to C_VALID (0)
78778 --
78779 XLA_AE_JOURNAL_ENTRY_PKG.g_global_status := XLA_AE_JOURNAL_ENTRY_PKG.C_VALID;
78780 --
78781 -- set event info as cache for other routines to refer event attributes
78782 --
78783
78784 IF l_event_id <> NVL(l_previous_event_id, -1) THEN
78785 l_previous_event_id := l_event_id;
78786
78787 XLA_AE_JOURNAL_ENTRY_PKG.set_event_info
78788 (p_application_id => p_application_id
78789 ,p_primary_ledger_id => p_primary_ledger_id
78790 ,p_base_ledger_id => p_base_ledger_id
78791 ,p_target_ledger_id => p_target_ledger_id
78792 ,p_entity_id => l_array_entity_id(Idx)
78793 ,p_legal_entity_id => l_array_legal_entity_id(Idx)
78794 ,p_entity_code => l_array_entity_code(Idx)
78795 ,p_transaction_num => l_array_transaction_num(Idx)
78796 ,p_event_id => l_array_event_id(Idx)
78797 ,p_event_class_code => l_array_class_code(Idx)
78798 ,p_event_type_code => l_array_event_type(Idx)
78799 ,p_event_number => l_array_event_number(Idx)
78800 ,p_event_date => l_array_event_date(Idx)
78801 ,p_transaction_date => l_array_transaction_date(Idx)
78802 ,p_reference_num_1 => l_array_reference_num_1(Idx)
78803 ,p_reference_num_2 => l_array_reference_num_2(Idx)
78804 ,p_reference_num_3 => l_array_reference_num_3(Idx)
78805 ,p_reference_num_4 => l_array_reference_num_4(Idx)
78806 ,p_reference_char_1 => l_array_reference_char_1(Idx)
78807 ,p_reference_char_2 => l_array_reference_char_2(Idx)
78808 ,p_reference_char_3 => l_array_reference_char_3(Idx)
78809 ,p_reference_char_4 => l_array_reference_char_4(Idx)
78810 ,p_reference_date_1 => l_array_reference_date_1(Idx)
78811 ,p_reference_date_2 => l_array_reference_date_2(Idx)
78812 ,p_reference_date_3 => l_array_reference_date_3(Idx)
78813 ,p_reference_date_4 => l_array_reference_date_4(Idx)
78814 ,p_event_created_by => l_array_event_created_by(Idx)
78815 ,p_budgetary_control_flag => l_array_budgetary_control_flag(Idx));
78816 --
78817 END IF;
78818
78819
78820
78821 --
78822 xla_ae_lines_pkg.SetExtractLine(p_extract_line => l_array_extract_line_num(Idx));
78823
78824 l_acct_reversal_source := SUBSTR(l_array_source_19(Idx), 1,30);
78825
78826 IF l_continue_with_lines THEN
78827 IF NVL(l_acct_reversal_source, 'N') NOT IN ('N','Y','B') THEN
78828 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
78829
78830 xla_accounting_err_pkg.build_message
78831 (p_appli_s_name => 'XLA'
78832 ,p_msg_name => 'XLA_AP_INVALID_REVERSAL_OPTION'
78833 ,p_token_1 => 'LINE_NUMBER'
78834 ,p_value_1 => l_array_extract_line_num(Idx)
78835 ,p_token_2 => 'PRODUCT_NAME'
78836 ,p_value_2 => xla_ae_journal_entry_pkg.g_cache_event.application_name
78837 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
78838 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
78839 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id);
78840
78841 ELSIF NVL(l_acct_reversal_source, 'N') IN ('Y','B') THEN
78842 --
78843 -- following sets the accounting attributes needed to reverse
78844 -- accounting for a distributeion
78845 --
78846
78847 --
78848 -- 5217187
78849 --
78850 l_rec_rev_acct_attrs.array_acct_attr_code(1):= 'GL_DATE';
78851 l_rec_rev_acct_attrs.array_date_value(1) := XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(
78852 g_array_event(l_event_id).array_value_num('header_index'));
78853 --
78854 --
78855
78856 l_rec_rev_acct_attrs.array_acct_attr_code(2) := 'ACCOUNTING_REVERSAL_OPTION';
78857 l_rec_rev_acct_attrs.array_char_value(2) := l_array_source_19(Idx);
78861 l_rec_rev_acct_attrs.array_char_value(4) := l_array_source_21(Idx);
78858 l_rec_rev_acct_attrs.array_acct_attr_code(3) := 'DISTRIBUTION_IDENTIFIER_1';
78859 l_rec_rev_acct_attrs.array_num_value(3) := l_array_source_30(Idx);
78860 l_rec_rev_acct_attrs.array_acct_attr_code(4) := 'DISTRIBUTION_TYPE';
78862 l_rec_rev_acct_attrs.array_acct_attr_code(5) := 'ENC_UPG_CR_CCID';
78863 l_rec_rev_acct_attrs.array_num_value(5) := l_array_source_31(Idx);
78864 l_rec_rev_acct_attrs.array_acct_attr_code(6) := 'ENC_UPG_CR_ENTERED_AMT';
78865 l_rec_rev_acct_attrs.array_num_value(6) := l_array_source_32(Idx);
78866 l_rec_rev_acct_attrs.array_acct_attr_code(7) := 'ENC_UPG_CR_ENTERED_CURR';
78867 l_rec_rev_acct_attrs.array_char_value(7) := g_array_event(l_event_id).array_value_char('source_33');
78868 l_rec_rev_acct_attrs.array_acct_attr_code(8) := 'ENC_UPG_CR_LEDGER_AMT';
78869 l_rec_rev_acct_attrs.array_num_value(8) := l_array_source_34(Idx);
78870 l_rec_rev_acct_attrs.array_acct_attr_code(9) := 'ENC_UPG_DR_CCID';
78871 l_rec_rev_acct_attrs.array_num_value(9) := l_array_source_35(Idx);
78872 l_rec_rev_acct_attrs.array_acct_attr_code(10) := 'ENC_UPG_DR_ENTERED_AMT';
78873 l_rec_rev_acct_attrs.array_num_value(10) := l_array_source_36(Idx);
78874 l_rec_rev_acct_attrs.array_acct_attr_code(11) := 'ENC_UPG_DR_ENTERED_CURR';
78875 l_rec_rev_acct_attrs.array_char_value(11) := g_array_event(l_event_id).array_value_char('source_33');
78876 l_rec_rev_acct_attrs.array_acct_attr_code(12) := 'ENC_UPG_DR_LEDGER_AMT';
78877 l_rec_rev_acct_attrs.array_num_value(12) := l_array_source_37(Idx);
78878 l_rec_rev_acct_attrs.array_acct_attr_code(13) := 'ENC_UPG_OPTION';
78879 l_rec_rev_acct_attrs.array_char_value(13) := l_array_source_38(Idx);
78880 l_rec_rev_acct_attrs.array_acct_attr_code(14) := 'PARTY_TYPE';
78881 l_rec_rev_acct_attrs.array_char_value(14) := g_array_event(l_event_id).array_value_char('source_49');
78882 l_rec_rev_acct_attrs.array_acct_attr_code(15) := 'REVERSED_DISTRIBUTION_ID1';
78883 l_rec_rev_acct_attrs.array_num_value(15) := l_array_source_50(Idx);
78884 l_rec_rev_acct_attrs.array_acct_attr_code(16) := 'REVERSED_DISTRIBUTION_TYPE';
78885 l_rec_rev_acct_attrs.array_char_value(16) := l_array_source_21(Idx);
78886 l_rec_rev_acct_attrs.array_acct_attr_code(17) := 'TAX_LINE_REF_ID';
78887 l_rec_rev_acct_attrs.array_num_value(17) := l_array_source_52(Idx);
78888 l_rec_rev_acct_attrs.array_acct_attr_code(18) := 'TAX_REC_NREC_DIST_REF_ID';
78889 l_rec_rev_acct_attrs.array_num_value(18) := l_array_source_53(Idx);
78890 l_rec_rev_acct_attrs.array_acct_attr_code(19) := 'TAX_SUMMARY_LINE_REF_ID';
78891 l_rec_rev_acct_attrs.array_num_value(19) := l_array_source_54(Idx);
78892 l_rec_rev_acct_attrs.array_acct_attr_code(20) := 'UPG_CR_ENC_TYPE_ID';
78893 l_rec_rev_acct_attrs.array_num_value(20) := l_array_source_55(Idx);
78894 l_rec_rev_acct_attrs.array_acct_attr_code(21) := 'UPG_DR_ENC_TYPE_ID';
78895 l_rec_rev_acct_attrs.array_num_value(21) := l_array_source_56(Idx);
78896
78897
78898 xla_ae_lines_pkg.SetAcctReversalAttrs
78899 (p_event_id => l_event_id
78900 ,p_rec_acct_attrs => l_rec_rev_acct_attrs
78901 ,p_calculate_acctd_flag => l_calculate_acctd_flag
78902 ,p_calculate_g_l_flag => l_calculate_g_l_flag);
78903 END IF;
78904
78905 IF NVL(l_acct_reversal_source, 'N') IN ('N','B') THEN
78906 l_actual_flag := NULL; l_actual_gain_loss_ref := '#####';
78907
78908 --
78909 AcctLineType_17 (
78910 p_application_id => p_application_id
78911 ,p_event_id => l_event_id
78912 ,p_calculate_acctd_flag => l_calculate_acctd_flag
78913 ,p_calculate_g_l_flag => l_calculate_g_l_flag
78914 ,p_actual_flag => l_actual_flag
78915 ,p_balance_type_code => l_balance_type_code
78916 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
78917
78918 , p_source_1 => l_array_source_1(Idx)
78919 , p_source_11 => l_array_source_11(Idx)
78920 , p_source_15 => l_array_source_15(Idx)
78921 , p_source_15_meaning => l_array_source_15_meaning(Idx)
78922 , p_source_16 => l_array_source_16(Idx)
78923 , p_source_17 => g_array_event(l_event_id).array_value_char('source_17')
78924 , p_source_17_meaning => g_array_event(l_event_id).array_value_char('source_17_meaning')
78925 , p_source_18 => l_array_source_18(Idx)
78926 , p_source_18_meaning => l_array_source_18_meaning(Idx)
78927 , p_source_19 => l_array_source_19(Idx)
78928 , p_source_21 => l_array_source_21(Idx)
78929 , p_source_23 => l_array_source_23(Idx)
78930 , p_source_24 => g_array_event(l_event_id).array_value_num('source_24')
78931 , p_source_25 => l_array_source_25(Idx)
78932 , p_source_26 => l_array_source_26(Idx)
78933 , p_source_27 => l_array_source_27(Idx)
78934 , p_source_28 => l_array_source_28(Idx)
78935 , p_source_29 => l_array_source_29(Idx)
78936 , p_source_30 => l_array_source_30(Idx)
78937 , p_source_31 => l_array_source_31(Idx)
78938 , p_source_32 => l_array_source_32(Idx)
78939 , p_source_33 => g_array_event(l_event_id).array_value_char('source_33')
78940 , p_source_34 => l_array_source_34(Idx)
78941 , p_source_35 => l_array_source_35(Idx)
78942 , p_source_36 => l_array_source_36(Idx)
78943 , p_source_37 => l_array_source_37(Idx)
78944 , p_source_38 => l_array_source_38(Idx)
78945 , p_source_39 => g_array_event(l_event_id).array_value_date('source_39')
78946 , p_source_40 => g_array_event(l_event_id).array_value_num('source_40')
78947 , p_source_41 => g_array_event(l_event_id).array_value_char('source_41')
78948 , p_source_42 => l_array_source_42(Idx)
78949 , p_source_43 => l_array_source_43(Idx)
78950 , p_source_44 => l_array_source_44(Idx)
78951 , p_source_45 => l_array_source_45(Idx)
78952 , p_source_46 => l_array_source_46(Idx)
78953 , p_source_46_meaning => l_array_source_46_meaning(Idx)
78954 , p_source_47 => g_array_event(l_event_id).array_value_num('source_47')
78955 , p_source_48 => g_array_event(l_event_id).array_value_num('source_48')
78959 , p_source_52 => l_array_source_52(Idx)
78956 , p_source_49 => g_array_event(l_event_id).array_value_char('source_49')
78957 , p_source_50 => l_array_source_50(Idx)
78958 , p_source_51 => l_array_source_51(Idx)
78960 , p_source_53 => l_array_source_53(Idx)
78961 , p_source_54 => l_array_source_54(Idx)
78962 , p_source_55 => l_array_source_55(Idx)
78963 , p_source_56 => l_array_source_56(Idx)
78964 );
78965 If(l_balance_type_code = 'A') THEN
78966 l_actual_gain_loss_ref := l_gain_or_loss_ref;
78967 END IF;
78968
78969 --
78970
78971
78972 --
78973 AcctLineType_25 (
78974 p_application_id => p_application_id
78975 ,p_event_id => l_event_id
78976 ,p_calculate_acctd_flag => l_calculate_acctd_flag
78977 ,p_calculate_g_l_flag => l_calculate_g_l_flag
78978 ,p_actual_flag => l_actual_flag
78979 ,p_balance_type_code => l_balance_type_code
78980 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
78981
78982 , p_source_1 => l_array_source_1(Idx)
78983 , p_source_6 => g_array_event(l_event_id).array_value_num('source_6')
78984 , p_source_7 => g_array_event(l_event_id).array_value_char('source_7')
78985 , p_source_7_meaning => g_array_event(l_event_id).array_value_char('source_7_meaning')
78986 , p_source_8 => l_array_source_8(Idx)
78987 , p_source_9 => l_array_source_9(Idx)
78988 , p_source_9_meaning => l_array_source_9_meaning(Idx)
78989 , p_source_10 => g_array_event(l_event_id).array_value_num('source_10')
78990 , p_source_11 => l_array_source_11(Idx)
78991 , p_source_12 => g_array_event(l_event_id).array_value_char('source_12')
78992 , p_source_12_meaning => g_array_event(l_event_id).array_value_char('source_12_meaning')
78993 , p_source_15 => l_array_source_15(Idx)
78994 , p_source_15_meaning => l_array_source_15_meaning(Idx)
78995 , p_source_17 => g_array_event(l_event_id).array_value_char('source_17')
78996 , p_source_17_meaning => g_array_event(l_event_id).array_value_char('source_17_meaning')
78997 , p_source_19 => l_array_source_19(Idx)
78998 , p_source_21 => l_array_source_21(Idx)
78999 , p_source_23 => l_array_source_23(Idx)
79000 , p_source_24 => g_array_event(l_event_id).array_value_num('source_24')
79001 , p_source_25 => l_array_source_25(Idx)
79002 , p_source_26 => l_array_source_26(Idx)
79003 , p_source_27 => l_array_source_27(Idx)
79004 , p_source_28 => l_array_source_28(Idx)
79005 , p_source_29 => l_array_source_29(Idx)
79006 , p_source_30 => l_array_source_30(Idx)
79007 , p_source_31 => l_array_source_31(Idx)
79008 , p_source_32 => l_array_source_32(Idx)
79009 , p_source_33 => g_array_event(l_event_id).array_value_char('source_33')
79010 , p_source_34 => l_array_source_34(Idx)
79011 , p_source_35 => l_array_source_35(Idx)
79012 , p_source_36 => l_array_source_36(Idx)
79013 , p_source_37 => l_array_source_37(Idx)
79014 , p_source_38 => l_array_source_38(Idx)
79015 , p_source_39 => g_array_event(l_event_id).array_value_date('source_39')
79016 , p_source_40 => g_array_event(l_event_id).array_value_num('source_40')
79017 , p_source_41 => g_array_event(l_event_id).array_value_char('source_41')
79018 , p_source_43 => l_array_source_43(Idx)
79019 , p_source_44 => l_array_source_44(Idx)
79020 , p_source_45 => l_array_source_45(Idx)
79021 , p_source_46 => l_array_source_46(Idx)
79022 , p_source_46_meaning => l_array_source_46_meaning(Idx)
79023 , p_source_47 => g_array_event(l_event_id).array_value_num('source_47')
79024 , p_source_48 => g_array_event(l_event_id).array_value_num('source_48')
79025 , p_source_49 => g_array_event(l_event_id).array_value_char('source_49')
79026 , p_source_50 => l_array_source_50(Idx)
79027 , p_source_51 => l_array_source_51(Idx)
79028 , p_source_52 => l_array_source_52(Idx)
79029 , p_source_53 => l_array_source_53(Idx)
79030 , p_source_54 => l_array_source_54(Idx)
79031 , p_source_55 => l_array_source_55(Idx)
79032 , p_source_56 => l_array_source_56(Idx)
79033 , p_source_65 => l_array_source_65(Idx)
79034 , p_source_66 => l_array_source_66(Idx)
79035 );
79036 If(l_balance_type_code = 'A') THEN
79037 l_actual_gain_loss_ref := l_gain_or_loss_ref;
79038 END IF;
79039
79040 --
79041
79042
79043 --
79044 AcctLineType_29 (
79045 p_application_id => p_application_id
79046 ,p_event_id => l_event_id
79047 ,p_calculate_acctd_flag => l_calculate_acctd_flag
79048 ,p_calculate_g_l_flag => l_calculate_g_l_flag
79049 ,p_actual_flag => l_actual_flag
79050 ,p_balance_type_code => l_balance_type_code
79051 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
79052
79053 , p_source_1 => l_array_source_1(Idx)
79054 , p_source_11 => l_array_source_11(Idx)
79055 , p_source_15 => l_array_source_15(Idx)
79056 , p_source_15_meaning => l_array_source_15_meaning(Idx)
79057 , p_source_17 => g_array_event(l_event_id).array_value_char('source_17')
79058 , p_source_17_meaning => g_array_event(l_event_id).array_value_char('source_17_meaning')
79059 , p_source_19 => l_array_source_19(Idx)
79060 , p_source_21 => l_array_source_21(Idx)
79061 , p_source_23 => l_array_source_23(Idx)
79062 , p_source_24 => g_array_event(l_event_id).array_value_num('source_24')
79063 , p_source_25 => l_array_source_25(Idx)
79064 , p_source_26 => l_array_source_26(Idx)
79065 , p_source_27 => l_array_source_27(Idx)
79066 , p_source_28 => l_array_source_28(Idx)
79067 , p_source_29 => l_array_source_29(Idx)
79068 , p_source_30 => l_array_source_30(Idx)
79069 , p_source_31 => l_array_source_31(Idx)
79070 , p_source_32 => l_array_source_32(Idx)
79071 , p_source_33 => g_array_event(l_event_id).array_value_char('source_33')
79072 , p_source_34 => l_array_source_34(Idx)
79073 , p_source_35 => l_array_source_35(Idx)
79074 , p_source_36 => l_array_source_36(Idx)
79075 , p_source_37 => l_array_source_37(Idx)
79076 , p_source_38 => l_array_source_38(Idx)
79077 , p_source_39 => g_array_event(l_event_id).array_value_date('source_39')
79078 , p_source_40 => g_array_event(l_event_id).array_value_num('source_40')
79082 , p_source_45 => l_array_source_45(Idx)
79079 , p_source_41 => g_array_event(l_event_id).array_value_char('source_41')
79080 , p_source_43 => l_array_source_43(Idx)
79081 , p_source_44 => l_array_source_44(Idx)
79083 , p_source_46 => l_array_source_46(Idx)
79084 , p_source_46_meaning => l_array_source_46_meaning(Idx)
79085 , p_source_47 => g_array_event(l_event_id).array_value_num('source_47')
79086 , p_source_48 => g_array_event(l_event_id).array_value_num('source_48')
79087 , p_source_49 => g_array_event(l_event_id).array_value_char('source_49')
79088 , p_source_50 => l_array_source_50(Idx)
79089 , p_source_51 => l_array_source_51(Idx)
79090 , p_source_52 => l_array_source_52(Idx)
79091 , p_source_53 => l_array_source_53(Idx)
79092 , p_source_54 => l_array_source_54(Idx)
79093 , p_source_55 => l_array_source_55(Idx)
79094 , p_source_56 => l_array_source_56(Idx)
79095 , p_source_65 => l_array_source_65(Idx)
79096 , p_source_66 => l_array_source_66(Idx)
79097 );
79098 If(l_balance_type_code = 'A') THEN
79099 l_actual_gain_loss_ref := l_gain_or_loss_ref;
79100 END IF;
79101
79102 --
79103
79104
79105 --
79106 AcctLineType_36 (
79107 p_application_id => p_application_id
79108 ,p_event_id => l_event_id
79109 ,p_calculate_acctd_flag => l_calculate_acctd_flag
79110 ,p_calculate_g_l_flag => l_calculate_g_l_flag
79111 ,p_actual_flag => l_actual_flag
79112 ,p_balance_type_code => l_balance_type_code
79113 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
79114
79115 , p_source_1 => l_array_source_1(Idx)
79116 , p_source_11 => l_array_source_11(Idx)
79117 , p_source_15 => l_array_source_15(Idx)
79118 , p_source_15_meaning => l_array_source_15_meaning(Idx)
79119 , p_source_17 => g_array_event(l_event_id).array_value_char('source_17')
79120 , p_source_17_meaning => g_array_event(l_event_id).array_value_char('source_17_meaning')
79121 , p_source_19 => l_array_source_19(Idx)
79122 , p_source_21 => l_array_source_21(Idx)
79123 , p_source_23 => l_array_source_23(Idx)
79124 , p_source_24 => g_array_event(l_event_id).array_value_num('source_24')
79125 , p_source_25 => l_array_source_25(Idx)
79126 , p_source_26 => l_array_source_26(Idx)
79127 , p_source_27 => l_array_source_27(Idx)
79128 , p_source_28 => l_array_source_28(Idx)
79129 , p_source_29 => l_array_source_29(Idx)
79130 , p_source_30 => l_array_source_30(Idx)
79131 , p_source_31 => l_array_source_31(Idx)
79132 , p_source_32 => l_array_source_32(Idx)
79133 , p_source_33 => g_array_event(l_event_id).array_value_char('source_33')
79134 , p_source_34 => l_array_source_34(Idx)
79135 , p_source_35 => l_array_source_35(Idx)
79136 , p_source_36 => l_array_source_36(Idx)
79137 , p_source_37 => l_array_source_37(Idx)
79138 , p_source_38 => l_array_source_38(Idx)
79139 , p_source_39 => g_array_event(l_event_id).array_value_date('source_39')
79140 , p_source_40 => g_array_event(l_event_id).array_value_num('source_40')
79141 , p_source_41 => g_array_event(l_event_id).array_value_char('source_41')
79142 , p_source_43 => l_array_source_43(Idx)
79143 , p_source_44 => l_array_source_44(Idx)
79144 , p_source_45 => l_array_source_45(Idx)
79145 , p_source_46 => l_array_source_46(Idx)
79146 , p_source_46_meaning => l_array_source_46_meaning(Idx)
79147 , p_source_47 => g_array_event(l_event_id).array_value_num('source_47')
79148 , p_source_48 => g_array_event(l_event_id).array_value_num('source_48')
79149 , p_source_49 => g_array_event(l_event_id).array_value_char('source_49')
79150 , p_source_50 => l_array_source_50(Idx)
79151 , p_source_51 => l_array_source_51(Idx)
79152 , p_source_52 => l_array_source_52(Idx)
79153 , p_source_53 => l_array_source_53(Idx)
79154 , p_source_54 => l_array_source_54(Idx)
79155 , p_source_55 => l_array_source_55(Idx)
79156 , p_source_56 => l_array_source_56(Idx)
79157 , p_source_65 => l_array_source_65(Idx)
79158 , p_source_66 => l_array_source_66(Idx)
79159 );
79160 If(l_balance_type_code = 'A') THEN
79161 l_actual_gain_loss_ref := l_gain_or_loss_ref;
79162 END IF;
79163
79164 --
79165
79166
79167 --
79168 AcctLineType_40 (
79169 p_application_id => p_application_id
79170 ,p_event_id => l_event_id
79171 ,p_calculate_acctd_flag => l_calculate_acctd_flag
79172 ,p_calculate_g_l_flag => l_calculate_g_l_flag
79173 ,p_actual_flag => l_actual_flag
79174 ,p_balance_type_code => l_balance_type_code
79175 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
79176
79177 , p_source_1 => l_array_source_1(Idx)
79178 , p_source_11 => l_array_source_11(Idx)
79179 , p_source_15 => l_array_source_15(Idx)
79180 , p_source_15_meaning => l_array_source_15_meaning(Idx)
79181 , p_source_17 => g_array_event(l_event_id).array_value_char('source_17')
79182 , p_source_17_meaning => g_array_event(l_event_id).array_value_char('source_17_meaning')
79183 , p_source_18 => l_array_source_18(Idx)
79184 , p_source_18_meaning => l_array_source_18_meaning(Idx)
79185 , p_source_19 => l_array_source_19(Idx)
79186 , p_source_21 => l_array_source_21(Idx)
79187 , p_source_23 => l_array_source_23(Idx)
79188 , p_source_24 => g_array_event(l_event_id).array_value_num('source_24')
79189 , p_source_25 => l_array_source_25(Idx)
79190 , p_source_26 => l_array_source_26(Idx)
79191 , p_source_27 => l_array_source_27(Idx)
79192 , p_source_28 => l_array_source_28(Idx)
79193 , p_source_29 => l_array_source_29(Idx)
79194 , p_source_30 => l_array_source_30(Idx)
79195 , p_source_31 => l_array_source_31(Idx)
79196 , p_source_32 => l_array_source_32(Idx)
79197 , p_source_33 => g_array_event(l_event_id).array_value_char('source_33')
79198 , p_source_34 => l_array_source_34(Idx)
79199 , p_source_35 => l_array_source_35(Idx)
79200 , p_source_36 => l_array_source_36(Idx)
79201 , p_source_37 => l_array_source_37(Idx)
79202 , p_source_38 => l_array_source_38(Idx)
79203 , p_source_39 => g_array_event(l_event_id).array_value_date('source_39')
79204 , p_source_40 => g_array_event(l_event_id).array_value_num('source_40')
79208 , p_source_45 => l_array_source_45(Idx)
79205 , p_source_41 => g_array_event(l_event_id).array_value_char('source_41')
79206 , p_source_43 => l_array_source_43(Idx)
79207 , p_source_44 => l_array_source_44(Idx)
79209 , p_source_46 => l_array_source_46(Idx)
79210 , p_source_46_meaning => l_array_source_46_meaning(Idx)
79211 , p_source_47 => g_array_event(l_event_id).array_value_num('source_47')
79212 , p_source_48 => g_array_event(l_event_id).array_value_num('source_48')
79213 , p_source_49 => g_array_event(l_event_id).array_value_char('source_49')
79214 , p_source_50 => l_array_source_50(Idx)
79215 , p_source_51 => l_array_source_51(Idx)
79216 , p_source_52 => l_array_source_52(Idx)
79217 , p_source_53 => l_array_source_53(Idx)
79218 , p_source_54 => l_array_source_54(Idx)
79219 , p_source_55 => l_array_source_55(Idx)
79220 , p_source_56 => l_array_source_56(Idx)
79221 , p_source_65 => l_array_source_65(Idx)
79222 , p_source_66 => l_array_source_66(Idx)
79223 );
79224 If(l_balance_type_code = 'A') THEN
79225 l_actual_gain_loss_ref := l_gain_or_loss_ref;
79226 END IF;
79227
79228 --
79229
79230
79231 --
79232 AcctLineType_44 (
79233 p_application_id => p_application_id
79234 ,p_event_id => l_event_id
79235 ,p_calculate_acctd_flag => l_calculate_acctd_flag
79236 ,p_calculate_g_l_flag => l_calculate_g_l_flag
79237 ,p_actual_flag => l_actual_flag
79238 ,p_balance_type_code => l_balance_type_code
79239 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
79240
79241 , p_source_1 => l_array_source_1(Idx)
79242 , p_source_11 => l_array_source_11(Idx)
79243 , p_source_15 => l_array_source_15(Idx)
79244 , p_source_15_meaning => l_array_source_15_meaning(Idx)
79245 , p_source_17 => g_array_event(l_event_id).array_value_char('source_17')
79246 , p_source_17_meaning => g_array_event(l_event_id).array_value_char('source_17_meaning')
79247 , p_source_19 => l_array_source_19(Idx)
79248 , p_source_21 => l_array_source_21(Idx)
79249 , p_source_23 => l_array_source_23(Idx)
79250 , p_source_24 => g_array_event(l_event_id).array_value_num('source_24')
79251 , p_source_25 => l_array_source_25(Idx)
79252 , p_source_26 => l_array_source_26(Idx)
79253 , p_source_27 => l_array_source_27(Idx)
79254 , p_source_28 => l_array_source_28(Idx)
79255 , p_source_29 => l_array_source_29(Idx)
79256 , p_source_30 => l_array_source_30(Idx)
79257 , p_source_31 => l_array_source_31(Idx)
79258 , p_source_32 => l_array_source_32(Idx)
79259 , p_source_33 => g_array_event(l_event_id).array_value_char('source_33')
79260 , p_source_34 => l_array_source_34(Idx)
79261 , p_source_35 => l_array_source_35(Idx)
79262 , p_source_36 => l_array_source_36(Idx)
79263 , p_source_37 => l_array_source_37(Idx)
79264 , p_source_38 => l_array_source_38(Idx)
79265 , p_source_39 => g_array_event(l_event_id).array_value_date('source_39')
79266 , p_source_40 => g_array_event(l_event_id).array_value_num('source_40')
79267 , p_source_41 => g_array_event(l_event_id).array_value_char('source_41')
79268 , p_source_43 => l_array_source_43(Idx)
79269 , p_source_44 => l_array_source_44(Idx)
79270 , p_source_45 => l_array_source_45(Idx)
79271 , p_source_46 => l_array_source_46(Idx)
79272 , p_source_46_meaning => l_array_source_46_meaning(Idx)
79273 , p_source_47 => g_array_event(l_event_id).array_value_num('source_47')
79274 , p_source_48 => g_array_event(l_event_id).array_value_num('source_48')
79275 , p_source_49 => g_array_event(l_event_id).array_value_char('source_49')
79276 , p_source_50 => l_array_source_50(Idx)
79277 , p_source_51 => l_array_source_51(Idx)
79278 , p_source_52 => l_array_source_52(Idx)
79279 , p_source_53 => l_array_source_53(Idx)
79280 , p_source_54 => l_array_source_54(Idx)
79281 , p_source_55 => l_array_source_55(Idx)
79282 , p_source_56 => l_array_source_56(Idx)
79283 , p_source_65 => l_array_source_65(Idx)
79284 , p_source_66 => l_array_source_66(Idx)
79285 );
79286 If(l_balance_type_code = 'A') THEN
79287 l_actual_gain_loss_ref := l_gain_or_loss_ref;
79288 END IF;
79289
79290 --
79291
79292
79293 --
79294 AcctLineType_48 (
79295 p_application_id => p_application_id
79296 ,p_event_id => l_event_id
79297 ,p_calculate_acctd_flag => l_calculate_acctd_flag
79298 ,p_calculate_g_l_flag => l_calculate_g_l_flag
79299 ,p_actual_flag => l_actual_flag
79300 ,p_balance_type_code => l_balance_type_code
79301 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
79302
79303 , p_source_1 => l_array_source_1(Idx)
79304 , p_source_11 => l_array_source_11(Idx)
79305 , p_source_15 => l_array_source_15(Idx)
79306 , p_source_15_meaning => l_array_source_15_meaning(Idx)
79307 , p_source_17 => g_array_event(l_event_id).array_value_char('source_17')
79308 , p_source_17_meaning => g_array_event(l_event_id).array_value_char('source_17_meaning')
79309 , p_source_18 => l_array_source_18(Idx)
79310 , p_source_18_meaning => l_array_source_18_meaning(Idx)
79311 , p_source_19 => l_array_source_19(Idx)
79312 , p_source_21 => l_array_source_21(Idx)
79313 , p_source_23 => l_array_source_23(Idx)
79314 , p_source_24 => g_array_event(l_event_id).array_value_num('source_24')
79315 , p_source_25 => l_array_source_25(Idx)
79316 , p_source_26 => l_array_source_26(Idx)
79317 , p_source_27 => l_array_source_27(Idx)
79318 , p_source_28 => l_array_source_28(Idx)
79319 , p_source_29 => l_array_source_29(Idx)
79320 , p_source_30 => l_array_source_30(Idx)
79321 , p_source_31 => l_array_source_31(Idx)
79322 , p_source_32 => l_array_source_32(Idx)
79323 , p_source_33 => g_array_event(l_event_id).array_value_char('source_33')
79324 , p_source_34 => l_array_source_34(Idx)
79325 , p_source_35 => l_array_source_35(Idx)
79326 , p_source_36 => l_array_source_36(Idx)
79327 , p_source_37 => l_array_source_37(Idx)
79328 , p_source_38 => l_array_source_38(Idx)
79329 , p_source_39 => g_array_event(l_event_id).array_value_date('source_39')
79330 , p_source_40 => g_array_event(l_event_id).array_value_num('source_40')
79334 , p_source_45 => l_array_source_45(Idx)
79331 , p_source_41 => g_array_event(l_event_id).array_value_char('source_41')
79332 , p_source_43 => l_array_source_43(Idx)
79333 , p_source_44 => l_array_source_44(Idx)
79335 , p_source_46 => l_array_source_46(Idx)
79336 , p_source_46_meaning => l_array_source_46_meaning(Idx)
79337 , p_source_47 => g_array_event(l_event_id).array_value_num('source_47')
79338 , p_source_48 => g_array_event(l_event_id).array_value_num('source_48')
79339 , p_source_49 => g_array_event(l_event_id).array_value_char('source_49')
79340 , p_source_50 => l_array_source_50(Idx)
79341 , p_source_51 => l_array_source_51(Idx)
79342 , p_source_52 => l_array_source_52(Idx)
79343 , p_source_53 => l_array_source_53(Idx)
79344 , p_source_54 => l_array_source_54(Idx)
79345 , p_source_55 => l_array_source_55(Idx)
79346 , p_source_56 => l_array_source_56(Idx)
79347 , p_source_59 => l_array_source_59(Idx)
79348 , p_source_59_meaning => l_array_source_59_meaning(Idx)
79349 , p_source_65 => l_array_source_65(Idx)
79350 , p_source_66 => l_array_source_66(Idx)
79351 );
79352 If(l_balance_type_code = 'A') THEN
79353 l_actual_gain_loss_ref := l_gain_or_loss_ref;
79354 END IF;
79355
79356 --
79357
79358
79359 --
79360 AcctLineType_49 (
79361 p_application_id => p_application_id
79362 ,p_event_id => l_event_id
79363 ,p_calculate_acctd_flag => l_calculate_acctd_flag
79364 ,p_calculate_g_l_flag => l_calculate_g_l_flag
79365 ,p_actual_flag => l_actual_flag
79366 ,p_balance_type_code => l_balance_type_code
79367 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
79368
79369 , p_source_15 => l_array_source_15(Idx)
79370 , p_source_15_meaning => l_array_source_15_meaning(Idx)
79371 , p_source_18 => l_array_source_18(Idx)
79372 , p_source_18_meaning => l_array_source_18_meaning(Idx)
79373 , p_source_19 => l_array_source_19(Idx)
79374 , p_source_21 => l_array_source_21(Idx)
79375 , p_source_23 => l_array_source_23(Idx)
79376 , p_source_24 => g_array_event(l_event_id).array_value_num('source_24')
79377 , p_source_30 => l_array_source_30(Idx)
79378 , p_source_31 => l_array_source_31(Idx)
79379 , p_source_32 => l_array_source_32(Idx)
79380 , p_source_33 => g_array_event(l_event_id).array_value_char('source_33')
79381 , p_source_34 => l_array_source_34(Idx)
79382 , p_source_35 => l_array_source_35(Idx)
79383 , p_source_36 => l_array_source_36(Idx)
79384 , p_source_37 => l_array_source_37(Idx)
79385 , p_source_38 => l_array_source_38(Idx)
79386 , p_source_43 => l_array_source_43(Idx)
79387 , p_source_44 => l_array_source_44(Idx)
79388 , p_source_45 => l_array_source_45(Idx)
79389 , p_source_46 => l_array_source_46(Idx)
79390 , p_source_46_meaning => l_array_source_46_meaning(Idx)
79391 , p_source_49 => g_array_event(l_event_id).array_value_char('source_49')
79392 , p_source_50 => l_array_source_50(Idx)
79393 , p_source_51 => l_array_source_51(Idx)
79394 , p_source_52 => l_array_source_52(Idx)
79395 , p_source_53 => l_array_source_53(Idx)
79396 , p_source_54 => l_array_source_54(Idx)
79397 , p_source_55 => l_array_source_55(Idx)
79398 , p_source_56 => l_array_source_56(Idx)
79399 , p_source_58 => l_array_source_58(Idx)
79400 , p_source_59 => l_array_source_59(Idx)
79401 , p_source_59_meaning => l_array_source_59_meaning(Idx)
79402 , p_source_60 => l_array_source_60(Idx)
79403 , p_source_61 => l_array_source_61(Idx)
79404 , p_source_62 => l_array_source_62(Idx)
79405 , p_source_63 => l_array_source_63(Idx)
79406 , p_source_64 => l_array_source_64(Idx)
79407 , p_source_65 => l_array_source_65(Idx)
79408 , p_source_66 => l_array_source_66(Idx)
79409 );
79410 If(l_balance_type_code = 'A') THEN
79411 l_actual_gain_loss_ref := l_gain_or_loss_ref;
79412 END IF;
79413
79414 --
79415
79416
79417 --
79418 AcctLineType_52 (
79419 p_application_id => p_application_id
79420 ,p_event_id => l_event_id
79421 ,p_calculate_acctd_flag => l_calculate_acctd_flag
79422 ,p_calculate_g_l_flag => l_calculate_g_l_flag
79423 ,p_actual_flag => l_actual_flag
79424 ,p_balance_type_code => l_balance_type_code
79425 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
79426
79427 , p_source_15 => l_array_source_15(Idx)
79428 , p_source_15_meaning => l_array_source_15_meaning(Idx)
79429 , p_source_18 => l_array_source_18(Idx)
79430 , p_source_18_meaning => l_array_source_18_meaning(Idx)
79431 , p_source_19 => l_array_source_19(Idx)
79432 , p_source_21 => l_array_source_21(Idx)
79433 , p_source_23 => l_array_source_23(Idx)
79434 , p_source_24 => g_array_event(l_event_id).array_value_num('source_24')
79435 , p_source_30 => l_array_source_30(Idx)
79436 , p_source_31 => l_array_source_31(Idx)
79437 , p_source_32 => l_array_source_32(Idx)
79438 , p_source_33 => g_array_event(l_event_id).array_value_char('source_33')
79439 , p_source_34 => l_array_source_34(Idx)
79440 , p_source_35 => l_array_source_35(Idx)
79441 , p_source_36 => l_array_source_36(Idx)
79442 , p_source_37 => l_array_source_37(Idx)
79443 , p_source_38 => l_array_source_38(Idx)
79444 , p_source_43 => l_array_source_43(Idx)
79445 , p_source_44 => l_array_source_44(Idx)
79446 , p_source_45 => l_array_source_45(Idx)
79447 , p_source_46 => l_array_source_46(Idx)
79448 , p_source_46_meaning => l_array_source_46_meaning(Idx)
79449 , p_source_49 => g_array_event(l_event_id).array_value_char('source_49')
79450 , p_source_50 => l_array_source_50(Idx)
79451 , p_source_51 => l_array_source_51(Idx)
79452 , p_source_52 => l_array_source_52(Idx)
79453 , p_source_53 => l_array_source_53(Idx)
79454 , p_source_54 => l_array_source_54(Idx)
79455 , p_source_55 => l_array_source_55(Idx)
79456 , p_source_56 => l_array_source_56(Idx)
79457 , p_source_58 => l_array_source_58(Idx)
79458 , p_source_60 => l_array_source_60(Idx)
79459 , p_source_61 => l_array_source_61(Idx)
79460 , p_source_62 => l_array_source_62(Idx)
79461 , p_source_63 => l_array_source_63(Idx)
79465 );
79462 , p_source_64 => l_array_source_64(Idx)
79463 , p_source_65 => l_array_source_65(Idx)
79464 , p_source_66 => l_array_source_66(Idx)
79466 If(l_balance_type_code = 'A') THEN
79467 l_actual_gain_loss_ref := l_gain_or_loss_ref;
79468 END IF;
79469
79470 --
79471
79472
79473 --
79474 AcctLineType_56 (
79475 p_application_id => p_application_id
79476 ,p_event_id => l_event_id
79477 ,p_calculate_acctd_flag => l_calculate_acctd_flag
79478 ,p_calculate_g_l_flag => l_calculate_g_l_flag
79479 ,p_actual_flag => l_actual_flag
79480 ,p_balance_type_code => l_balance_type_code
79481 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
79482
79483 , p_source_1 => l_array_source_1(Idx)
79484 , p_source_11 => l_array_source_11(Idx)
79485 , p_source_15 => l_array_source_15(Idx)
79486 , p_source_15_meaning => l_array_source_15_meaning(Idx)
79487 , p_source_16 => l_array_source_16(Idx)
79488 , p_source_17 => g_array_event(l_event_id).array_value_char('source_17')
79489 , p_source_17_meaning => g_array_event(l_event_id).array_value_char('source_17_meaning')
79490 , p_source_18 => l_array_source_18(Idx)
79491 , p_source_18_meaning => l_array_source_18_meaning(Idx)
79492 , p_source_19 => l_array_source_19(Idx)
79493 , p_source_21 => l_array_source_21(Idx)
79494 , p_source_23 => l_array_source_23(Idx)
79495 , p_source_24 => g_array_event(l_event_id).array_value_num('source_24')
79496 , p_source_25 => l_array_source_25(Idx)
79497 , p_source_26 => l_array_source_26(Idx)
79498 , p_source_27 => l_array_source_27(Idx)
79499 , p_source_28 => l_array_source_28(Idx)
79500 , p_source_29 => l_array_source_29(Idx)
79501 , p_source_30 => l_array_source_30(Idx)
79502 , p_source_31 => l_array_source_31(Idx)
79503 , p_source_32 => l_array_source_32(Idx)
79504 , p_source_33 => g_array_event(l_event_id).array_value_char('source_33')
79505 , p_source_34 => l_array_source_34(Idx)
79506 , p_source_35 => l_array_source_35(Idx)
79507 , p_source_36 => l_array_source_36(Idx)
79508 , p_source_37 => l_array_source_37(Idx)
79509 , p_source_38 => l_array_source_38(Idx)
79510 , p_source_39 => g_array_event(l_event_id).array_value_date('source_39')
79511 , p_source_40 => g_array_event(l_event_id).array_value_num('source_40')
79512 , p_source_41 => g_array_event(l_event_id).array_value_char('source_41')
79513 , p_source_43 => l_array_source_43(Idx)
79514 , p_source_44 => l_array_source_44(Idx)
79515 , p_source_45 => l_array_source_45(Idx)
79516 , p_source_46 => l_array_source_46(Idx)
79517 , p_source_46_meaning => l_array_source_46_meaning(Idx)
79518 , p_source_47 => g_array_event(l_event_id).array_value_num('source_47')
79519 , p_source_48 => g_array_event(l_event_id).array_value_num('source_48')
79520 , p_source_49 => g_array_event(l_event_id).array_value_char('source_49')
79521 , p_source_50 => l_array_source_50(Idx)
79522 , p_source_51 => l_array_source_51(Idx)
79523 , p_source_52 => l_array_source_52(Idx)
79524 , p_source_53 => l_array_source_53(Idx)
79525 , p_source_54 => l_array_source_54(Idx)
79526 , p_source_55 => l_array_source_55(Idx)
79527 , p_source_56 => l_array_source_56(Idx)
79528 , p_source_81 => l_array_source_81(Idx)
79529 , p_source_82 => l_array_source_82(Idx)
79530 );
79531 If(l_balance_type_code = 'A') THEN
79532 l_actual_gain_loss_ref := l_gain_or_loss_ref;
79533 END IF;
79534
79535 --
79536
79537
79538 --
79539 AcctLineType_60 (
79540 p_application_id => p_application_id
79541 ,p_event_id => l_event_id
79542 ,p_calculate_acctd_flag => l_calculate_acctd_flag
79543 ,p_calculate_g_l_flag => l_calculate_g_l_flag
79544 ,p_actual_flag => l_actual_flag
79545 ,p_balance_type_code => l_balance_type_code
79546 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
79547
79548 , p_source_1 => l_array_source_1(Idx)
79549 , p_source_11 => l_array_source_11(Idx)
79550 , p_source_15 => l_array_source_15(Idx)
79551 , p_source_15_meaning => l_array_source_15_meaning(Idx)
79552 , p_source_17 => g_array_event(l_event_id).array_value_char('source_17')
79553 , p_source_17_meaning => g_array_event(l_event_id).array_value_char('source_17_meaning')
79554 , p_source_19 => l_array_source_19(Idx)
79555 , p_source_21 => l_array_source_21(Idx)
79556 , p_source_23 => l_array_source_23(Idx)
79557 , p_source_24 => g_array_event(l_event_id).array_value_num('source_24')
79558 , p_source_25 => l_array_source_25(Idx)
79559 , p_source_26 => l_array_source_26(Idx)
79560 , p_source_27 => l_array_source_27(Idx)
79561 , p_source_28 => l_array_source_28(Idx)
79562 , p_source_29 => l_array_source_29(Idx)
79563 , p_source_30 => l_array_source_30(Idx)
79564 , p_source_31 => l_array_source_31(Idx)
79565 , p_source_32 => l_array_source_32(Idx)
79566 , p_source_33 => g_array_event(l_event_id).array_value_char('source_33')
79567 , p_source_34 => l_array_source_34(Idx)
79568 , p_source_35 => l_array_source_35(Idx)
79569 , p_source_36 => l_array_source_36(Idx)
79570 , p_source_37 => l_array_source_37(Idx)
79571 , p_source_38 => l_array_source_38(Idx)
79572 , p_source_39 => g_array_event(l_event_id).array_value_date('source_39')
79573 , p_source_40 => g_array_event(l_event_id).array_value_num('source_40')
79574 , p_source_41 => g_array_event(l_event_id).array_value_char('source_41')
79575 , p_source_43 => l_array_source_43(Idx)
79576 , p_source_44 => l_array_source_44(Idx)
79577 , p_source_45 => l_array_source_45(Idx)
79578 , p_source_46 => l_array_source_46(Idx)
79579 , p_source_46_meaning => l_array_source_46_meaning(Idx)
79580 , p_source_47 => g_array_event(l_event_id).array_value_num('source_47')
79581 , p_source_48 => g_array_event(l_event_id).array_value_num('source_48')
79582 , p_source_49 => g_array_event(l_event_id).array_value_char('source_49')
79583 , p_source_50 => l_array_source_50(Idx)
79584 , p_source_51 => l_array_source_51(Idx)
79585 , p_source_52 => l_array_source_52(Idx)
79586 , p_source_53 => l_array_source_53(Idx)
79587 , p_source_54 => l_array_source_54(Idx)
79591 , p_source_59_meaning => l_array_source_59_meaning(Idx)
79588 , p_source_55 => l_array_source_55(Idx)
79589 , p_source_56 => l_array_source_56(Idx)
79590 , p_source_59 => l_array_source_59(Idx)
79592 , p_source_65 => l_array_source_65(Idx)
79593 , p_source_66 => l_array_source_66(Idx)
79594 );
79595 If(l_balance_type_code = 'A') THEN
79596 l_actual_gain_loss_ref := l_gain_or_loss_ref;
79597 END IF;
79598
79599 --
79600
79601
79602 --
79603 AcctLineType_64 (
79604 p_application_id => p_application_id
79605 ,p_event_id => l_event_id
79606 ,p_calculate_acctd_flag => l_calculate_acctd_flag
79607 ,p_calculate_g_l_flag => l_calculate_g_l_flag
79608 ,p_actual_flag => l_actual_flag
79609 ,p_balance_type_code => l_balance_type_code
79610 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
79611
79612 , p_source_1 => l_array_source_1(Idx)
79613 , p_source_13 => l_array_source_13(Idx)
79614 , p_source_15 => l_array_source_15(Idx)
79615 , p_source_15_meaning => l_array_source_15_meaning(Idx)
79616 , p_source_17 => g_array_event(l_event_id).array_value_char('source_17')
79617 , p_source_17_meaning => g_array_event(l_event_id).array_value_char('source_17_meaning')
79618 , p_source_19 => l_array_source_19(Idx)
79619 , p_source_21 => l_array_source_21(Idx)
79620 , p_source_23 => l_array_source_23(Idx)
79621 , p_source_24 => g_array_event(l_event_id).array_value_num('source_24')
79622 , p_source_25 => l_array_source_25(Idx)
79623 , p_source_26 => l_array_source_26(Idx)
79624 , p_source_27 => l_array_source_27(Idx)
79625 , p_source_28 => l_array_source_28(Idx)
79626 , p_source_29 => l_array_source_29(Idx)
79627 , p_source_30 => l_array_source_30(Idx)
79628 , p_source_31 => l_array_source_31(Idx)
79629 , p_source_32 => l_array_source_32(Idx)
79630 , p_source_33 => g_array_event(l_event_id).array_value_char('source_33')
79631 , p_source_34 => l_array_source_34(Idx)
79632 , p_source_35 => l_array_source_35(Idx)
79633 , p_source_36 => l_array_source_36(Idx)
79634 , p_source_37 => l_array_source_37(Idx)
79635 , p_source_38 => l_array_source_38(Idx)
79636 , p_source_39 => g_array_event(l_event_id).array_value_date('source_39')
79637 , p_source_40 => g_array_event(l_event_id).array_value_num('source_40')
79638 , p_source_41 => g_array_event(l_event_id).array_value_char('source_41')
79639 , p_source_43 => l_array_source_43(Idx)
79640 , p_source_44 => l_array_source_44(Idx)
79641 , p_source_45 => l_array_source_45(Idx)
79642 , p_source_46 => l_array_source_46(Idx)
79643 , p_source_46_meaning => l_array_source_46_meaning(Idx)
79644 , p_source_47 => g_array_event(l_event_id).array_value_num('source_47')
79645 , p_source_48 => g_array_event(l_event_id).array_value_num('source_48')
79646 , p_source_49 => g_array_event(l_event_id).array_value_char('source_49')
79647 , p_source_50 => l_array_source_50(Idx)
79648 , p_source_51 => l_array_source_51(Idx)
79649 , p_source_52 => l_array_source_52(Idx)
79650 , p_source_53 => l_array_source_53(Idx)
79651 , p_source_54 => l_array_source_54(Idx)
79652 , p_source_55 => l_array_source_55(Idx)
79653 , p_source_56 => l_array_source_56(Idx)
79654 , p_source_59 => l_array_source_59(Idx)
79655 , p_source_59_meaning => l_array_source_59_meaning(Idx)
79656 , p_source_65 => l_array_source_65(Idx)
79657 , p_source_66 => l_array_source_66(Idx)
79658 );
79659 If(l_balance_type_code = 'A') THEN
79660 l_actual_gain_loss_ref := l_gain_or_loss_ref;
79661 END IF;
79662
79663 --
79664
79665
79666 --
79667 AcctLineType_69 (
79668 p_application_id => p_application_id
79669 ,p_event_id => l_event_id
79670 ,p_calculate_acctd_flag => l_calculate_acctd_flag
79671 ,p_calculate_g_l_flag => l_calculate_g_l_flag
79672 ,p_actual_flag => l_actual_flag
79673 ,p_balance_type_code => l_balance_type_code
79674 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
79675
79676 , p_source_1 => l_array_source_1(Idx)
79677 , p_source_11 => l_array_source_11(Idx)
79678 , p_source_15 => l_array_source_15(Idx)
79679 , p_source_15_meaning => l_array_source_15_meaning(Idx)
79680 , p_source_16 => l_array_source_16(Idx)
79681 , p_source_17 => g_array_event(l_event_id).array_value_char('source_17')
79682 , p_source_17_meaning => g_array_event(l_event_id).array_value_char('source_17_meaning')
79683 , p_source_18 => l_array_source_18(Idx)
79684 , p_source_18_meaning => l_array_source_18_meaning(Idx)
79685 , p_source_19 => l_array_source_19(Idx)
79686 , p_source_21 => l_array_source_21(Idx)
79687 , p_source_23 => l_array_source_23(Idx)
79688 , p_source_24 => g_array_event(l_event_id).array_value_num('source_24')
79689 , p_source_25 => l_array_source_25(Idx)
79690 , p_source_26 => l_array_source_26(Idx)
79691 , p_source_27 => l_array_source_27(Idx)
79692 , p_source_28 => l_array_source_28(Idx)
79693 , p_source_29 => l_array_source_29(Idx)
79694 , p_source_30 => l_array_source_30(Idx)
79695 , p_source_31 => l_array_source_31(Idx)
79696 , p_source_32 => l_array_source_32(Idx)
79697 , p_source_33 => g_array_event(l_event_id).array_value_char('source_33')
79698 , p_source_34 => l_array_source_34(Idx)
79699 , p_source_35 => l_array_source_35(Idx)
79700 , p_source_36 => l_array_source_36(Idx)
79701 , p_source_37 => l_array_source_37(Idx)
79702 , p_source_38 => l_array_source_38(Idx)
79703 , p_source_39 => g_array_event(l_event_id).array_value_date('source_39')
79704 , p_source_40 => g_array_event(l_event_id).array_value_num('source_40')
79705 , p_source_41 => g_array_event(l_event_id).array_value_char('source_41')
79706 , p_source_42 => l_array_source_42(Idx)
79707 , p_source_43 => l_array_source_43(Idx)
79708 , p_source_44 => l_array_source_44(Idx)
79709 , p_source_45 => l_array_source_45(Idx)
79710 , p_source_46 => l_array_source_46(Idx)
79711 , p_source_46_meaning => l_array_source_46_meaning(Idx)
79712 , p_source_47 => g_array_event(l_event_id).array_value_num('source_47')
79713 , p_source_48 => g_array_event(l_event_id).array_value_num('source_48')
79717 , p_source_52 => l_array_source_52(Idx)
79714 , p_source_49 => g_array_event(l_event_id).array_value_char('source_49')
79715 , p_source_50 => l_array_source_50(Idx)
79716 , p_source_51 => l_array_source_51(Idx)
79718 , p_source_53 => l_array_source_53(Idx)
79719 , p_source_54 => l_array_source_54(Idx)
79720 , p_source_55 => l_array_source_55(Idx)
79721 , p_source_56 => l_array_source_56(Idx)
79722 );
79723 If(l_balance_type_code = 'A') THEN
79724 l_actual_gain_loss_ref := l_gain_or_loss_ref;
79725 END IF;
79726
79727 --
79728
79729
79730 --
79731 AcctLineType_72 (
79732 p_application_id => p_application_id
79733 ,p_event_id => l_event_id
79734 ,p_calculate_acctd_flag => l_calculate_acctd_flag
79735 ,p_calculate_g_l_flag => l_calculate_g_l_flag
79736 ,p_actual_flag => l_actual_flag
79737 ,p_balance_type_code => l_balance_type_code
79738 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
79739
79740 , p_source_1 => l_array_source_1(Idx)
79741 , p_source_6 => g_array_event(l_event_id).array_value_num('source_6')
79742 , p_source_7 => g_array_event(l_event_id).array_value_char('source_7')
79743 , p_source_7_meaning => g_array_event(l_event_id).array_value_char('source_7_meaning')
79744 , p_source_8 => l_array_source_8(Idx)
79745 , p_source_9 => l_array_source_9(Idx)
79746 , p_source_9_meaning => l_array_source_9_meaning(Idx)
79747 , p_source_10 => g_array_event(l_event_id).array_value_num('source_10')
79748 , p_source_11 => l_array_source_11(Idx)
79749 , p_source_12 => g_array_event(l_event_id).array_value_char('source_12')
79750 , p_source_12_meaning => g_array_event(l_event_id).array_value_char('source_12_meaning')
79751 , p_source_15 => l_array_source_15(Idx)
79752 , p_source_15_meaning => l_array_source_15_meaning(Idx)
79753 , p_source_17 => g_array_event(l_event_id).array_value_char('source_17')
79754 , p_source_17_meaning => g_array_event(l_event_id).array_value_char('source_17_meaning')
79755 , p_source_19 => l_array_source_19(Idx)
79756 , p_source_21 => l_array_source_21(Idx)
79757 , p_source_23 => l_array_source_23(Idx)
79758 , p_source_24 => g_array_event(l_event_id).array_value_num('source_24')
79759 , p_source_25 => l_array_source_25(Idx)
79760 , p_source_26 => l_array_source_26(Idx)
79761 , p_source_27 => l_array_source_27(Idx)
79762 , p_source_28 => l_array_source_28(Idx)
79763 , p_source_29 => l_array_source_29(Idx)
79764 , p_source_30 => l_array_source_30(Idx)
79765 , p_source_31 => l_array_source_31(Idx)
79766 , p_source_32 => l_array_source_32(Idx)
79767 , p_source_33 => g_array_event(l_event_id).array_value_char('source_33')
79768 , p_source_34 => l_array_source_34(Idx)
79769 , p_source_35 => l_array_source_35(Idx)
79770 , p_source_36 => l_array_source_36(Idx)
79771 , p_source_37 => l_array_source_37(Idx)
79772 , p_source_38 => l_array_source_38(Idx)
79773 , p_source_39 => g_array_event(l_event_id).array_value_date('source_39')
79774 , p_source_40 => g_array_event(l_event_id).array_value_num('source_40')
79775 , p_source_41 => g_array_event(l_event_id).array_value_char('source_41')
79776 , p_source_43 => l_array_source_43(Idx)
79777 , p_source_44 => l_array_source_44(Idx)
79778 , p_source_45 => l_array_source_45(Idx)
79779 , p_source_46 => l_array_source_46(Idx)
79780 , p_source_46_meaning => l_array_source_46_meaning(Idx)
79781 , p_source_47 => g_array_event(l_event_id).array_value_num('source_47')
79782 , p_source_48 => g_array_event(l_event_id).array_value_num('source_48')
79783 , p_source_49 => g_array_event(l_event_id).array_value_char('source_49')
79784 , p_source_50 => l_array_source_50(Idx)
79785 , p_source_51 => l_array_source_51(Idx)
79786 , p_source_52 => l_array_source_52(Idx)
79787 , p_source_53 => l_array_source_53(Idx)
79788 , p_source_54 => l_array_source_54(Idx)
79789 , p_source_55 => l_array_source_55(Idx)
79790 , p_source_56 => l_array_source_56(Idx)
79791 , p_source_65 => l_array_source_65(Idx)
79792 , p_source_66 => l_array_source_66(Idx)
79793 );
79794 If(l_balance_type_code = 'A') THEN
79795 l_actual_gain_loss_ref := l_gain_or_loss_ref;
79796 END IF;
79797
79798 --
79799
79800
79801 --
79802 AcctLineType_75 (
79803 p_application_id => p_application_id
79804 ,p_event_id => l_event_id
79805 ,p_calculate_acctd_flag => l_calculate_acctd_flag
79806 ,p_calculate_g_l_flag => l_calculate_g_l_flag
79807 ,p_actual_flag => l_actual_flag
79808 ,p_balance_type_code => l_balance_type_code
79809 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
79810
79811 , p_source_1 => l_array_source_1(Idx)
79812 , p_source_11 => l_array_source_11(Idx)
79813 , p_source_15 => l_array_source_15(Idx)
79814 , p_source_15_meaning => l_array_source_15_meaning(Idx)
79815 , p_source_17 => g_array_event(l_event_id).array_value_char('source_17')
79816 , p_source_17_meaning => g_array_event(l_event_id).array_value_char('source_17_meaning')
79817 , p_source_19 => l_array_source_19(Idx)
79818 , p_source_21 => l_array_source_21(Idx)
79819 , p_source_23 => l_array_source_23(Idx)
79820 , p_source_24 => g_array_event(l_event_id).array_value_num('source_24')
79821 , p_source_25 => l_array_source_25(Idx)
79822 , p_source_26 => l_array_source_26(Idx)
79823 , p_source_27 => l_array_source_27(Idx)
79824 , p_source_28 => l_array_source_28(Idx)
79825 , p_source_29 => l_array_source_29(Idx)
79826 , p_source_30 => l_array_source_30(Idx)
79827 , p_source_31 => l_array_source_31(Idx)
79828 , p_source_32 => l_array_source_32(Idx)
79829 , p_source_33 => g_array_event(l_event_id).array_value_char('source_33')
79830 , p_source_34 => l_array_source_34(Idx)
79831 , p_source_35 => l_array_source_35(Idx)
79832 , p_source_36 => l_array_source_36(Idx)
79833 , p_source_37 => l_array_source_37(Idx)
79834 , p_source_38 => l_array_source_38(Idx)
79835 , p_source_39 => g_array_event(l_event_id).array_value_date('source_39')
79836 , p_source_40 => g_array_event(l_event_id).array_value_num('source_40')
79840 , p_source_45 => l_array_source_45(Idx)
79837 , p_source_41 => g_array_event(l_event_id).array_value_char('source_41')
79838 , p_source_43 => l_array_source_43(Idx)
79839 , p_source_44 => l_array_source_44(Idx)
79841 , p_source_46 => l_array_source_46(Idx)
79842 , p_source_46_meaning => l_array_source_46_meaning(Idx)
79843 , p_source_47 => g_array_event(l_event_id).array_value_num('source_47')
79844 , p_source_48 => g_array_event(l_event_id).array_value_num('source_48')
79845 , p_source_49 => g_array_event(l_event_id).array_value_char('source_49')
79846 , p_source_50 => l_array_source_50(Idx)
79847 , p_source_51 => l_array_source_51(Idx)
79848 , p_source_52 => l_array_source_52(Idx)
79849 , p_source_53 => l_array_source_53(Idx)
79850 , p_source_54 => l_array_source_54(Idx)
79851 , p_source_55 => l_array_source_55(Idx)
79852 , p_source_56 => l_array_source_56(Idx)
79853 , p_source_65 => l_array_source_65(Idx)
79854 , p_source_66 => l_array_source_66(Idx)
79855 );
79856 If(l_balance_type_code = 'A') THEN
79857 l_actual_gain_loss_ref := l_gain_or_loss_ref;
79858 END IF;
79859
79860 --
79861
79862
79863 --
79864 AcctLineType_80 (
79865 p_application_id => p_application_id
79866 ,p_event_id => l_event_id
79867 ,p_calculate_acctd_flag => l_calculate_acctd_flag
79868 ,p_calculate_g_l_flag => l_calculate_g_l_flag
79869 ,p_actual_flag => l_actual_flag
79870 ,p_balance_type_code => l_balance_type_code
79871 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
79872
79873 , p_source_1 => l_array_source_1(Idx)
79874 , p_source_11 => l_array_source_11(Idx)
79875 , p_source_15 => l_array_source_15(Idx)
79876 , p_source_15_meaning => l_array_source_15_meaning(Idx)
79877 , p_source_17 => g_array_event(l_event_id).array_value_char('source_17')
79878 , p_source_17_meaning => g_array_event(l_event_id).array_value_char('source_17_meaning')
79879 , p_source_18 => l_array_source_18(Idx)
79880 , p_source_18_meaning => l_array_source_18_meaning(Idx)
79881 , p_source_19 => l_array_source_19(Idx)
79882 , p_source_21 => l_array_source_21(Idx)
79883 , p_source_23 => l_array_source_23(Idx)
79884 , p_source_24 => g_array_event(l_event_id).array_value_num('source_24')
79885 , p_source_25 => l_array_source_25(Idx)
79886 , p_source_26 => l_array_source_26(Idx)
79887 , p_source_27 => l_array_source_27(Idx)
79888 , p_source_28 => l_array_source_28(Idx)
79889 , p_source_29 => l_array_source_29(Idx)
79890 , p_source_30 => l_array_source_30(Idx)
79891 , p_source_31 => l_array_source_31(Idx)
79892 , p_source_32 => l_array_source_32(Idx)
79893 , p_source_33 => g_array_event(l_event_id).array_value_char('source_33')
79894 , p_source_34 => l_array_source_34(Idx)
79895 , p_source_35 => l_array_source_35(Idx)
79896 , p_source_36 => l_array_source_36(Idx)
79897 , p_source_37 => l_array_source_37(Idx)
79898 , p_source_38 => l_array_source_38(Idx)
79899 , p_source_39 => g_array_event(l_event_id).array_value_date('source_39')
79900 , p_source_40 => g_array_event(l_event_id).array_value_num('source_40')
79901 , p_source_41 => g_array_event(l_event_id).array_value_char('source_41')
79902 , p_source_43 => l_array_source_43(Idx)
79903 , p_source_44 => l_array_source_44(Idx)
79904 , p_source_45 => l_array_source_45(Idx)
79905 , p_source_46 => l_array_source_46(Idx)
79906 , p_source_46_meaning => l_array_source_46_meaning(Idx)
79907 , p_source_47 => g_array_event(l_event_id).array_value_num('source_47')
79908 , p_source_48 => g_array_event(l_event_id).array_value_num('source_48')
79909 , p_source_49 => g_array_event(l_event_id).array_value_char('source_49')
79910 , p_source_50 => l_array_source_50(Idx)
79911 , p_source_51 => l_array_source_51(Idx)
79912 , p_source_52 => l_array_source_52(Idx)
79913 , p_source_53 => l_array_source_53(Idx)
79914 , p_source_54 => l_array_source_54(Idx)
79915 , p_source_55 => l_array_source_55(Idx)
79916 , p_source_56 => l_array_source_56(Idx)
79917 , p_source_81 => l_array_source_81(Idx)
79918 , p_source_82 => l_array_source_82(Idx)
79919 );
79920 If(l_balance_type_code = 'A') THEN
79921 l_actual_gain_loss_ref := l_gain_or_loss_ref;
79922 END IF;
79923
79924 --
79925
79926
79927 --
79928 AcctLineType_84 (
79929 p_application_id => p_application_id
79930 ,p_event_id => l_event_id
79931 ,p_calculate_acctd_flag => l_calculate_acctd_flag
79932 ,p_calculate_g_l_flag => l_calculate_g_l_flag
79933 ,p_actual_flag => l_actual_flag
79934 ,p_balance_type_code => l_balance_type_code
79935 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
79936
79937 , p_source_1 => l_array_source_1(Idx)
79938 , p_source_11 => l_array_source_11(Idx)
79939 , p_source_15 => l_array_source_15(Idx)
79940 , p_source_15_meaning => l_array_source_15_meaning(Idx)
79941 , p_source_17 => g_array_event(l_event_id).array_value_char('source_17')
79942 , p_source_17_meaning => g_array_event(l_event_id).array_value_char('source_17_meaning')
79943 , p_source_19 => l_array_source_19(Idx)
79944 , p_source_21 => l_array_source_21(Idx)
79945 , p_source_23 => l_array_source_23(Idx)
79946 , p_source_24 => g_array_event(l_event_id).array_value_num('source_24')
79947 , p_source_25 => l_array_source_25(Idx)
79948 , p_source_26 => l_array_source_26(Idx)
79949 , p_source_27 => l_array_source_27(Idx)
79950 , p_source_28 => l_array_source_28(Idx)
79951 , p_source_29 => l_array_source_29(Idx)
79952 , p_source_30 => l_array_source_30(Idx)
79953 , p_source_31 => l_array_source_31(Idx)
79954 , p_source_32 => l_array_source_32(Idx)
79955 , p_source_33 => g_array_event(l_event_id).array_value_char('source_33')
79956 , p_source_34 => l_array_source_34(Idx)
79957 , p_source_35 => l_array_source_35(Idx)
79958 , p_source_36 => l_array_source_36(Idx)
79959 , p_source_37 => l_array_source_37(Idx)
79960 , p_source_38 => l_array_source_38(Idx)
79961 , p_source_39 => g_array_event(l_event_id).array_value_date('source_39')
79962 , p_source_40 => g_array_event(l_event_id).array_value_num('source_40')
79966 , p_source_45 => l_array_source_45(Idx)
79963 , p_source_41 => g_array_event(l_event_id).array_value_char('source_41')
79964 , p_source_43 => l_array_source_43(Idx)
79965 , p_source_44 => l_array_source_44(Idx)
79967 , p_source_46 => l_array_source_46(Idx)
79968 , p_source_46_meaning => l_array_source_46_meaning(Idx)
79969 , p_source_47 => g_array_event(l_event_id).array_value_num('source_47')
79970 , p_source_48 => g_array_event(l_event_id).array_value_num('source_48')
79971 , p_source_49 => g_array_event(l_event_id).array_value_char('source_49')
79972 , p_source_50 => l_array_source_50(Idx)
79973 , p_source_51 => l_array_source_51(Idx)
79974 , p_source_52 => l_array_source_52(Idx)
79975 , p_source_53 => l_array_source_53(Idx)
79976 , p_source_54 => l_array_source_54(Idx)
79977 , p_source_55 => l_array_source_55(Idx)
79978 , p_source_56 => l_array_source_56(Idx)
79979 , p_source_65 => l_array_source_65(Idx)
79980 , p_source_66 => l_array_source_66(Idx)
79981 );
79982 If(l_balance_type_code = 'A') THEN
79983 l_actual_gain_loss_ref := l_gain_or_loss_ref;
79984 END IF;
79985
79986 --
79987
79988 -- only execute it if calculate g/l flag is yes, and primary or secondary ledger
79989 -- or secondary ledger that has different currency with primary
79990 -- or alc that is calculated by sla
79991 IF (((l_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
79992 (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'))
79993
79994 -- IF((l_calculate_g_l_flag='Y' or XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id <>
79995 -- XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id)
79996 AND (l_actual_flag = 'A')) THEN
79997 XLA_AE_LINES_PKG.CreateGainOrLossLines(
79998 p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
79999 ,p_application_id => p_application_id
80000 ,p_amb_context_code => 'DEFAULT'
80001 ,p_entity_code => xla_ae_journal_entry_pkg.g_cache_event.entity_code
80002 ,p_event_class_code => C_EVENT_CLASS_CODE
80003 ,p_event_type_code => C_EVENT_TYPE_CODE
80004
80005 ,p_gain_ccid => -1
80006 ,p_loss_ccid => -1
80007
80008 ,p_actual_flag => l_actual_flag
80009 ,p_enc_flag => null
80010 ,p_actual_g_l_ref => l_actual_gain_loss_ref
80011 ,p_enc_g_l_ref => null
80012 );
80013 END IF;
80014 END IF;
80015 END IF;
80016
80017 ELSE
80018 --
80019 -- Bug 4872078 - Do nothing if the event is meant for transaction reversal
80020 --
80021 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
80022 trace
80023 (p_msg => 'Trancaction revesal option is Y'
80024 ,p_level => C_LEVEL_STATEMENT
80025 ,p_module => l_log_module);
80026 END IF;
80027 END IF;
80028
80029 END LOOP;
80030 l_result := XLA_AE_LINES_PKG.InsertLines ;
80031 end loop;
80032 close line_cur;
80033
80034
80035 --
80036 -- insert headers into xla_ae_headers_gt table
80037 --
80038 l_result := XLA_AE_HEADER_PKG.InsertHeaders ;
80039
80040 -- insert into errors table here.
80041
80042 END LOOP;
80043
80044 --
80045 -- 4865292
80046 --
80047 -- Compare g_hdr_extract_count with event count in
80048 -- CreateHeadersAndLines.
80049 --
80050 g_hdr_extract_count := g_hdr_extract_count + header_cur%ROWCOUNT;
80051
80052 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
80053 trace (p_msg => '# rows extracted from header extract objects '
80054 || ' (running total): '
80055 || g_hdr_extract_count
80056 ,p_level => C_LEVEL_STATEMENT
80057 ,p_module => l_log_module);
80058 END IF;
80059
80060 CLOSE header_cur;
80061 --
80062
80063 --
80064 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
80065 trace
80066 (p_msg => 'END of EventClass_108'
80067 ,p_level => C_LEVEL_PROCEDURE
80068 ,p_module => l_log_module);
80069 END IF;
80070 --
80071 RETURN l_result;
80072 EXCEPTION
80073 WHEN xla_exceptions_pkg.application_exception THEN
80074
80075 IF header_cur%ISOPEN THEN CLOSE header_cur; END IF;
80076
80077
80078 IF line_cur%ISOPEN THEN CLOSE line_cur; END IF;
80079
80080 RAISE;
80081
80082 WHEN NO_DATA_FOUND THEN
80083
80084 IF header_cur%ISOPEN THEN CLOSE header_cur; END IF;
80085 IF line_cur%ISOPEN THEN CLOSE line_cur; END IF;
80086
80087 FOR header_record IN header_cur
80088 LOOP
80089 l_array_header_events(header_record.event_id) := header_record.event_id;
80090 END LOOP;
80091
80092 l_first_event_id := l_array_header_events(l_array_header_events.FIRST);
80093 l_last_event_id := l_array_header_events(l_array_header_events.LAST);
80094
80095 fnd_file.put_line(fnd_file.LOG, ' ');
80096 fnd_file.put_line(fnd_file.LOG, '***************************************************************************');
80097 fnd_file.put_line(fnd_file.LOG, 'EVENT CLASS CODE = ' || C_EVENT_CLASS_CODE );
80098 fnd_file.put_line(fnd_file.LOG, 'The following events are present in the line extract but MISSING in the header extract: ');
80099
80100 FOR line_record IN line_cur(l_first_event_id, l_last_event_id)
80101 LOOP
80102 IF (NOT l_array_header_events.EXISTS(line_record.event_id)) AND (NOT l_array_duplicate_checker.EXISTS(line_record.event_id)) THEN
80103 fnd_file.put_line(fnd_file.log, 'Event_id = ' || line_record.event_id);
80104 l_array_duplicate_checker(line_record.event_id) := line_record.event_id;
80105 END IF;
80106 END LOOP;
80110
80107
80108 fnd_file.put_line(fnd_file.LOG, '***************************************************************************');
80109 fnd_file.put_line(fnd_file.LOG, ' ');
80111
80112 xla_exceptions_pkg.raise_message
80113 (p_location => 'XLA_00200_AAD_S_000006_BC_PKG.EventClass_108');
80114
80115
80116 WHEN OTHERS THEN
80117 xla_exceptions_pkg.raise_message
80118 (p_location => 'XLA_00200_AAD_S_000006_BC_PKG.EventClass_108');
80119 END EventClass_108;
80120 --
80121
80122 ---------------------------------------
80123 --
80124 -- PRIVATE PROCEDURE
80125 -- insert_sources_109
80126 --
80127 ----------------------------------------
80128 --
80129 PROCEDURE insert_sources_109(
80130 p_target_ledger_id IN NUMBER
80131 , p_language IN VARCHAR2
80132 , p_sla_ledger_id IN NUMBER
80133 , p_pad_start_date IN DATE
80134 , p_pad_end_date IN DATE
80135 )
80136 IS
80137
80138 C_EVENT_TYPE_CODE CONSTANT VARCHAR2(30) := 'PREPAYMENT_BURDEN_ALL';
80139 C_EVENT_CLASS_CODE CONSTANT VARCHAR2(30) := 'PREPAYMENT_BURDEN';
80140 p_apps_owner VARCHAR2(30);
80141 l_log_module VARCHAR2(240);
80142 BEGIN
80143 IF g_log_enabled THEN
80144 l_log_module := C_DEFAULT_MODULE||'.insert_sources_109';
80145 END IF;
80146 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
80147
80148 trace
80149 (p_msg => 'BEGIN of insert_sources_109'
80150 ,p_level => C_LEVEL_PROCEDURE
80151 ,p_module => l_log_module);
80152
80153 END IF;
80154
80155 -- select APPS owner
80156 SELECT oracle_username
80157 INTO p_apps_owner
80158 FROM fnd_oracle_userid
80159 WHERE read_only_flag = 'U'
80160 ;
80161
80162 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
80163 trace
80164 (p_msg => 'p_target_ledger_id = '||p_target_ledger_id||
80165 ' - p_language = '||p_language||
80166 ' - p_sla_ledger_id = '||p_sla_ledger_id ||
80167 ' - p_pad_start_date = '||TO_CHAR(p_pad_start_date)||
80168 ' - p_pad_end_date = '||TO_CHAR(p_pad_end_date)||
80169 ' - p_apps_owner = '||TO_CHAR(p_apps_owner)
80170 ,p_level => C_LEVEL_STATEMENT
80171 ,p_module => l_log_module);
80172 END IF;
80173
80174
80175
80176
80177 --
80178 INSERT INTO xla_diag_sources --line2
80179 (
80180 event_id
80181 , ledger_id
80182 , sla_ledger_id
80183 , description_language
80184 , object_name
80185 , object_type_code
80186 , line_number
80187 , source_application_id
80188 , source_type_code
80189 , source_code
80190 , source_value
80191 , source_meaning
80192 , created_by
80193 , creation_date
80194 , last_update_date
80195 , last_updated_by
80196 , last_update_login
80197 , program_update_date
80198 , program_application_id
80199 , program_id
80200 , request_id
80201 )
80202 SELECT event_id
80203 , p_target_ledger_id
80204 , p_sla_ledger_id
80205 , p_language
80206 , object_name
80207 , object_type_code
80208 , line_number
80209 , source_application_id
80210 , source_type_code
80211 , source_code
80212 , SUBSTR(source_value,1,1996)
80213 , SUBSTR(source_meaning ,1,200)
80214 , xla_environment_pkg.g_Usr_Id
80215 , TRUNC(SYSDATE)
80216 , TRUNC(SYSDATE)
80217 , xla_environment_pkg.g_Usr_Id
80218 , xla_environment_pkg.g_Login_Id
80219 , TRUNC(SYSDATE)
80220 , xla_environment_pkg.g_Prog_Appl_Id
80221 , xla_environment_pkg.g_Prog_Id
80222 , xla_environment_pkg.g_Req_Id
80223 FROM (
80224 SELECT xet.event_id event_id
80225 , l1.line_number line_number
80226 , CASE r
80227 WHEN 1 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
80228 WHEN 2 THEN 'PA_XLA_PROJECT_REF_V'
80229 WHEN 3 THEN 'PA_XLA_TASK_REF_V'
80230 WHEN 4 THEN 'PA_XLA_EXP_ORG_REF_V'
80231 WHEN 5 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
80232 WHEN 6 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
80233 WHEN 7 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
80234 WHEN 8 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
80235 WHEN 9 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
80236 WHEN 10 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
80237 WHEN 11 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
80238 WHEN 12 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
80239 WHEN 13 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
80240 WHEN 14 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
80241 WHEN 15 THEN 'PA_XLA_PROJECT_REF_V'
80242 WHEN 16 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
80243 WHEN 17 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
80244 WHEN 18 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
80245 WHEN 19 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
80246 WHEN 20 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
80247 WHEN 21 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
80248 WHEN 22 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
80249 WHEN 23 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
80250 WHEN 24 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
80251 WHEN 25 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
80252 WHEN 26 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
80256 WHEN 30 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
80253 WHEN 27 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
80254 WHEN 28 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
80255 WHEN 29 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
80257 WHEN 31 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
80258 WHEN 32 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
80259 WHEN 33 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
80260 WHEN 34 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
80261 WHEN 35 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
80262 WHEN 36 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
80263 WHEN 37 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
80264 WHEN 38 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
80265 WHEN 39 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
80266 WHEN 40 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
80267 WHEN 41 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
80268 WHEN 42 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
80269 WHEN 43 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
80270 WHEN 44 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
80271 WHEN 45 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
80272
80273 ELSE null
80274 END object_name
80275 , CASE r
80276 WHEN 1 THEN 'LINE'
80277 WHEN 2 THEN 'LINE'
80278 WHEN 3 THEN 'LINE'
80279 WHEN 4 THEN 'LINE'
80280 WHEN 5 THEN 'LINE'
80281 WHEN 6 THEN 'LINE'
80282 WHEN 7 THEN 'LINE'
80283 WHEN 8 THEN 'LINE'
80284 WHEN 9 THEN 'LINE'
80285 WHEN 10 THEN 'LINE'
80286 WHEN 11 THEN 'LINE'
80287 WHEN 12 THEN 'LINE'
80288 WHEN 13 THEN 'LINE'
80289 WHEN 14 THEN 'LINE'
80290 WHEN 15 THEN 'LINE'
80291 WHEN 16 THEN 'LINE'
80292 WHEN 17 THEN 'LINE'
80293 WHEN 18 THEN 'LINE'
80294 WHEN 19 THEN 'LINE'
80295 WHEN 20 THEN 'LINE'
80296 WHEN 21 THEN 'LINE'
80297 WHEN 22 THEN 'LINE'
80298 WHEN 23 THEN 'LINE'
80299 WHEN 24 THEN 'LINE'
80300 WHEN 25 THEN 'LINE'
80301 WHEN 26 THEN 'LINE'
80302 WHEN 27 THEN 'LINE'
80303 WHEN 28 THEN 'LINE'
80304 WHEN 29 THEN 'LINE'
80305 WHEN 30 THEN 'LINE'
80306 WHEN 31 THEN 'LINE'
80307 WHEN 32 THEN 'LINE'
80308 WHEN 33 THEN 'LINE'
80309 WHEN 34 THEN 'LINE'
80310 WHEN 35 THEN 'LINE'
80311 WHEN 36 THEN 'LINE'
80312 WHEN 37 THEN 'LINE'
80313 WHEN 38 THEN 'LINE'
80314 WHEN 39 THEN 'LINE'
80315 WHEN 40 THEN 'LINE'
80316 WHEN 41 THEN 'LINE'
80317 WHEN 42 THEN 'LINE'
80318 WHEN 43 THEN 'LINE'
80319 WHEN 44 THEN 'LINE'
80320 WHEN 45 THEN 'LINE'
80321
80322 ELSE null
80323 END object_type_code
80324 , CASE r
80325 WHEN 1 THEN '200'
80326 WHEN 2 THEN '275'
80327 WHEN 3 THEN '275'
80328 WHEN 4 THEN '275'
80329 WHEN 5 THEN '200'
80330 WHEN 6 THEN '200'
80331 WHEN 7 THEN '200'
80332 WHEN 8 THEN '200'
80333 WHEN 9 THEN '200'
80334 WHEN 10 THEN '200'
80335 WHEN 11 THEN '200'
80336 WHEN 12 THEN '200'
80337 WHEN 13 THEN '200'
80338 WHEN 14 THEN '200'
80339 WHEN 15 THEN '275'
80340 WHEN 16 THEN '200'
80341 WHEN 17 THEN '200'
80342 WHEN 18 THEN '200'
80343 WHEN 19 THEN '200'
80344 WHEN 20 THEN '200'
80345 WHEN 21 THEN '200'
80346 WHEN 22 THEN '200'
80347 WHEN 23 THEN '200'
80348 WHEN 24 THEN '200'
80349 WHEN 25 THEN '200'
80350 WHEN 26 THEN '200'
80351 WHEN 27 THEN '200'
80352 WHEN 28 THEN '200'
80353 WHEN 29 THEN '200'
80354 WHEN 30 THEN '200'
80355 WHEN 31 THEN '200'
80356 WHEN 32 THEN '200'
80357 WHEN 33 THEN '200'
80358 WHEN 34 THEN '200'
80359 WHEN 35 THEN '200'
80360 WHEN 36 THEN '200'
80361 WHEN 37 THEN '200'
80362 WHEN 38 THEN '200'
80363 WHEN 39 THEN '200'
80364 WHEN 40 THEN '200'
80365 WHEN 41 THEN '200'
80366 WHEN 42 THEN '200'
80367 WHEN 43 THEN '200'
80368 WHEN 44 THEN '200'
80369 WHEN 45 THEN '200'
80370
80371 ELSE null
80372 END source_application_id
80373 , 'S' source_type_code
80374 , CASE r
80375 WHEN 1 THEN 'DOCUMENT_DISTRIBUTION_TYPE'
80376 WHEN 2 THEN 'PROJECT_NAME'
80377 WHEN 3 THEN 'TASK_NUMBER'
80378 WHEN 4 THEN 'EXPENDITURE_ORGANIZATION_ID'
80379 WHEN 5 THEN 'AID_DIST_CCID'
80380 WHEN 6 THEN 'BUDGET_CCID'
80381 WHEN 7 THEN 'DISTRIBUTION_LINK_TYPE'
80382 WHEN 8 THEN 'AID_INVOICE_DIST_ID'
80386 WHEN 12 THEN 'INV_EXCHANGE_RATE_TYPE'
80383 WHEN 9 THEN 'AI_INVOICE_CURRENCY_CODE'
80384 WHEN 10 THEN 'INV_EXCHANGE_DATE'
80385 WHEN 11 THEN 'INV_EXCHANGE_RATE'
80387 WHEN 13 THEN 'AID_AMOUNT'
80388 WHEN 14 THEN 'DOCUMENT_TYPE'
80389 WHEN 15 THEN 'PROJ_BURDEN_DISPLAY_METHOD'
80390 WHEN 16 THEN 'ACCT_REVERSAL_INDICATOR'
80391 WHEN 17 THEN 'ALLOC_TO_APPLN_ID'
80392 WHEN 18 THEN 'ALLOC_TO_DIST_TYPE'
80393 WHEN 19 THEN 'ALLOC_TO_ENTITY_CODE'
80394 WHEN 20 THEN 'ALLOC_TO_FIRST_DIST_ID'
80395 WHEN 21 THEN 'ALLOC_TO_FIRST_SYS_TRANS_ID'
80396 WHEN 22 THEN 'AP_APPLICATION_ID'
80397 WHEN 23 THEN 'AP_DISTRIBUTION_TYPE'
80398 WHEN 24 THEN 'AP_ENTITY_CODE'
80399 WHEN 25 THEN 'AP_FIRST_DIST_ID'
80400 WHEN 26 THEN 'AP_FIRST_SYS_TRANS_ID'
80401 WHEN 27 THEN 'AID_EXPENDITURE_TYPE'
80402 WHEN 28 THEN 'ENC_UPG_CR_ACCT_CLASS'
80403 WHEN 29 THEN 'ENC_UPG_CR_ACCOUNT'
80404 WHEN 30 THEN 'AID_BASE_AMT_NO_ROUND'
80405 WHEN 31 THEN 'ENC_UPG_DR_ACCT_CLASS'
80406 WHEN 32 THEN 'ENC_UPG_DR_ACCOUNT'
80407 WHEN 33 THEN 'USE_ENC_UPG_ATTRIB_FLAG'
80408 WHEN 34 THEN 'ACCT_REVERSAL_FIRST_DIST_ID'
80409 WHEN 35 THEN 'AP_SECOND_DIST_ID'
80410 WHEN 36 THEN 'ACCT_REV_DISTRIBUTION_TYPE'
80411 WHEN 37 THEN 'ENC_UPG_CR_ENC_TYPE_ID'
80412 WHEN 38 THEN 'ENC_UPG_DR_ENC_TYPE_ID'
80413 WHEN 39 THEN 'BURDEN_COST_FLAG'
80414 WHEN 40 THEN 'PA_APPLICATION_ID'
80415 WHEN 41 THEN 'PA_DISTRIBUTION_TYPE'
80416 WHEN 42 THEN 'PA_ENTITY_CODE'
80417 WHEN 43 THEN 'PA_FIRST_DIST_ID'
80418 WHEN 44 THEN 'PA_FIRST_SYS_TRANS_ID'
80419 WHEN 45 THEN 'PA_SECOND_DIST_ID'
80420
80421 ELSE null
80422 END source_code
80423 , CASE r
80424 WHEN 1 THEN TO_CHAR(l1.DOCUMENT_DISTRIBUTION_TYPE)
80425 WHEN 2 THEN TO_CHAR(l3.PROJECT_NAME)
80426 WHEN 3 THEN TO_CHAR(l4.TASK_NUMBER)
80427 WHEN 4 THEN TO_CHAR(l2.EXPENDITURE_ORGANIZATION_ID)
80428 WHEN 5 THEN TO_CHAR(l1.AID_DIST_CCID)
80429 WHEN 6 THEN TO_CHAR(l1.BUDGET_CCID)
80430 WHEN 7 THEN TO_CHAR(l1.DISTRIBUTION_LINK_TYPE)
80431 WHEN 8 THEN TO_CHAR(l1.AID_INVOICE_DIST_ID)
80432 WHEN 9 THEN TO_CHAR(l1.AI_INVOICE_CURRENCY_CODE)
80433 WHEN 10 THEN TO_CHAR(l1.INV_EXCHANGE_DATE)
80434 WHEN 11 THEN TO_CHAR(l1.INV_EXCHANGE_RATE)
80435 WHEN 12 THEN TO_CHAR(l1.INV_EXCHANGE_RATE_TYPE)
80436 WHEN 13 THEN TO_CHAR(l1.AID_AMOUNT)
80437 WHEN 14 THEN TO_CHAR(l1.DOCUMENT_TYPE)
80438 WHEN 15 THEN TO_CHAR(l3.PROJ_BURDEN_DISPLAY_METHOD)
80439 WHEN 16 THEN TO_CHAR(l1.ACCT_REVERSAL_INDICATOR)
80440 WHEN 17 THEN TO_CHAR(l1.ALLOC_TO_APPLN_ID)
80441 WHEN 18 THEN TO_CHAR(l1.ALLOC_TO_DIST_TYPE)
80442 WHEN 19 THEN TO_CHAR(l1.ALLOC_TO_ENTITY_CODE)
80443 WHEN 20 THEN TO_CHAR(l1.ALLOC_TO_FIRST_DIST_ID)
80444 WHEN 21 THEN TO_CHAR(l1.ALLOC_TO_FIRST_SYS_TRANS_ID)
80445 WHEN 22 THEN TO_CHAR(l1.AP_APPLICATION_ID)
80446 WHEN 23 THEN TO_CHAR(l1.AP_DISTRIBUTION_TYPE)
80447 WHEN 24 THEN TO_CHAR(l1.AP_ENTITY_CODE)
80448 WHEN 25 THEN TO_CHAR(l1.AP_FIRST_DIST_ID)
80449 WHEN 26 THEN TO_CHAR(l1.AP_FIRST_SYS_TRANS_ID)
80450 WHEN 27 THEN TO_CHAR(l1.AID_EXPENDITURE_TYPE)
80451 WHEN 28 THEN TO_CHAR(l1.ENC_UPG_CR_ACCT_CLASS)
80452 WHEN 29 THEN TO_CHAR(l1.ENC_UPG_CR_ACCOUNT)
80453 WHEN 30 THEN TO_CHAR(l1.AID_BASE_AMT_NO_ROUND)
80454 WHEN 31 THEN TO_CHAR(l1.ENC_UPG_DR_ACCT_CLASS)
80455 WHEN 32 THEN TO_CHAR(l1.ENC_UPG_DR_ACCOUNT)
80456 WHEN 33 THEN TO_CHAR(l1.USE_ENC_UPG_ATTRIB_FLAG)
80457 WHEN 34 THEN TO_CHAR(l1.ACCT_REVERSAL_FIRST_DIST_ID)
80458 WHEN 35 THEN TO_CHAR(l1.AP_SECOND_DIST_ID)
80459 WHEN 36 THEN TO_CHAR(l1.ACCT_REV_DISTRIBUTION_TYPE)
80460 WHEN 37 THEN TO_CHAR(l1.ENC_UPG_CR_ENC_TYPE_ID)
80461 WHEN 38 THEN TO_CHAR(l1.ENC_UPG_DR_ENC_TYPE_ID)
80462 WHEN 39 THEN TO_CHAR(l1.BURDEN_COST_FLAG)
80463 WHEN 40 THEN TO_CHAR(l1.PA_APPLICATION_ID)
80464 WHEN 41 THEN TO_CHAR(l1.PA_DISTRIBUTION_TYPE)
80465 WHEN 42 THEN TO_CHAR(l1.PA_ENTITY_CODE)
80466 WHEN 43 THEN TO_CHAR(l1.PA_FIRST_DIST_ID)
80467 WHEN 44 THEN TO_CHAR(l1.PA_FIRST_SYS_TRANS_ID)
80468 WHEN 45 THEN TO_CHAR(l1.PA_SECOND_DIST_ID)
80469
80470 ELSE null
80471 END source_value
80472 , CASE r
80473 WHEN 4 THEN XLA_00200_AAD_S_000006_BC_PKG.GetMeaning(
80474 1011404
80475 ,TO_CHAR(l2.EXPENDITURE_ORGANIZATION_ID)
80476 ,'EXPENDITURE_ORGANIZATION_ID'
80477 ,'S'
80478 ,275)
80479 WHEN 39 THEN fvl108.meaning
80480
80481 ELSE null
80482 END source_meaning
80483 FROM xla_events_gt xet
80484 , PA_XLA_BC_PKT_AP_DETAIL_V l1
80485 , PA_XLA_EXP_ORG_REF_V l2
80486 , PA_XLA_PROJECT_REF_V l3
80487 , PA_XLA_TASK_REF_V l4
80488 , fnd_lookup_values fvl108
80492 AND l1.event_id = xet.event_id
80489 , (select rownum r from all_objects where rownum <= 45 and owner = p_apps_owner)
80490 WHERE xet.event_date between p_pad_start_date AND p_pad_end_date
80491 AND xet.event_class_code = C_EVENT_CLASS_CODE
80493 AND l2.expenditure_organization_id=l1.aid_expenditure_org_id AND l3.project_id=l1.aid_project_id AND l4.task_id=l1.aid_task_id AND fvl108.lookup_type(+) = 'BC_PKT_BURDEN_COST_FLAG'
80494 AND fvl108.lookup_code(+) = l1.BURDEN_COST_FLAG
80495 AND fvl108.view_application_id(+) = 275
80496 AND fvl108.language(+) = USERENV('LANG')
80497
80498 )
80499 ;
80500 --
80501 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
80502
80503 trace
80504 (p_msg => 'number of line sources inserted = '||SQL%ROWCOUNT
80505 ,p_level => C_LEVEL_STATEMENT
80506 ,p_module => l_log_module);
80507
80508 END IF;
80509
80510
80511 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
80512 trace
80513 (p_msg => 'END of insert_sources_109'
80514 ,p_level => C_LEVEL_PROCEDURE
80515 ,p_module => l_log_module);
80516 END IF;
80517 EXCEPTION
80518 WHEN xla_exceptions_pkg.application_exception THEN
80519 IF (C_LEVEL_EXCEPTION >= g_log_level) THEN
80520 trace
80521 (p_msg => 'ERROR: XLA_CMP_COMPILER_ERROR = '||sqlerrm
80522 ,p_level => C_LEVEL_EXCEPTION
80523 ,p_module => l_log_module);
80524 END IF;
80525 RAISE;
80526 WHEN OTHERS THEN
80527 IF (C_LEVEL_EXCEPTION >= g_log_level) THEN
80528 trace
80529 (p_msg => 'ERROR: XLA_CMP_COMPILER_ERROR = '||sqlerrm
80530 ,p_level => C_LEVEL_EXCEPTION
80531 ,p_module => l_log_module);
80532 END IF;
80533 xla_exceptions_pkg.raise_message
80534 (p_location => 'XLA_00200_AAD_S_000006_BC_PKG.insert_sources_109');
80535 END insert_sources_109;
80536 --
80537
80538 ---------------------------------------
80539 --
80540 -- PRIVATE FUNCTION
80541 -- EventClass_109
80542 --
80543 ----------------------------------------
80544 --
80545 FUNCTION EventClass_109
80546 (p_application_id IN NUMBER
80547 ,p_base_ledger_id IN NUMBER
80548 ,p_target_ledger_id IN NUMBER
80549 ,p_language IN VARCHAR2
80550 ,p_currency_code IN VARCHAR2
80551 ,p_sla_ledger_id IN NUMBER
80552 ,p_pad_start_date IN DATE
80553 ,p_pad_end_date IN DATE
80554 ,p_primary_ledger_id IN NUMBER)
80555 RETURN BOOLEAN IS
80556 --
80557 C_EVENT_TYPE_CODE CONSTANT VARCHAR2(30) := 'PREPAYMENT_BURDEN_ALL';
80558 C_EVENT_CLASS_CODE CONSTANT VARCHAR2(30) := 'PREPAYMENT_BURDEN';
80559
80560 l_calculate_acctd_flag VARCHAR2(1) :='N';
80561 l_calculate_g_l_flag VARCHAR2(1) :='N';
80562 --
80563 l_array_legal_entity_id XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
80564 l_array_entity_id XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
80565 l_array_entity_code XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
80566 l_array_transaction_num XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
80567 l_array_event_id XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
80568 l_array_class_code XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
80569 l_array_event_type XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
80570 l_array_event_number XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
80571 l_array_event_date XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
80572 l_array_transaction_date XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
80573 l_array_reference_num_1 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
80574 l_array_reference_num_2 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
80575 l_array_reference_num_3 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
80576 l_array_reference_num_4 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
80577 l_array_reference_char_1 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
80578 l_array_reference_char_2 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
80579 l_array_reference_char_3 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
80580 l_array_reference_char_4 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
80581 l_array_reference_date_1 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
80582 l_array_reference_date_2 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
80583 l_array_reference_date_3 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
80584 l_array_reference_date_4 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
80585 l_array_event_created_by XLA_AE_JOURNAL_ENTRY_PKG.t_array_V100L;
80586 l_array_budgetary_control_flag XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
80587 l_array_header_events XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num; --added
80588 l_array_duplicate_checker XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num; --added
80589
80590 l_event_id NUMBER;
80591 l_previous_event_id NUMBER;
80592 l_first_event_id NUMBER;
80593 l_last_event_id NUMBER;
80594
80595 l_rec_acct_attrs XLA_AE_HEADER_PKG.t_rec_acct_attrs;
80596 l_rec_rev_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
80597 --
80598 --
80599 l_result BOOLEAN := TRUE;
80600 l_rows NUMBER := 1000;
80601 l_event_type_name VARCHAR2(80) := 'All';
80602 l_event_class_name VARCHAR2(80) := 'Burden for Prepayments';
80603 l_description VARCHAR2(4000);
80604 l_transaction_reversal NUMBER;
80605 l_ae_header_id NUMBER;
80606 l_array_extract_line_num xla_ae_journal_entry_pkg.t_array_Num;
80610 l_trx_reversal_source VARCHAR2(30);
80607 l_log_module VARCHAR2(240);
80608 --
80609 l_acct_reversal_source VARCHAR2(30);
80611
80612 l_continue_with_lines BOOLEAN := TRUE;
80613 --
80614 l_acc_rev_gl_date_source DATE; -- 4262811
80615 --
80616 type t_array_event_id is table of number index by binary_integer;
80617
80618 l_rec_array_event t_rec_array_event;
80619 l_null_rec_array_event t_rec_array_event;
80620 l_array_ae_header_id xla_number_array_type;
80621 l_actual_flag VARCHAR2(1) := NULL;
80622 l_actual_gain_loss_ref VARCHAR2(30) := '#####';
80623 l_balance_type_code VARCHAR2(1) :=NULL;
80624 l_gain_or_loss_ref VARCHAR2(30) :=NULL;
80625
80626 --
80627 TYPE t_array_lookup_meaning IS TABLE OF fnd_lookup_values.meaning%TYPE INDEX BY BINARY_INTEGER;
80628 --
80629
80630
80631 TYPE t_array_source_2 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.DOCUMENT_DISTRIBUTION_TYPE%TYPE INDEX BY BINARY_INTEGER;
80632 TYPE t_array_source_3 IS TABLE OF PA_XLA_PROJECT_REF_V.PROJECT_NAME%TYPE INDEX BY BINARY_INTEGER;
80633 TYPE t_array_source_4 IS TABLE OF PA_XLA_TASK_REF_V.TASK_NUMBER%TYPE INDEX BY BINARY_INTEGER;
80634 TYPE t_array_source_5 IS TABLE OF PA_XLA_EXP_ORG_REF_V.EXPENDITURE_ORGANIZATION_ID%TYPE INDEX BY BINARY_INTEGER;
80635 TYPE t_array_source_11 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.AID_DIST_CCID%TYPE INDEX BY BINARY_INTEGER;
80636 TYPE t_array_source_14 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.BUDGET_CCID%TYPE INDEX BY BINARY_INTEGER;
80637 TYPE t_array_source_21 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.DISTRIBUTION_LINK_TYPE%TYPE INDEX BY BINARY_INTEGER;
80638 TYPE t_array_source_30 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.AID_INVOICE_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
80639 TYPE t_array_source_33 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.AI_INVOICE_CURRENCY_CODE%TYPE INDEX BY BINARY_INTEGER;
80640 TYPE t_array_source_39 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.INV_EXCHANGE_DATE%TYPE INDEX BY BINARY_INTEGER;
80641 TYPE t_array_source_40 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.INV_EXCHANGE_RATE%TYPE INDEX BY BINARY_INTEGER;
80642 TYPE t_array_source_41 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.INV_EXCHANGE_RATE_TYPE%TYPE INDEX BY BINARY_INTEGER;
80643 TYPE t_array_source_57 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.AID_AMOUNT%TYPE INDEX BY BINARY_INTEGER;
80644 TYPE t_array_source_83 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.DOCUMENT_TYPE%TYPE INDEX BY BINARY_INTEGER;
80645 TYPE t_array_source_84 IS TABLE OF PA_XLA_PROJECT_REF_V.PROJ_BURDEN_DISPLAY_METHOD%TYPE INDEX BY BINARY_INTEGER;
80646 TYPE t_array_source_85 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.ACCT_REVERSAL_INDICATOR%TYPE INDEX BY BINARY_INTEGER;
80647 TYPE t_array_source_86 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.ALLOC_TO_APPLN_ID%TYPE INDEX BY BINARY_INTEGER;
80648 TYPE t_array_source_87 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.ALLOC_TO_DIST_TYPE%TYPE INDEX BY BINARY_INTEGER;
80649 TYPE t_array_source_88 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.ALLOC_TO_ENTITY_CODE%TYPE INDEX BY BINARY_INTEGER;
80650 TYPE t_array_source_89 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.ALLOC_TO_FIRST_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
80651 TYPE t_array_source_90 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.ALLOC_TO_FIRST_SYS_TRANS_ID%TYPE INDEX BY BINARY_INTEGER;
80652 TYPE t_array_source_91 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.AP_APPLICATION_ID%TYPE INDEX BY BINARY_INTEGER;
80653 TYPE t_array_source_92 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.AP_DISTRIBUTION_TYPE%TYPE INDEX BY BINARY_INTEGER;
80654 TYPE t_array_source_93 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.AP_ENTITY_CODE%TYPE INDEX BY BINARY_INTEGER;
80655 TYPE t_array_source_94 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.AP_FIRST_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
80656 TYPE t_array_source_95 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.AP_FIRST_SYS_TRANS_ID%TYPE INDEX BY BINARY_INTEGER;
80657 TYPE t_array_source_96 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.AID_EXPENDITURE_TYPE%TYPE INDEX BY BINARY_INTEGER;
80658 TYPE t_array_source_97 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.ENC_UPG_CR_ACCT_CLASS%TYPE INDEX BY BINARY_INTEGER;
80659 TYPE t_array_source_98 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.ENC_UPG_CR_ACCOUNT%TYPE INDEX BY BINARY_INTEGER;
80660 TYPE t_array_source_99 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.AID_BASE_AMT_NO_ROUND%TYPE INDEX BY BINARY_INTEGER;
80661 TYPE t_array_source_100 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.ENC_UPG_DR_ACCT_CLASS%TYPE INDEX BY BINARY_INTEGER;
80662 TYPE t_array_source_101 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.ENC_UPG_DR_ACCOUNT%TYPE INDEX BY BINARY_INTEGER;
80663 TYPE t_array_source_102 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.USE_ENC_UPG_ATTRIB_FLAG%TYPE INDEX BY BINARY_INTEGER;
80664 TYPE t_array_source_103 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.ACCT_REVERSAL_FIRST_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
80665 TYPE t_array_source_104 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.AP_SECOND_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
80666 TYPE t_array_source_105 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.ACCT_REV_DISTRIBUTION_TYPE%TYPE INDEX BY BINARY_INTEGER;
80667 TYPE t_array_source_106 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.ENC_UPG_CR_ENC_TYPE_ID%TYPE INDEX BY BINARY_INTEGER;
80668 TYPE t_array_source_107 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.ENC_UPG_DR_ENC_TYPE_ID%TYPE INDEX BY BINARY_INTEGER;
80669 TYPE t_array_source_108 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.BURDEN_COST_FLAG%TYPE INDEX BY BINARY_INTEGER;
80670 TYPE t_array_source_109 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.PA_APPLICATION_ID%TYPE INDEX BY BINARY_INTEGER;
80671 TYPE t_array_source_110 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.PA_DISTRIBUTION_TYPE%TYPE INDEX BY BINARY_INTEGER;
80672 TYPE t_array_source_111 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.PA_ENTITY_CODE%TYPE INDEX BY BINARY_INTEGER;
80673 TYPE t_array_source_112 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.PA_FIRST_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
80674 TYPE t_array_source_113 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.PA_FIRST_SYS_TRANS_ID%TYPE INDEX BY BINARY_INTEGER;
80675 TYPE t_array_source_114 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.PA_SECOND_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
80676
80677
80678 l_array_source_2 t_array_source_2;
80679 l_array_source_3 t_array_source_3;
80680 l_array_source_4 t_array_source_4;
80681 l_array_source_5 t_array_source_5;
80682 l_array_source_11 t_array_source_11;
80686 l_array_source_33 t_array_source_33;
80683 l_array_source_14 t_array_source_14;
80684 l_array_source_21 t_array_source_21;
80685 l_array_source_30 t_array_source_30;
80687 l_array_source_39 t_array_source_39;
80688 l_array_source_40 t_array_source_40;
80689 l_array_source_41 t_array_source_41;
80690 l_array_source_57 t_array_source_57;
80691 l_array_source_83 t_array_source_83;
80692 l_array_source_84 t_array_source_84;
80693 l_array_source_85 t_array_source_85;
80694 l_array_source_86 t_array_source_86;
80695 l_array_source_87 t_array_source_87;
80696 l_array_source_88 t_array_source_88;
80697 l_array_source_89 t_array_source_89;
80698 l_array_source_90 t_array_source_90;
80699 l_array_source_91 t_array_source_91;
80700 l_array_source_92 t_array_source_92;
80701 l_array_source_93 t_array_source_93;
80702 l_array_source_94 t_array_source_94;
80703 l_array_source_95 t_array_source_95;
80704 l_array_source_96 t_array_source_96;
80705 l_array_source_97 t_array_source_97;
80706 l_array_source_98 t_array_source_98;
80707 l_array_source_99 t_array_source_99;
80708 l_array_source_100 t_array_source_100;
80709 l_array_source_101 t_array_source_101;
80710 l_array_source_102 t_array_source_102;
80711 l_array_source_103 t_array_source_103;
80712 l_array_source_104 t_array_source_104;
80713 l_array_source_105 t_array_source_105;
80714 l_array_source_106 t_array_source_106;
80715 l_array_source_107 t_array_source_107;
80716 l_array_source_108 t_array_source_108;
80717 l_array_source_108_meaning t_array_lookup_meaning;
80718 l_array_source_109 t_array_source_109;
80719 l_array_source_110 t_array_source_110;
80720 l_array_source_111 t_array_source_111;
80721 l_array_source_112 t_array_source_112;
80722 l_array_source_113 t_array_source_113;
80723 l_array_source_114 t_array_source_114;
80724
80725 --
80726 CURSOR header_cur
80727 IS
80728 SELECT /*+ leading(xet) cardinality(xet,1) */
80729 -- Event Class Code: PREPAYMENT_BURDEN
80730 xet.entity_id
80731 ,xet.legal_entity_id
80732 ,xet.entity_code
80733 ,xet.transaction_number
80734 ,xet.event_id
80735 ,xet.event_class_code
80736 ,xet.event_type_code
80737 ,xet.event_number
80738 ,xet.event_date
80739 ,xet.transaction_date
80740 ,xet.reference_num_1
80741 ,xet.reference_num_2
80742 ,xet.reference_num_3
80743 ,xet.reference_num_4
80744 ,xet.reference_char_1
80745 ,xet.reference_char_2
80746 ,xet.reference_char_3
80747 ,xet.reference_char_4
80748 ,xet.reference_date_1
80749 ,xet.reference_date_2
80750 ,xet.reference_date_3
80751 ,xet.reference_date_4
80752 ,xet.event_created_by
80753 ,xet.budgetary_control_flag
80754 FROM xla_events_gt xet
80755 WHERE xet.event_date between p_pad_start_date and p_pad_end_date
80756 and xet.event_class_code = C_EVENT_CLASS_CODE
80757 and xet.event_status_code <> 'N'
80758 ORDER BY event_id
80759 ;
80760
80761
80762 --
80763 CURSOR line_cur (x_first_event_id in number, x_last_event_id in number)
80764 IS
80765 SELECT /*+ leading(xet) cardinality(xet,1) */
80766 -- Event Class Code: PREPAYMENT_BURDEN
80767 xet.entity_id
80768 ,xet.legal_entity_id
80769 ,xet.entity_code
80770 ,xet.transaction_number
80771 ,xet.event_id
80772 ,xet.event_class_code
80773 ,xet.event_type_code
80774 ,xet.event_number
80775 ,xet.event_date
80776 ,xet.transaction_date
80777 ,xet.reference_num_1
80778 ,xet.reference_num_2
80779 ,xet.reference_num_3
80780 ,xet.reference_num_4
80781 ,xet.reference_char_1
80782 ,xet.reference_char_2
80783 ,xet.reference_char_3
80784 ,xet.reference_char_4
80785 ,xet.reference_date_1
80786 ,xet.reference_date_2
80787 ,xet.reference_date_3
80788 ,xet.reference_date_4
80789 ,xet.event_created_by
80790 ,xet.budgetary_control_flag
80791 , l1.LINE_NUMBER
80792 , l1.DOCUMENT_DISTRIBUTION_TYPE source_2
80793 , l3.PROJECT_NAME source_3
80794 , l4.TASK_NUMBER source_4
80795 , l2.EXPENDITURE_ORGANIZATION_ID source_5
80796 , l1.AID_DIST_CCID source_11
80797 , l1.BUDGET_CCID source_14
80798 , l1.DISTRIBUTION_LINK_TYPE source_21
80799 , l1.AID_INVOICE_DIST_ID source_30
80800 , l1.AI_INVOICE_CURRENCY_CODE source_33
80801 , l1.INV_EXCHANGE_DATE source_39
80802 , l1.INV_EXCHANGE_RATE source_40
80803 , l1.INV_EXCHANGE_RATE_TYPE source_41
80804 , l1.AID_AMOUNT source_57
80805 , l1.DOCUMENT_TYPE source_83
80806 , l3.PROJ_BURDEN_DISPLAY_METHOD source_84
80807 , l1.ACCT_REVERSAL_INDICATOR source_85
80808 , l1.ALLOC_TO_APPLN_ID source_86
80809 , l1.ALLOC_TO_DIST_TYPE source_87
80810 , l1.ALLOC_TO_ENTITY_CODE source_88
80811 , l1.ALLOC_TO_FIRST_DIST_ID source_89
80812 , l1.ALLOC_TO_FIRST_SYS_TRANS_ID source_90
80813 , l1.AP_APPLICATION_ID source_91
80814 , l1.AP_DISTRIBUTION_TYPE source_92
80815 , l1.AP_ENTITY_CODE source_93
80816 , l1.AP_FIRST_DIST_ID source_94
80817 , l1.AP_FIRST_SYS_TRANS_ID source_95
80818 , l1.AID_EXPENDITURE_TYPE source_96
80819 , l1.ENC_UPG_CR_ACCT_CLASS source_97
80820 , l1.ENC_UPG_CR_ACCOUNT source_98
80821 , l1.AID_BASE_AMT_NO_ROUND source_99
80822 , l1.ENC_UPG_DR_ACCT_CLASS source_100
80823 , l1.ENC_UPG_DR_ACCOUNT source_101
80824 , l1.USE_ENC_UPG_ATTRIB_FLAG source_102
80825 , l1.ACCT_REVERSAL_FIRST_DIST_ID source_103
80826 , l1.AP_SECOND_DIST_ID source_104
80827 , l1.ACCT_REV_DISTRIBUTION_TYPE source_105
80828 , l1.ENC_UPG_CR_ENC_TYPE_ID source_106
80832 , l1.PA_APPLICATION_ID source_109
80829 , l1.ENC_UPG_DR_ENC_TYPE_ID source_107
80830 , l1.BURDEN_COST_FLAG source_108
80831 , fvl108.meaning source_108_meaning
80833 , l1.PA_DISTRIBUTION_TYPE source_110
80834 , l1.PA_ENTITY_CODE source_111
80835 , l1.PA_FIRST_DIST_ID source_112
80836 , l1.PA_FIRST_SYS_TRANS_ID source_113
80837 , l1.PA_SECOND_DIST_ID source_114
80838 FROM xla_events_gt xet
80839 , PA_XLA_BC_PKT_AP_DETAIL_V l1
80840 , PA_XLA_EXP_ORG_REF_V l2
80841 , PA_XLA_PROJECT_REF_V l3
80842 , PA_XLA_TASK_REF_V l4
80843 , fnd_lookup_values fvl108
80844 WHERE xet.event_id between x_first_event_id and x_last_event_id
80845 and xet.event_date between p_pad_start_date and p_pad_end_date
80846 and xet.event_class_code = C_EVENT_CLASS_CODE
80847 and xet.event_status_code <> 'N' AND l1.event_id = xet.event_id
80848 AND l2.EXPENDITURE_ORGANIZATION_ID=l1.AID_EXPENDITURE_ORG_ID AND l3.PROJECT_ID=l1.AID_PROJECT_ID AND l4.TASK_ID=l1.AID_TASK_ID AND fvl108.lookup_type(+) = 'BC_PKT_BURDEN_COST_FLAG'
80849 AND fvl108.lookup_code(+) = l1.BURDEN_COST_FLAG
80850 AND fvl108.view_application_id(+) = 275
80851 AND fvl108.language(+) = USERENV('LANG')
80852 ;
80853
80854 --
80855 BEGIN
80856 IF g_log_enabled THEN
80857 l_log_module := C_DEFAULT_MODULE||'.EventClass_109';
80858 END IF;
80859 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
80860 trace
80861 (p_msg => 'BEGIN of EventClass_109'
80862 ,p_level => C_LEVEL_PROCEDURE
80863 ,p_module => l_log_module);
80864 END IF;
80865
80866 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
80867 trace
80868 (p_msg => 'p_application_id = '||p_application_id||
80869 ' - p_base_ledger_id = '||p_base_ledger_id||
80870 ' - p_target_ledger_id = '||p_target_ledger_id||
80871 ' - p_language = '||p_language||
80872 ' - p_currency_code = '||p_currency_code||
80873 ' - p_sla_ledger_id = '||p_sla_ledger_id
80874 ,p_level => C_LEVEL_STATEMENT
80875 ,p_module => l_log_module);
80876 END IF;
80877 --
80878 -- initialze arrays
80879 --
80880 g_array_event.DELETE;
80881 l_rec_array_event := l_null_rec_array_event;
80882 --
80883 --------------------------------------
80884 -- 4262811 Initialze MPA Line Number
80885 --------------------------------------
80886 XLA_AE_HEADER_PKG.g_mpa_line_num := 0;
80887
80888 --
80889
80890 --
80891 OPEN header_cur;
80892 --
80893 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
80894 trace
80895 (p_msg => 'SQL - FETCH header_cur'
80896 ,p_level => C_LEVEL_STATEMENT
80897 ,p_module => l_log_module);
80898 END IF;
80899 --
80900 LOOP
80901 FETCH header_cur BULK COLLECT INTO
80902 l_array_entity_id
80903 , l_array_legal_entity_id
80904 , l_array_entity_code
80905 , l_array_transaction_num
80906 , l_array_event_id
80907 , l_array_class_code
80908 , l_array_event_type
80909 , l_array_event_number
80910 , l_array_event_date
80911 , l_array_transaction_date
80912 , l_array_reference_num_1
80913 , l_array_reference_num_2
80914 , l_array_reference_num_3
80915 , l_array_reference_num_4
80916 , l_array_reference_char_1
80917 , l_array_reference_char_2
80918 , l_array_reference_char_3
80919 , l_array_reference_char_4
80920 , l_array_reference_date_1
80921 , l_array_reference_date_2
80922 , l_array_reference_date_3
80923 , l_array_reference_date_4
80924 , l_array_event_created_by
80925 , l_array_budgetary_control_flag
80926 LIMIT l_rows;
80927 --
80928 IF (C_LEVEL_EVENT >= g_log_level) THEN
80929 trace
80930 (p_msg => '# rows extracted from header extract objects = '||TO_CHAR(header_cur%ROWCOUNT)
80931 ,p_level => C_LEVEL_EVENT
80932 ,p_module => l_log_module);
80933 END IF;
80934 --
80935 EXIT WHEN l_array_entity_id.COUNT = 0;
80936
80937 -- initialize arrays
80938 XLA_AE_HEADER_PKG.g_rec_header_new := NULL;
80939 XLA_AE_LINES_PKG.g_rec_lines := NULL;
80940
80941 --
80942 -- Bug 4458708
80943 --
80944 XLA_AE_LINES_PKG.g_LineNumber := 0;
80945
80946
80947 -- 4262811 - when creating Accrual Reversal or MPA, use g_last_hdr_idx to increment for next header id
80948 g_last_hdr_idx := l_array_event_id.LAST;
80949 --
80950 -- loop for the headers. Each iteration is for each header extract row
80951 -- fetched in header cursor
80952 --
80953 FOR hdr_idx IN l_array_event_id.FIRST .. l_array_event_id.LAST LOOP
80954
80955 --
80956 -- set event info as cache for other routines to refer event attributes
80957 --
80958 XLA_AE_JOURNAL_ENTRY_PKG.set_event_info
80959 (p_application_id => p_application_id
80960 ,p_primary_ledger_id => p_primary_ledger_id
80961 ,p_base_ledger_id => p_base_ledger_id
80962 ,p_target_ledger_id => p_target_ledger_id
80963 ,p_entity_id => l_array_entity_id(hdr_idx)
80964 ,p_legal_entity_id => l_array_legal_entity_id(hdr_idx)
80965 ,p_entity_code => l_array_entity_code(hdr_idx)
80966 ,p_transaction_num => l_array_transaction_num(hdr_idx)
80967 ,p_event_id => l_array_event_id(hdr_idx)
80968 ,p_event_class_code => l_array_class_code(hdr_idx)
80969 ,p_event_type_code => l_array_event_type(hdr_idx)
80970 ,p_event_number => l_array_event_number(hdr_idx)
80971 ,p_event_date => l_array_event_date(hdr_idx)
80972 ,p_transaction_date => l_array_transaction_date(hdr_idx)
80976 ,p_reference_num_4 => l_array_reference_num_4(hdr_idx)
80973 ,p_reference_num_1 => l_array_reference_num_1(hdr_idx)
80974 ,p_reference_num_2 => l_array_reference_num_2(hdr_idx)
80975 ,p_reference_num_3 => l_array_reference_num_3(hdr_idx)
80977 ,p_reference_char_1 => l_array_reference_char_1(hdr_idx)
80978 ,p_reference_char_2 => l_array_reference_char_2(hdr_idx)
80979 ,p_reference_char_3 => l_array_reference_char_3(hdr_idx)
80980 ,p_reference_char_4 => l_array_reference_char_4(hdr_idx)
80981 ,p_reference_date_1 => l_array_reference_date_1(hdr_idx)
80982 ,p_reference_date_2 => l_array_reference_date_2(hdr_idx)
80983 ,p_reference_date_3 => l_array_reference_date_3(hdr_idx)
80984 ,p_reference_date_4 => l_array_reference_date_4(hdr_idx)
80985 ,p_event_created_by => l_array_event_created_by(hdr_idx)
80986 ,p_budgetary_control_flag => l_array_budgetary_control_flag(hdr_idx));
80987
80988 --
80989 -- set the status of entry to C_VALID (0)
80990 --
80991 XLA_AE_JOURNAL_ENTRY_PKG.g_global_status := XLA_AE_JOURNAL_ENTRY_PKG.C_VALID;
80992
80993 --
80994 -- initialize a row for ae header
80995 --
80996 XLA_AE_HEADER_PKG.InitHeader(hdr_idx);
80997
80998 l_event_id := l_array_event_id(hdr_idx);
80999
81000 --
81001 -- storing the hdr_idx for event. May be used by line cursor.
81002 --
81003 g_array_event(l_event_id).array_value_num('header_index') := hdr_idx;
81004
81005 --
81006 -- store sources from header extract. This can be improved to
81007 -- store only those sources from header extract that may be used in lines
81008 --
81009
81010
81011 --
81012 -- initilaize the status of ae headers for diffrent balance types
81013 -- the status is initialised to C_NOT_CREATED (2)
81014 --
81015 --g_array_event(l_event_id).array_value_num('actual_je_status') := XLA_AE_JOURNAL_ENTRY_PKG.C_NOT_CREATED;
81016 --g_array_event(l_event_id).array_value_num('budget_je_status') := XLA_AE_JOURNAL_ENTRY_PKG.C_NOT_CREATED;
81017 --g_array_event(l_event_id).array_value_num('encumbrance_je_status') := XLA_AE_JOURNAL_ENTRY_PKG.C_NOT_CREATED;
81018
81019 --
81020 -- call api to validate and store accounting attributes for header
81021 --
81022
81023 ------------------------------------------------------------
81024 -- Accrual Reversal : to get date for Standard Source (NONE)
81025 ------------------------------------------------------------
81026 l_acc_rev_gl_date_source := NULL;
81027
81028 l_rec_acct_attrs.array_acct_attr_code(1) := 'GL_DATE';
81029 l_rec_acct_attrs.array_date_value(1) :=
81030 xla_ae_sources_pkg.GetSystemSourceDate(
81031 p_source_code => 'XLA_EVENT_DATE'
81032 , p_source_type_code => 'Y'
81033 , p_source_application_id => 602
81034 );
81035
81036
81037 XLA_AE_HEADER_PKG.SetHdrAcctAttrs(l_rec_acct_attrs);
81038
81039 XLA_AE_HEADER_PKG.SetJeCategoryName;
81040
81041 XLA_AE_HEADER_PKG.g_rec_header_new.array_event_type_code(hdr_idx) := l_array_event_type(hdr_idx);
81042 XLA_AE_HEADER_PKG.g_rec_header_new.array_event_id(hdr_idx) := l_array_event_id(hdr_idx);
81043 XLA_AE_HEADER_PKG.g_rec_header_new.array_entity_id(hdr_idx) := l_array_entity_id(hdr_idx);
81044 XLA_AE_HEADER_PKG.g_rec_header_new.array_event_number(hdr_idx) := l_array_event_number(hdr_idx);
81045 XLA_AE_HEADER_PKG.g_rec_header_new.array_target_ledger_id(hdr_idx) := p_target_ledger_id;
81046
81047
81048 -- No header level analytical criteria
81049
81050 --
81051 --accounting attribute enhancement, bug 3612931
81052 --
81053 l_trx_reversal_source := SUBSTR(NULL, 1,30);
81054
81055 IF NVL(l_trx_reversal_source, 'N') NOT IN ('N','Y') THEN
81056 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
81057
81058 xla_accounting_err_pkg.build_message
81059 (p_appli_s_name => 'XLA'
81060 ,p_msg_name => 'XLA_AP_INVALID_HDR_ATTR'
81061 ,p_token_1 => 'ACCT_ATTR_NAME'
81062 ,p_value_1 => xla_ae_sources_pkg.GetAccountingSourceName('TRX_ACCT_REVERSAL_OPTION')
81063 ,p_token_2 => 'PRODUCT_NAME'
81064 ,p_value_2 => xla_ae_journal_entry_pkg.g_cache_event.application_name
81065 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
81066 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
81067 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id);
81068
81069 ELSIF NVL(l_trx_reversal_source, 'N') = 'Y' THEN
81070 --
81071 -- following sets the accounting attributes needed to reverse
81072 -- accounting for a distributeion
81073 --
81074 xla_ae_lines_pkg.SetTrxReversalAttrs
81075 (p_event_id => l_event_id
81076 ,p_gl_date => XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(hdr_idx)
81077 ,p_trx_reversal_source => l_trx_reversal_source);
81078
81079 END IF;
81080
81081
81082 ----------------------------------------------------------------
81083 -- 4262811 - update the header statuses to invalid in need be
81084 ----------------------------------------------------------------
81085 --
81086 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus (p_hdr_idx => hdr_idx);
81087
81088
81089 -----------------------------------------------
81090 -- No accrual reversal for the event class/type
81091 -----------------------------------------------
81092 ----------------------------------------------------------------
81093
81094 --
81095 -- this ends the header loop iteration for one bulk fetch
81096 --
81097 END LOOP;
81098
81099 l_first_event_id := l_array_event_id(l_array_event_id.FIRST);
81100 l_last_event_id := l_array_event_id(l_array_event_id.LAST);
81101
81102 --
81106 IF XLA_AE_LINES_PKG.g_rec_lines.array_ae_header_id.COUNT > 0 THEN
81103 -- insert dummy rows into lines gt table that were created due to
81104 -- transaction reversals
81105 --
81107 l_result := XLA_AE_LINES_PKG.InsertLines;
81108 END IF;
81109
81110 --
81111 -- reset the temp_line_num for each set of events fetched from header
81112 -- cursor rather than doing it for each new event in line cursor
81113 -- Bug 3939231
81114 --
81115 xla_ae_lines_pkg.g_temp_line_num := 0;
81116
81117
81118
81119 --
81120 OPEN line_cur(x_first_event_id => l_first_event_id, x_last_event_id => l_last_event_id);
81121 --
81122 --
81123 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
81124
81125 trace
81126 (p_msg => 'SQL - FETCH line_cur'
81127 ,p_level => C_LEVEL_STATEMENT
81128 ,p_module => l_log_module);
81129
81130 END IF;
81131 --
81132 --
81133 LOOP
81134 --
81135 FETCH line_cur BULK COLLECT INTO
81136 l_array_entity_id
81137 , l_array_legal_entity_id
81138 , l_array_entity_code
81139 , l_array_transaction_num
81140 , l_array_event_id
81141 , l_array_class_code
81142 , l_array_event_type
81143 , l_array_event_number
81144 , l_array_event_date
81145 , l_array_transaction_date
81146 , l_array_reference_num_1
81147 , l_array_reference_num_2
81148 , l_array_reference_num_3
81149 , l_array_reference_num_4
81150 , l_array_reference_char_1
81151 , l_array_reference_char_2
81152 , l_array_reference_char_3
81153 , l_array_reference_char_4
81154 , l_array_reference_date_1
81155 , l_array_reference_date_2
81156 , l_array_reference_date_3
81157 , l_array_reference_date_4
81158 , l_array_event_created_by
81159 , l_array_budgetary_control_flag
81160 , l_array_extract_line_num
81161 , l_array_source_2
81162 , l_array_source_3
81163 , l_array_source_4
81164 , l_array_source_5
81165 , l_array_source_11
81166 , l_array_source_14
81167 , l_array_source_21
81168 , l_array_source_30
81169 , l_array_source_33
81170 , l_array_source_39
81171 , l_array_source_40
81172 , l_array_source_41
81173 , l_array_source_57
81174 , l_array_source_83
81175 , l_array_source_84
81176 , l_array_source_85
81177 , l_array_source_86
81178 , l_array_source_87
81179 , l_array_source_88
81180 , l_array_source_89
81181 , l_array_source_90
81182 , l_array_source_91
81183 , l_array_source_92
81184 , l_array_source_93
81185 , l_array_source_94
81186 , l_array_source_95
81187 , l_array_source_96
81188 , l_array_source_97
81189 , l_array_source_98
81190 , l_array_source_99
81191 , l_array_source_100
81192 , l_array_source_101
81193 , l_array_source_102
81194 , l_array_source_103
81195 , l_array_source_104
81196 , l_array_source_105
81197 , l_array_source_106
81198 , l_array_source_107
81199 , l_array_source_108
81200 , l_array_source_108_meaning
81201 , l_array_source_109
81202 , l_array_source_110
81203 , l_array_source_111
81204 , l_array_source_112
81205 , l_array_source_113
81206 , l_array_source_114
81207 LIMIT l_rows;
81208
81209 --
81210 IF (C_LEVEL_EVENT >= g_log_level) THEN
81211 trace
81212 (p_msg => '# rows extracted from line extract objects = '||TO_CHAR(line_cur%ROWCOUNT)
81213 ,p_level => C_LEVEL_EVENT
81214 ,p_module => l_log_module);
81215 END IF;
81216 --
81217 EXIT WHEN l_array_entity_id.count = 0;
81218
81219 XLA_AE_LINES_PKG.g_rec_lines := null;
81220
81221 --
81222 -- Bug 4458708
81223 --
81224 XLA_AE_LINES_PKG.g_LineNumber := 0;
81225 --
81226 --
81227
81228 FOR Idx IN 1..l_array_event_id.count LOOP
81229 --
81230 -- 5648433 (move l_event_id out of IF statement) set l_event_id to be used inside IF condition
81231 --
81232 l_event_id := l_array_event_id(idx); -- 5648433
81233
81234 --
81235 -- Bug 4872078 - Do nothing if the event is meant for transaction reversal
81236 --
81237
81238 IF NVL(xla_ae_header_pkg.g_rec_header_new.array_trx_acct_reversal_option
81239 (g_array_event(l_event_id).array_value_num('header_index'))
81240 ,'N'
81241 ) <> 'Y'
81242 THEN
81243 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
81244 trace
81245 (p_msg => 'Trancaction revesal option is not Y '
81246 ,p_level => C_LEVEL_STATEMENT
81247 ,p_module => l_log_module);
81248 END IF;
81249
81250 --
81251 -- set the XLA_AE_JOURNAL_ENTRY_PKG.g_global_status to C_VALID (0)
81252 --
81253 XLA_AE_JOURNAL_ENTRY_PKG.g_global_status := XLA_AE_JOURNAL_ENTRY_PKG.C_VALID;
81254 --
81255 -- set event info as cache for other routines to refer event attributes
81256 --
81257
81258 IF l_event_id <> NVL(l_previous_event_id, -1) THEN
81259 l_previous_event_id := l_event_id;
81260
81261 XLA_AE_JOURNAL_ENTRY_PKG.set_event_info
81262 (p_application_id => p_application_id
81263 ,p_primary_ledger_id => p_primary_ledger_id
81264 ,p_base_ledger_id => p_base_ledger_id
81265 ,p_target_ledger_id => p_target_ledger_id
81266 ,p_entity_id => l_array_entity_id(Idx)
81267 ,p_legal_entity_id => l_array_legal_entity_id(Idx)
81271 ,p_event_class_code => l_array_class_code(Idx)
81268 ,p_entity_code => l_array_entity_code(Idx)
81269 ,p_transaction_num => l_array_transaction_num(Idx)
81270 ,p_event_id => l_array_event_id(Idx)
81272 ,p_event_type_code => l_array_event_type(Idx)
81273 ,p_event_number => l_array_event_number(Idx)
81274 ,p_event_date => l_array_event_date(Idx)
81275 ,p_transaction_date => l_array_transaction_date(Idx)
81276 ,p_reference_num_1 => l_array_reference_num_1(Idx)
81277 ,p_reference_num_2 => l_array_reference_num_2(Idx)
81278 ,p_reference_num_3 => l_array_reference_num_3(Idx)
81279 ,p_reference_num_4 => l_array_reference_num_4(Idx)
81280 ,p_reference_char_1 => l_array_reference_char_1(Idx)
81281 ,p_reference_char_2 => l_array_reference_char_2(Idx)
81282 ,p_reference_char_3 => l_array_reference_char_3(Idx)
81283 ,p_reference_char_4 => l_array_reference_char_4(Idx)
81284 ,p_reference_date_1 => l_array_reference_date_1(Idx)
81285 ,p_reference_date_2 => l_array_reference_date_2(Idx)
81286 ,p_reference_date_3 => l_array_reference_date_3(Idx)
81287 ,p_reference_date_4 => l_array_reference_date_4(Idx)
81288 ,p_event_created_by => l_array_event_created_by(Idx)
81289 ,p_budgetary_control_flag => l_array_budgetary_control_flag(Idx));
81290 --
81291 END IF;
81292
81293
81294
81295 --
81296 xla_ae_lines_pkg.SetExtractLine(p_extract_line => l_array_extract_line_num(Idx));
81297
81298 l_acct_reversal_source := SUBSTR(l_array_source_85(Idx), 1,30);
81299
81300 IF l_continue_with_lines THEN
81301 IF NVL(l_acct_reversal_source, 'N') NOT IN ('N','Y','B') THEN
81302 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
81303
81304 xla_accounting_err_pkg.build_message
81305 (p_appli_s_name => 'XLA'
81306 ,p_msg_name => 'XLA_AP_INVALID_REVERSAL_OPTION'
81307 ,p_token_1 => 'LINE_NUMBER'
81308 ,p_value_1 => l_array_extract_line_num(Idx)
81309 ,p_token_2 => 'PRODUCT_NAME'
81310 ,p_value_2 => xla_ae_journal_entry_pkg.g_cache_event.application_name
81311 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
81312 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
81313 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id);
81314
81315 ELSIF NVL(l_acct_reversal_source, 'N') IN ('Y','B') THEN
81316 --
81317 -- following sets the accounting attributes needed to reverse
81318 -- accounting for a distributeion
81319 --
81320
81321 --
81322 -- 5217187
81323 --
81324 l_rec_rev_acct_attrs.array_acct_attr_code(1):= 'GL_DATE';
81325 l_rec_rev_acct_attrs.array_date_value(1) := XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(
81326 g_array_event(l_event_id).array_value_num('header_index'));
81327 --
81328 --
81329
81330 l_rec_rev_acct_attrs.array_acct_attr_code(2) := 'ACCOUNTING_REVERSAL_OPTION';
81331 l_rec_rev_acct_attrs.array_char_value(2) := l_array_source_85(Idx);
81332 l_rec_rev_acct_attrs.array_acct_attr_code(3) := 'DISTRIBUTION_IDENTIFIER_1';
81333 l_rec_rev_acct_attrs.array_num_value(3) := l_array_source_30(Idx);
81334 l_rec_rev_acct_attrs.array_acct_attr_code(4) := 'DISTRIBUTION_IDENTIFIER_2';
81335 l_rec_rev_acct_attrs.array_char_value(4) := l_array_source_96(Idx);
81336 l_rec_rev_acct_attrs.array_acct_attr_code(5) := 'DISTRIBUTION_TYPE';
81337 l_rec_rev_acct_attrs.array_char_value(5) := l_array_source_21(Idx);
81338 l_rec_rev_acct_attrs.array_acct_attr_code(6) := 'ENC_UPG_CR_ACCT_CLASS';
81339 l_rec_rev_acct_attrs.array_char_value(6) := l_array_source_97(Idx);
81340 l_rec_rev_acct_attrs.array_acct_attr_code(7) := 'ENC_UPG_CR_CCID';
81341 l_rec_rev_acct_attrs.array_num_value(7) := l_array_source_98(Idx);
81342 l_rec_rev_acct_attrs.array_acct_attr_code(8) := 'ENC_UPG_CR_ENTERED_AMT';
81343 l_rec_rev_acct_attrs.array_num_value(8) := l_array_source_57(Idx);
81344 l_rec_rev_acct_attrs.array_acct_attr_code(9) := 'ENC_UPG_CR_ENTERED_CURR';
81345 l_rec_rev_acct_attrs.array_char_value(9) := l_array_source_33(Idx);
81346 l_rec_rev_acct_attrs.array_acct_attr_code(10) := 'ENC_UPG_CR_LEDGER_AMT';
81347 l_rec_rev_acct_attrs.array_num_value(10) := l_array_source_99(Idx);
81348 l_rec_rev_acct_attrs.array_acct_attr_code(11) := 'ENC_UPG_DR_ACCT_CLASS';
81349 l_rec_rev_acct_attrs.array_char_value(11) := l_array_source_100(Idx);
81350 l_rec_rev_acct_attrs.array_acct_attr_code(12) := 'ENC_UPG_DR_CCID';
81351 l_rec_rev_acct_attrs.array_num_value(12) := l_array_source_101(Idx);
81352 l_rec_rev_acct_attrs.array_acct_attr_code(13) := 'ENC_UPG_DR_ENTERED_AMT';
81353 l_rec_rev_acct_attrs.array_num_value(13) := l_array_source_57(Idx);
81354 l_rec_rev_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_DR_ENTERED_CURR';
81355 l_rec_rev_acct_attrs.array_char_value(14) := l_array_source_33(Idx);
81356 l_rec_rev_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_DR_LEDGER_AMT';
81357 l_rec_rev_acct_attrs.array_num_value(15) := l_array_source_99(Idx);
81358 l_rec_rev_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_OPTION';
81359 l_rec_rev_acct_attrs.array_char_value(16) := l_array_source_102(Idx);
81360 l_rec_rev_acct_attrs.array_acct_attr_code(17) := 'REVERSED_DISTRIBUTION_ID1';
81361 l_rec_rev_acct_attrs.array_num_value(17) := l_array_source_103(Idx);
81362 l_rec_rev_acct_attrs.array_acct_attr_code(18) := 'REVERSED_DISTRIBUTION_ID2';
81363 l_rec_rev_acct_attrs.array_char_value(18) := l_array_source_104(Idx);
81364 l_rec_rev_acct_attrs.array_acct_attr_code(19) := 'REVERSED_DISTRIBUTION_TYPE';
81368 l_rec_rev_acct_attrs.array_acct_attr_code(21) := 'UPG_DR_ENC_TYPE_ID';
81365 l_rec_rev_acct_attrs.array_char_value(19) := l_array_source_105(Idx);
81366 l_rec_rev_acct_attrs.array_acct_attr_code(20) := 'UPG_CR_ENC_TYPE_ID';
81367 l_rec_rev_acct_attrs.array_num_value(20) := l_array_source_106(Idx);
81369 l_rec_rev_acct_attrs.array_num_value(21) := l_array_source_107(Idx);
81370
81371
81372 xla_ae_lines_pkg.SetAcctReversalAttrs
81373 (p_event_id => l_event_id
81374 ,p_rec_acct_attrs => l_rec_rev_acct_attrs
81375 ,p_calculate_acctd_flag => l_calculate_acctd_flag
81376 ,p_calculate_g_l_flag => l_calculate_g_l_flag);
81377 END IF;
81378
81379 IF NVL(l_acct_reversal_source, 'N') IN ('N','B') THEN
81380 l_actual_flag := NULL; l_actual_gain_loss_ref := '#####';
81381
81382 --
81383 AcctLineType_90 (
81384 p_application_id => p_application_id
81385 ,p_event_id => l_event_id
81386 ,p_calculate_acctd_flag => l_calculate_acctd_flag
81387 ,p_calculate_g_l_flag => l_calculate_g_l_flag
81388 ,p_actual_flag => l_actual_flag
81389 ,p_balance_type_code => l_balance_type_code
81390 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
81391
81392 , p_source_2 => l_array_source_2(Idx)
81393 , p_source_3 => l_array_source_3(Idx)
81394 , p_source_4 => l_array_source_4(Idx)
81395 , p_source_5 => l_array_source_5(Idx)
81396 , p_source_14 => l_array_source_14(Idx)
81397 , p_source_21 => l_array_source_21(Idx)
81398 , p_source_30 => l_array_source_30(Idx)
81399 , p_source_33 => l_array_source_33(Idx)
81400 , p_source_39 => l_array_source_39(Idx)
81401 , p_source_40 => l_array_source_40(Idx)
81402 , p_source_41 => l_array_source_41(Idx)
81403 , p_source_57 => l_array_source_57(Idx)
81404 , p_source_83 => l_array_source_83(Idx)
81405 , p_source_84 => l_array_source_84(Idx)
81406 , p_source_85 => l_array_source_85(Idx)
81407 , p_source_86 => l_array_source_86(Idx)
81408 , p_source_87 => l_array_source_87(Idx)
81409 , p_source_88 => l_array_source_88(Idx)
81410 , p_source_89 => l_array_source_89(Idx)
81411 , p_source_90 => l_array_source_90(Idx)
81412 , p_source_91 => l_array_source_91(Idx)
81413 , p_source_92 => l_array_source_92(Idx)
81414 , p_source_93 => l_array_source_93(Idx)
81415 , p_source_94 => l_array_source_94(Idx)
81416 , p_source_95 => l_array_source_95(Idx)
81417 , p_source_96 => l_array_source_96(Idx)
81418 , p_source_97 => l_array_source_97(Idx)
81419 , p_source_98 => l_array_source_98(Idx)
81420 , p_source_99 => l_array_source_99(Idx)
81421 , p_source_100 => l_array_source_100(Idx)
81422 , p_source_101 => l_array_source_101(Idx)
81423 , p_source_102 => l_array_source_102(Idx)
81424 , p_source_103 => l_array_source_103(Idx)
81425 , p_source_104 => l_array_source_104(Idx)
81426 , p_source_105 => l_array_source_105(Idx)
81427 , p_source_106 => l_array_source_106(Idx)
81428 , p_source_107 => l_array_source_107(Idx)
81429 );
81430 If(l_balance_type_code = 'A') THEN
81431 l_actual_gain_loss_ref := l_gain_or_loss_ref;
81432 END IF;
81433
81434 --
81435
81436
81437 --
81438 AcctLineType_91 (
81439 p_application_id => p_application_id
81440 ,p_event_id => l_event_id
81441 ,p_calculate_acctd_flag => l_calculate_acctd_flag
81442 ,p_calculate_g_l_flag => l_calculate_g_l_flag
81443 ,p_actual_flag => l_actual_flag
81444 ,p_balance_type_code => l_balance_type_code
81445 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
81446
81447 , p_source_2 => l_array_source_2(Idx)
81448 , p_source_3 => l_array_source_3(Idx)
81449 , p_source_4 => l_array_source_4(Idx)
81450 , p_source_5 => l_array_source_5(Idx)
81451 , p_source_11 => l_array_source_11(Idx)
81452 , p_source_14 => l_array_source_14(Idx)
81453 , p_source_21 => l_array_source_21(Idx)
81454 , p_source_30 => l_array_source_30(Idx)
81455 , p_source_33 => l_array_source_33(Idx)
81456 , p_source_39 => l_array_source_39(Idx)
81457 , p_source_40 => l_array_source_40(Idx)
81458 , p_source_41 => l_array_source_41(Idx)
81459 , p_source_57 => l_array_source_57(Idx)
81460 , p_source_83 => l_array_source_83(Idx)
81461 , p_source_84 => l_array_source_84(Idx)
81462 , p_source_85 => l_array_source_85(Idx)
81463 , p_source_86 => l_array_source_86(Idx)
81464 , p_source_87 => l_array_source_87(Idx)
81465 , p_source_88 => l_array_source_88(Idx)
81466 , p_source_89 => l_array_source_89(Idx)
81467 , p_source_90 => l_array_source_90(Idx)
81468 , p_source_91 => l_array_source_91(Idx)
81469 , p_source_92 => l_array_source_92(Idx)
81470 , p_source_93 => l_array_source_93(Idx)
81471 , p_source_94 => l_array_source_94(Idx)
81472 , p_source_95 => l_array_source_95(Idx)
81473 , p_source_96 => l_array_source_96(Idx)
81474 , p_source_97 => l_array_source_97(Idx)
81475 , p_source_98 => l_array_source_98(Idx)
81476 , p_source_99 => l_array_source_99(Idx)
81477 , p_source_100 => l_array_source_100(Idx)
81478 , p_source_101 => l_array_source_101(Idx)
81479 , p_source_102 => l_array_source_102(Idx)
81480 , p_source_103 => l_array_source_103(Idx)
81481 , p_source_104 => l_array_source_104(Idx)
81482 , p_source_105 => l_array_source_105(Idx)
81483 , p_source_106 => l_array_source_106(Idx)
81484 , p_source_107 => l_array_source_107(Idx)
81485 , p_source_108 => l_array_source_108(Idx)
81486 , p_source_108_meaning => l_array_source_108_meaning(Idx)
81487 );
81488 If(l_balance_type_code = 'A') THEN
81489 l_actual_gain_loss_ref := l_gain_or_loss_ref;
81490 END IF;
81491
81492 --
81493
81494
81495 --
81496 AcctLineType_92 (
81497 p_application_id => p_application_id
81498 ,p_event_id => l_event_id
81499 ,p_calculate_acctd_flag => l_calculate_acctd_flag
81500 ,p_calculate_g_l_flag => l_calculate_g_l_flag
81501 ,p_actual_flag => l_actual_flag
81502 ,p_balance_type_code => l_balance_type_code
81506 , p_source_3 => l_array_source_3(Idx)
81503 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
81504
81505 , p_source_2 => l_array_source_2(Idx)
81507 , p_source_4 => l_array_source_4(Idx)
81508 , p_source_5 => l_array_source_5(Idx)
81509 , p_source_14 => l_array_source_14(Idx)
81510 , p_source_21 => l_array_source_21(Idx)
81511 , p_source_30 => l_array_source_30(Idx)
81512 , p_source_33 => l_array_source_33(Idx)
81513 , p_source_39 => l_array_source_39(Idx)
81514 , p_source_40 => l_array_source_40(Idx)
81515 , p_source_41 => l_array_source_41(Idx)
81516 , p_source_57 => l_array_source_57(Idx)
81517 , p_source_83 => l_array_source_83(Idx)
81518 , p_source_84 => l_array_source_84(Idx)
81519 , p_source_85 => l_array_source_85(Idx)
81520 , p_source_86 => l_array_source_86(Idx)
81521 , p_source_87 => l_array_source_87(Idx)
81522 , p_source_88 => l_array_source_88(Idx)
81523 , p_source_89 => l_array_source_89(Idx)
81524 , p_source_90 => l_array_source_90(Idx)
81525 , p_source_91 => l_array_source_91(Idx)
81526 , p_source_92 => l_array_source_92(Idx)
81527 , p_source_93 => l_array_source_93(Idx)
81528 , p_source_94 => l_array_source_94(Idx)
81529 , p_source_95 => l_array_source_95(Idx)
81530 , p_source_96 => l_array_source_96(Idx)
81531 , p_source_97 => l_array_source_97(Idx)
81532 , p_source_98 => l_array_source_98(Idx)
81533 , p_source_99 => l_array_source_99(Idx)
81534 , p_source_100 => l_array_source_100(Idx)
81535 , p_source_101 => l_array_source_101(Idx)
81536 , p_source_102 => l_array_source_102(Idx)
81537 , p_source_103 => l_array_source_103(Idx)
81538 , p_source_104 => l_array_source_104(Idx)
81539 , p_source_105 => l_array_source_105(Idx)
81540 , p_source_106 => l_array_source_106(Idx)
81541 , p_source_107 => l_array_source_107(Idx)
81542 , p_source_108 => l_array_source_108(Idx)
81543 , p_source_108_meaning => l_array_source_108_meaning(Idx)
81544 );
81545 If(l_balance_type_code = 'A') THEN
81546 l_actual_gain_loss_ref := l_gain_or_loss_ref;
81547 END IF;
81548
81549 --
81550
81551
81552 --
81553 AcctLineType_94 (
81554 p_application_id => p_application_id
81555 ,p_event_id => l_event_id
81556 ,p_calculate_acctd_flag => l_calculate_acctd_flag
81557 ,p_calculate_g_l_flag => l_calculate_g_l_flag
81558 ,p_actual_flag => l_actual_flag
81559 ,p_balance_type_code => l_balance_type_code
81560 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
81561
81562 , p_source_2 => l_array_source_2(Idx)
81563 , p_source_3 => l_array_source_3(Idx)
81564 , p_source_4 => l_array_source_4(Idx)
81565 , p_source_5 => l_array_source_5(Idx)
81566 , p_source_21 => l_array_source_21(Idx)
81567 , p_source_30 => l_array_source_30(Idx)
81568 , p_source_33 => l_array_source_33(Idx)
81569 , p_source_57 => l_array_source_57(Idx)
81570 , p_source_83 => l_array_source_83(Idx)
81571 , p_source_85 => l_array_source_85(Idx)
81572 , p_source_86 => l_array_source_86(Idx)
81573 , p_source_87 => l_array_source_87(Idx)
81574 , p_source_88 => l_array_source_88(Idx)
81575 , p_source_89 => l_array_source_89(Idx)
81576 , p_source_90 => l_array_source_90(Idx)
81577 , p_source_96 => l_array_source_96(Idx)
81578 , p_source_97 => l_array_source_97(Idx)
81579 , p_source_98 => l_array_source_98(Idx)
81580 , p_source_99 => l_array_source_99(Idx)
81581 , p_source_100 => l_array_source_100(Idx)
81582 , p_source_101 => l_array_source_101(Idx)
81583 , p_source_102 => l_array_source_102(Idx)
81584 , p_source_103 => l_array_source_103(Idx)
81585 , p_source_104 => l_array_source_104(Idx)
81586 , p_source_105 => l_array_source_105(Idx)
81587 , p_source_106 => l_array_source_106(Idx)
81588 , p_source_107 => l_array_source_107(Idx)
81589 , p_source_109 => l_array_source_109(Idx)
81590 , p_source_110 => l_array_source_110(Idx)
81591 , p_source_111 => l_array_source_111(Idx)
81592 , p_source_112 => l_array_source_112(Idx)
81593 , p_source_113 => l_array_source_113(Idx)
81594 , p_source_114 => l_array_source_114(Idx)
81595 );
81596 If(l_balance_type_code = 'A') THEN
81597 l_actual_gain_loss_ref := l_gain_or_loss_ref;
81598 END IF;
81599
81600 --
81601
81602
81603 --
81604 AcctLineType_98 (
81605 p_application_id => p_application_id
81606 ,p_event_id => l_event_id
81607 ,p_calculate_acctd_flag => l_calculate_acctd_flag
81608 ,p_calculate_g_l_flag => l_calculate_g_l_flag
81609 ,p_actual_flag => l_actual_flag
81610 ,p_balance_type_code => l_balance_type_code
81611 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
81612
81613 , p_source_2 => l_array_source_2(Idx)
81614 , p_source_3 => l_array_source_3(Idx)
81615 , p_source_4 => l_array_source_4(Idx)
81616 , p_source_5 => l_array_source_5(Idx)
81617 , p_source_21 => l_array_source_21(Idx)
81618 , p_source_30 => l_array_source_30(Idx)
81619 , p_source_33 => l_array_source_33(Idx)
81620 , p_source_57 => l_array_source_57(Idx)
81621 , p_source_83 => l_array_source_83(Idx)
81622 , p_source_85 => l_array_source_85(Idx)
81623 , p_source_86 => l_array_source_86(Idx)
81624 , p_source_87 => l_array_source_87(Idx)
81625 , p_source_88 => l_array_source_88(Idx)
81626 , p_source_89 => l_array_source_89(Idx)
81627 , p_source_90 => l_array_source_90(Idx)
81628 , p_source_96 => l_array_source_96(Idx)
81629 , p_source_97 => l_array_source_97(Idx)
81630 , p_source_98 => l_array_source_98(Idx)
81631 , p_source_99 => l_array_source_99(Idx)
81632 , p_source_100 => l_array_source_100(Idx)
81633 , p_source_101 => l_array_source_101(Idx)
81634 , p_source_102 => l_array_source_102(Idx)
81635 , p_source_103 => l_array_source_103(Idx)
81636 , p_source_104 => l_array_source_104(Idx)
81637 , p_source_105 => l_array_source_105(Idx)
81638 , p_source_106 => l_array_source_106(Idx)
81639 , p_source_107 => l_array_source_107(Idx)
81640 , p_source_109 => l_array_source_109(Idx)
81641 , p_source_110 => l_array_source_110(Idx)
81645 , p_source_114 => l_array_source_114(Idx)
81642 , p_source_111 => l_array_source_111(Idx)
81643 , p_source_112 => l_array_source_112(Idx)
81644 , p_source_113 => l_array_source_113(Idx)
81646 );
81647 If(l_balance_type_code = 'A') THEN
81648 l_actual_gain_loss_ref := l_gain_or_loss_ref;
81649 END IF;
81650
81651 --
81652
81653 -- only execute it if calculate g/l flag is yes, and primary or secondary ledger
81654 -- or secondary ledger that has different currency with primary
81655 -- or alc that is calculated by sla
81656 IF (((l_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
81657 (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'))
81658
81659 -- IF((l_calculate_g_l_flag='Y' or XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id <>
81660 -- XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id)
81661 AND (l_actual_flag = 'A')) THEN
81662 XLA_AE_LINES_PKG.CreateGainOrLossLines(
81663 p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
81664 ,p_application_id => p_application_id
81665 ,p_amb_context_code => 'DEFAULT'
81666 ,p_entity_code => xla_ae_journal_entry_pkg.g_cache_event.entity_code
81667 ,p_event_class_code => C_EVENT_CLASS_CODE
81668 ,p_event_type_code => C_EVENT_TYPE_CODE
81669
81670 ,p_gain_ccid => -1
81671 ,p_loss_ccid => -1
81672
81673 ,p_actual_flag => l_actual_flag
81674 ,p_enc_flag => null
81675 ,p_actual_g_l_ref => l_actual_gain_loss_ref
81676 ,p_enc_g_l_ref => null
81677 );
81678 END IF;
81679 END IF;
81680 END IF;
81681
81682 ELSE
81683 --
81684 -- Bug 4872078 - Do nothing if the event is meant for transaction reversal
81685 --
81686 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
81687 trace
81688 (p_msg => 'Trancaction revesal option is Y'
81689 ,p_level => C_LEVEL_STATEMENT
81690 ,p_module => l_log_module);
81691 END IF;
81692 END IF;
81693
81694 END LOOP;
81695 l_result := XLA_AE_LINES_PKG.InsertLines ;
81696 end loop;
81697 close line_cur;
81698
81699
81700 --
81701 -- insert headers into xla_ae_headers_gt table
81702 --
81703 l_result := XLA_AE_HEADER_PKG.InsertHeaders ;
81704
81705 -- insert into errors table here.
81706
81707 END LOOP;
81708
81709 --
81710 -- 4865292
81711 --
81712 -- Compare g_hdr_extract_count with event count in
81713 -- CreateHeadersAndLines.
81714 --
81715 g_hdr_extract_count := g_hdr_extract_count + header_cur%ROWCOUNT;
81716
81717 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
81718 trace (p_msg => '# rows extracted from header extract objects '
81719 || ' (running total): '
81720 || g_hdr_extract_count
81721 ,p_level => C_LEVEL_STATEMENT
81722 ,p_module => l_log_module);
81723 END IF;
81724
81725 CLOSE header_cur;
81726 --
81727
81728 --
81729 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
81730 trace
81731 (p_msg => 'END of EventClass_109'
81732 ,p_level => C_LEVEL_PROCEDURE
81733 ,p_module => l_log_module);
81734 END IF;
81735 --
81736 RETURN l_result;
81737 EXCEPTION
81738 WHEN xla_exceptions_pkg.application_exception THEN
81739
81740 IF header_cur%ISOPEN THEN CLOSE header_cur; END IF;
81741
81742
81743 IF line_cur%ISOPEN THEN CLOSE line_cur; END IF;
81744
81745 RAISE;
81746
81747 WHEN NO_DATA_FOUND THEN
81748
81749 IF header_cur%ISOPEN THEN CLOSE header_cur; END IF;
81750 IF line_cur%ISOPEN THEN CLOSE line_cur; END IF;
81751
81752 FOR header_record IN header_cur
81753 LOOP
81754 l_array_header_events(header_record.event_id) := header_record.event_id;
81755 END LOOP;
81756
81757 l_first_event_id := l_array_header_events(l_array_header_events.FIRST);
81758 l_last_event_id := l_array_header_events(l_array_header_events.LAST);
81759
81760 fnd_file.put_line(fnd_file.LOG, ' ');
81761 fnd_file.put_line(fnd_file.LOG, '***************************************************************************');
81762 fnd_file.put_line(fnd_file.LOG, 'EVENT CLASS CODE = ' || C_EVENT_CLASS_CODE );
81763 fnd_file.put_line(fnd_file.LOG, 'The following events are present in the line extract but MISSING in the header extract: ');
81764
81765 FOR line_record IN line_cur(l_first_event_id, l_last_event_id)
81766 LOOP
81767 IF (NOT l_array_header_events.EXISTS(line_record.event_id)) AND (NOT l_array_duplicate_checker.EXISTS(line_record.event_id)) THEN
81768 fnd_file.put_line(fnd_file.log, 'Event_id = ' || line_record.event_id);
81769 l_array_duplicate_checker(line_record.event_id) := line_record.event_id;
81770 END IF;
81771 END LOOP;
81772
81773 fnd_file.put_line(fnd_file.LOG, '***************************************************************************');
81774 fnd_file.put_line(fnd_file.LOG, ' ');
81775
81776
81777 xla_exceptions_pkg.raise_message
81778 (p_location => 'XLA_00200_AAD_S_000006_BC_PKG.EventClass_109');
81779
81780
81781 WHEN OTHERS THEN
81782 xla_exceptions_pkg.raise_message
81783 (p_location => 'XLA_00200_AAD_S_000006_BC_PKG.EventClass_109');
81784 END EventClass_109;
81785 --
81786
81787 ---------------------------------------
81788 --
81789 -- PRIVATE PROCEDURE
81790 -- insert_sources_110
81791 --
81792 ----------------------------------------
81793 --
81797 , p_sla_ledger_id IN NUMBER
81794 PROCEDURE insert_sources_110(
81795 p_target_ledger_id IN NUMBER
81796 , p_language IN VARCHAR2
81798 , p_pad_start_date IN DATE
81799 , p_pad_end_date IN DATE
81800 )
81801 IS
81802
81803 C_EVENT_TYPE_CODE CONSTANT VARCHAR2(30) := 'PREPAY_APPLICATION_BURDEN_ALL';
81804 C_EVENT_CLASS_CODE CONSTANT VARCHAR2(30) := 'PREPAY_APPLICATION_BURDEN';
81805 p_apps_owner VARCHAR2(30);
81806 l_log_module VARCHAR2(240);
81807 BEGIN
81808 IF g_log_enabled THEN
81809 l_log_module := C_DEFAULT_MODULE||'.insert_sources_110';
81810 END IF;
81811 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
81812
81813 trace
81814 (p_msg => 'BEGIN of insert_sources_110'
81815 ,p_level => C_LEVEL_PROCEDURE
81816 ,p_module => l_log_module);
81817
81818 END IF;
81819
81820 -- select APPS owner
81821 SELECT oracle_username
81822 INTO p_apps_owner
81823 FROM fnd_oracle_userid
81824 WHERE read_only_flag = 'U'
81825 ;
81826
81827 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
81828 trace
81829 (p_msg => 'p_target_ledger_id = '||p_target_ledger_id||
81830 ' - p_language = '||p_language||
81831 ' - p_sla_ledger_id = '||p_sla_ledger_id ||
81832 ' - p_pad_start_date = '||TO_CHAR(p_pad_start_date)||
81833 ' - p_pad_end_date = '||TO_CHAR(p_pad_end_date)||
81834 ' - p_apps_owner = '||TO_CHAR(p_apps_owner)
81835 ,p_level => C_LEVEL_STATEMENT
81836 ,p_module => l_log_module);
81837 END IF;
81838
81839
81840
81841
81842 --
81843 INSERT INTO xla_diag_sources --line2
81844 (
81845 event_id
81846 , ledger_id
81847 , sla_ledger_id
81848 , description_language
81849 , object_name
81850 , object_type_code
81851 , line_number
81852 , source_application_id
81853 , source_type_code
81854 , source_code
81855 , source_value
81856 , source_meaning
81857 , created_by
81858 , creation_date
81859 , last_update_date
81860 , last_updated_by
81861 , last_update_login
81862 , program_update_date
81863 , program_application_id
81864 , program_id
81865 , request_id
81866 )
81867 SELECT event_id
81868 , p_target_ledger_id
81869 , p_sla_ledger_id
81870 , p_language
81871 , object_name
81872 , object_type_code
81873 , line_number
81874 , source_application_id
81875 , source_type_code
81876 , source_code
81877 , SUBSTR(source_value,1,1996)
81878 , SUBSTR(source_meaning ,1,200)
81879 , xla_environment_pkg.g_Usr_Id
81880 , TRUNC(SYSDATE)
81881 , TRUNC(SYSDATE)
81882 , xla_environment_pkg.g_Usr_Id
81883 , xla_environment_pkg.g_Login_Id
81884 , TRUNC(SYSDATE)
81885 , xla_environment_pkg.g_Prog_Appl_Id
81886 , xla_environment_pkg.g_Prog_Id
81887 , xla_environment_pkg.g_Req_Id
81888 FROM (
81889 SELECT xet.event_id event_id
81890 , l1.line_number line_number
81891 , CASE r
81892 WHEN 1 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
81893 WHEN 2 THEN 'PA_XLA_PROJECT_REF_V'
81894 WHEN 3 THEN 'PA_XLA_TASK_REF_V'
81895 WHEN 4 THEN 'PA_XLA_EXP_ORG_REF_V'
81896 WHEN 5 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
81897 WHEN 6 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
81898 WHEN 7 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
81899 WHEN 8 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
81900 WHEN 9 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
81901 WHEN 10 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
81902 WHEN 11 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
81903 WHEN 12 THEN 'PA_XLA_PROJECT_REF_V'
81904 WHEN 13 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
81905 WHEN 14 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
81906 WHEN 15 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
81907 WHEN 16 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
81908 WHEN 17 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
81909 WHEN 18 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
81910 WHEN 19 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
81911 WHEN 20 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
81912 WHEN 21 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
81913 WHEN 22 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
81914 WHEN 23 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
81915 WHEN 24 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
81916 WHEN 25 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
81917 WHEN 26 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
81918 WHEN 27 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
81919 WHEN 28 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
81920 WHEN 29 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
81921 WHEN 30 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
81922 WHEN 31 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
81923 WHEN 32 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
81924 WHEN 33 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
81925 WHEN 34 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
81926 WHEN 35 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
81927 WHEN 36 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
81928 WHEN 37 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
81929 WHEN 38 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
81933 WHEN 42 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
81930 WHEN 39 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
81931 WHEN 40 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
81932 WHEN 41 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
81934
81935 ELSE null
81936 END object_name
81937 , CASE r
81938 WHEN 1 THEN 'LINE'
81939 WHEN 2 THEN 'LINE'
81940 WHEN 3 THEN 'LINE'
81941 WHEN 4 THEN 'LINE'
81942 WHEN 5 THEN 'LINE'
81943 WHEN 6 THEN 'LINE'
81944 WHEN 7 THEN 'LINE'
81945 WHEN 8 THEN 'LINE'
81946 WHEN 9 THEN 'LINE'
81947 WHEN 10 THEN 'LINE'
81948 WHEN 11 THEN 'LINE'
81949 WHEN 12 THEN 'LINE'
81950 WHEN 13 THEN 'LINE'
81951 WHEN 14 THEN 'LINE'
81952 WHEN 15 THEN 'LINE'
81953 WHEN 16 THEN 'LINE'
81954 WHEN 17 THEN 'LINE'
81955 WHEN 18 THEN 'LINE'
81956 WHEN 19 THEN 'LINE'
81957 WHEN 20 THEN 'LINE'
81958 WHEN 21 THEN 'LINE'
81959 WHEN 22 THEN 'LINE'
81960 WHEN 23 THEN 'LINE'
81961 WHEN 24 THEN 'LINE'
81962 WHEN 25 THEN 'LINE'
81963 WHEN 26 THEN 'LINE'
81964 WHEN 27 THEN 'LINE'
81965 WHEN 28 THEN 'LINE'
81966 WHEN 29 THEN 'LINE'
81967 WHEN 30 THEN 'LINE'
81968 WHEN 31 THEN 'LINE'
81969 WHEN 32 THEN 'LINE'
81970 WHEN 33 THEN 'LINE'
81971 WHEN 34 THEN 'LINE'
81972 WHEN 35 THEN 'LINE'
81973 WHEN 36 THEN 'LINE'
81974 WHEN 37 THEN 'LINE'
81975 WHEN 38 THEN 'LINE'
81976 WHEN 39 THEN 'LINE'
81977 WHEN 40 THEN 'LINE'
81978 WHEN 41 THEN 'LINE'
81979 WHEN 42 THEN 'LINE'
81980
81981 ELSE null
81982 END object_type_code
81983 , CASE r
81984 WHEN 1 THEN '200'
81985 WHEN 2 THEN '275'
81986 WHEN 3 THEN '275'
81987 WHEN 4 THEN '275'
81988 WHEN 5 THEN '200'
81989 WHEN 6 THEN '200'
81990 WHEN 7 THEN '200'
81991 WHEN 8 THEN '200'
81992 WHEN 9 THEN '200'
81993 WHEN 10 THEN '200'
81994 WHEN 11 THEN '200'
81995 WHEN 12 THEN '275'
81996 WHEN 13 THEN '200'
81997 WHEN 14 THEN '200'
81998 WHEN 15 THEN '200'
81999 WHEN 16 THEN '200'
82000 WHEN 17 THEN '200'
82001 WHEN 18 THEN '200'
82002 WHEN 19 THEN '200'
82003 WHEN 20 THEN '200'
82004 WHEN 21 THEN '200'
82005 WHEN 22 THEN '200'
82006 WHEN 23 THEN '200'
82007 WHEN 24 THEN '200'
82008 WHEN 25 THEN '200'
82009 WHEN 26 THEN '200'
82010 WHEN 27 THEN '200'
82011 WHEN 28 THEN '200'
82012 WHEN 29 THEN '200'
82013 WHEN 30 THEN '200'
82014 WHEN 31 THEN '200'
82015 WHEN 32 THEN '200'
82016 WHEN 33 THEN '200'
82017 WHEN 34 THEN '200'
82018 WHEN 35 THEN '200'
82019 WHEN 36 THEN '200'
82020 WHEN 37 THEN '200'
82021 WHEN 38 THEN '200'
82022 WHEN 39 THEN '200'
82023 WHEN 40 THEN '200'
82024 WHEN 41 THEN '200'
82025 WHEN 42 THEN '200'
82026
82027 ELSE null
82028 END source_application_id
82029 , 'S' source_type_code
82030 , CASE r
82031 WHEN 1 THEN 'DOCUMENT_DISTRIBUTION_TYPE'
82032 WHEN 2 THEN 'PROJECT_NAME'
82033 WHEN 3 THEN 'TASK_NUMBER'
82034 WHEN 4 THEN 'EXPENDITURE_ORGANIZATION_ID'
82035 WHEN 5 THEN 'AID_DIST_CCID'
82036 WHEN 6 THEN 'BUDGET_CCID'
82037 WHEN 7 THEN 'DISTRIBUTION_LINK_TYPE'
82038 WHEN 8 THEN 'AID_INVOICE_DIST_ID'
82039 WHEN 9 THEN 'AI_INVOICE_CURRENCY_CODE'
82040 WHEN 10 THEN 'AID_AMOUNT'
82041 WHEN 11 THEN 'DOCUMENT_TYPE'
82042 WHEN 12 THEN 'PROJ_BURDEN_DISPLAY_METHOD'
82043 WHEN 13 THEN 'ACCT_REVERSAL_INDICATOR'
82044 WHEN 14 THEN 'ALLOC_TO_APPLN_ID'
82045 WHEN 15 THEN 'ALLOC_TO_DIST_TYPE'
82046 WHEN 16 THEN 'ALLOC_TO_ENTITY_CODE'
82047 WHEN 17 THEN 'ALLOC_TO_FIRST_DIST_ID'
82048 WHEN 18 THEN 'ALLOC_TO_FIRST_SYS_TRANS_ID'
82049 WHEN 19 THEN 'AP_APPLICATION_ID'
82050 WHEN 20 THEN 'AP_DISTRIBUTION_TYPE'
82051 WHEN 21 THEN 'AP_ENTITY_CODE'
82052 WHEN 22 THEN 'AP_FIRST_DIST_ID'
82053 WHEN 23 THEN 'AP_FIRST_SYS_TRANS_ID'
82054 WHEN 24 THEN 'AID_EXPENDITURE_TYPE'
82055 WHEN 25 THEN 'ENC_UPG_CR_ACCT_CLASS'
82056 WHEN 26 THEN 'ENC_UPG_CR_ACCOUNT'
82057 WHEN 27 THEN 'AID_BASE_AMT_NO_ROUND'
82058 WHEN 28 THEN 'ENC_UPG_DR_ACCT_CLASS'
82059 WHEN 29 THEN 'ENC_UPG_DR_ACCOUNT'
82063 WHEN 33 THEN 'ACCT_REV_DISTRIBUTION_TYPE'
82060 WHEN 30 THEN 'USE_ENC_UPG_ATTRIB_FLAG'
82061 WHEN 31 THEN 'ACCT_REVERSAL_FIRST_DIST_ID'
82062 WHEN 32 THEN 'AP_SECOND_DIST_ID'
82064 WHEN 34 THEN 'ENC_UPG_CR_ENC_TYPE_ID'
82065 WHEN 35 THEN 'ENC_UPG_DR_ENC_TYPE_ID'
82066 WHEN 36 THEN 'BURDEN_COST_FLAG'
82067 WHEN 37 THEN 'PA_APPLICATION_ID'
82068 WHEN 38 THEN 'PA_DISTRIBUTION_TYPE'
82069 WHEN 39 THEN 'PA_ENTITY_CODE'
82070 WHEN 40 THEN 'PA_FIRST_DIST_ID'
82071 WHEN 41 THEN 'PA_FIRST_SYS_TRANS_ID'
82072 WHEN 42 THEN 'PA_SECOND_DIST_ID'
82073
82074 ELSE null
82075 END source_code
82076 , CASE r
82077 WHEN 1 THEN TO_CHAR(l1.DOCUMENT_DISTRIBUTION_TYPE)
82078 WHEN 2 THEN TO_CHAR(l3.PROJECT_NAME)
82079 WHEN 3 THEN TO_CHAR(l4.TASK_NUMBER)
82080 WHEN 4 THEN TO_CHAR(l2.EXPENDITURE_ORGANIZATION_ID)
82081 WHEN 5 THEN TO_CHAR(l1.AID_DIST_CCID)
82082 WHEN 6 THEN TO_CHAR(l1.BUDGET_CCID)
82083 WHEN 7 THEN TO_CHAR(l1.DISTRIBUTION_LINK_TYPE)
82084 WHEN 8 THEN TO_CHAR(l1.AID_INVOICE_DIST_ID)
82085 WHEN 9 THEN TO_CHAR(l1.AI_INVOICE_CURRENCY_CODE)
82086 WHEN 10 THEN TO_CHAR(l1.AID_AMOUNT)
82087 WHEN 11 THEN TO_CHAR(l1.DOCUMENT_TYPE)
82088 WHEN 12 THEN TO_CHAR(l3.PROJ_BURDEN_DISPLAY_METHOD)
82089 WHEN 13 THEN TO_CHAR(l1.ACCT_REVERSAL_INDICATOR)
82090 WHEN 14 THEN TO_CHAR(l1.ALLOC_TO_APPLN_ID)
82091 WHEN 15 THEN TO_CHAR(l1.ALLOC_TO_DIST_TYPE)
82092 WHEN 16 THEN TO_CHAR(l1.ALLOC_TO_ENTITY_CODE)
82093 WHEN 17 THEN TO_CHAR(l1.ALLOC_TO_FIRST_DIST_ID)
82094 WHEN 18 THEN TO_CHAR(l1.ALLOC_TO_FIRST_SYS_TRANS_ID)
82095 WHEN 19 THEN TO_CHAR(l1.AP_APPLICATION_ID)
82096 WHEN 20 THEN TO_CHAR(l1.AP_DISTRIBUTION_TYPE)
82097 WHEN 21 THEN TO_CHAR(l1.AP_ENTITY_CODE)
82098 WHEN 22 THEN TO_CHAR(l1.AP_FIRST_DIST_ID)
82099 WHEN 23 THEN TO_CHAR(l1.AP_FIRST_SYS_TRANS_ID)
82100 WHEN 24 THEN TO_CHAR(l1.AID_EXPENDITURE_TYPE)
82101 WHEN 25 THEN TO_CHAR(l1.ENC_UPG_CR_ACCT_CLASS)
82102 WHEN 26 THEN TO_CHAR(l1.ENC_UPG_CR_ACCOUNT)
82103 WHEN 27 THEN TO_CHAR(l1.AID_BASE_AMT_NO_ROUND)
82104 WHEN 28 THEN TO_CHAR(l1.ENC_UPG_DR_ACCT_CLASS)
82105 WHEN 29 THEN TO_CHAR(l1.ENC_UPG_DR_ACCOUNT)
82106 WHEN 30 THEN TO_CHAR(l1.USE_ENC_UPG_ATTRIB_FLAG)
82107 WHEN 31 THEN TO_CHAR(l1.ACCT_REVERSAL_FIRST_DIST_ID)
82108 WHEN 32 THEN TO_CHAR(l1.AP_SECOND_DIST_ID)
82109 WHEN 33 THEN TO_CHAR(l1.ACCT_REV_DISTRIBUTION_TYPE)
82110 WHEN 34 THEN TO_CHAR(l1.ENC_UPG_CR_ENC_TYPE_ID)
82111 WHEN 35 THEN TO_CHAR(l1.ENC_UPG_DR_ENC_TYPE_ID)
82112 WHEN 36 THEN TO_CHAR(l1.BURDEN_COST_FLAG)
82113 WHEN 37 THEN TO_CHAR(l1.PA_APPLICATION_ID)
82114 WHEN 38 THEN TO_CHAR(l1.PA_DISTRIBUTION_TYPE)
82115 WHEN 39 THEN TO_CHAR(l1.PA_ENTITY_CODE)
82116 WHEN 40 THEN TO_CHAR(l1.PA_FIRST_DIST_ID)
82117 WHEN 41 THEN TO_CHAR(l1.PA_FIRST_SYS_TRANS_ID)
82118 WHEN 42 THEN TO_CHAR(l1.PA_SECOND_DIST_ID)
82119
82120 ELSE null
82121 END source_value
82122 , CASE r
82123 WHEN 4 THEN XLA_00200_AAD_S_000006_BC_PKG.GetMeaning(
82124 1011404
82125 ,TO_CHAR(l2.EXPENDITURE_ORGANIZATION_ID)
82126 ,'EXPENDITURE_ORGANIZATION_ID'
82127 ,'S'
82128 ,275)
82129 WHEN 36 THEN fvl108.meaning
82130
82131 ELSE null
82132 END source_meaning
82133 FROM xla_events_gt xet
82134 , PA_XLA_BC_PKT_AP_DETAIL_V l1
82135 , PA_XLA_EXP_ORG_REF_V l2
82136 , PA_XLA_PROJECT_REF_V l3
82137 , PA_XLA_TASK_REF_V l4
82138 , fnd_lookup_values fvl108
82139 , (select rownum r from all_objects where rownum <= 42 and owner = p_apps_owner)
82140 WHERE xet.event_date between p_pad_start_date AND p_pad_end_date
82141 AND xet.event_class_code = C_EVENT_CLASS_CODE
82142 AND l1.event_id = xet.event_id
82143 AND l2.expenditure_organization_id=l1.aid_expenditure_org_id AND l3.project_id=l1.aid_project_id AND l4.task_id=l1.aid_task_id AND fvl108.lookup_type(+) = 'BC_PKT_BURDEN_COST_FLAG'
82144 AND fvl108.lookup_code(+) = l1.BURDEN_COST_FLAG
82145 AND fvl108.view_application_id(+) = 275
82146 AND fvl108.language(+) = USERENV('LANG')
82147
82148 )
82149 ;
82150 --
82151 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
82152
82153 trace
82154 (p_msg => 'number of line sources inserted = '||SQL%ROWCOUNT
82155 ,p_level => C_LEVEL_STATEMENT
82156 ,p_module => l_log_module);
82157
82158 END IF;
82159
82160
82161 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
82162 trace
82163 (p_msg => 'END of insert_sources_110'
82164 ,p_level => C_LEVEL_PROCEDURE
82165 ,p_module => l_log_module);
82166 END IF;
82167 EXCEPTION
82168 WHEN xla_exceptions_pkg.application_exception THEN
82169 IF (C_LEVEL_EXCEPTION >= g_log_level) THEN
82170 trace
82171 (p_msg => 'ERROR: XLA_CMP_COMPILER_ERROR = '||sqlerrm
82172 ,p_level => C_LEVEL_EXCEPTION
82173 ,p_module => l_log_module);
82177 IF (C_LEVEL_EXCEPTION >= g_log_level) THEN
82174 END IF;
82175 RAISE;
82176 WHEN OTHERS THEN
82178 trace
82179 (p_msg => 'ERROR: XLA_CMP_COMPILER_ERROR = '||sqlerrm
82180 ,p_level => C_LEVEL_EXCEPTION
82181 ,p_module => l_log_module);
82182 END IF;
82183 xla_exceptions_pkg.raise_message
82184 (p_location => 'XLA_00200_AAD_S_000006_BC_PKG.insert_sources_110');
82185 END insert_sources_110;
82186 --
82187
82188 ---------------------------------------
82189 --
82190 -- PRIVATE FUNCTION
82191 -- EventClass_110
82192 --
82193 ----------------------------------------
82194 --
82195 FUNCTION EventClass_110
82196 (p_application_id IN NUMBER
82197 ,p_base_ledger_id IN NUMBER
82198 ,p_target_ledger_id IN NUMBER
82199 ,p_language IN VARCHAR2
82200 ,p_currency_code IN VARCHAR2
82201 ,p_sla_ledger_id IN NUMBER
82202 ,p_pad_start_date IN DATE
82203 ,p_pad_end_date IN DATE
82204 ,p_primary_ledger_id IN NUMBER)
82205 RETURN BOOLEAN IS
82206 --
82207 C_EVENT_TYPE_CODE CONSTANT VARCHAR2(30) := 'PREPAY_APPLICATION_BURDEN_ALL';
82208 C_EVENT_CLASS_CODE CONSTANT VARCHAR2(30) := 'PREPAY_APPLICATION_BURDEN';
82209
82210 l_calculate_acctd_flag VARCHAR2(1) :='N';
82211 l_calculate_g_l_flag VARCHAR2(1) :='N';
82212 --
82213 l_array_legal_entity_id XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
82214 l_array_entity_id XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
82215 l_array_entity_code XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
82216 l_array_transaction_num XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
82217 l_array_event_id XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
82218 l_array_class_code XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
82219 l_array_event_type XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
82220 l_array_event_number XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
82221 l_array_event_date XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
82222 l_array_transaction_date XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
82223 l_array_reference_num_1 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
82224 l_array_reference_num_2 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
82225 l_array_reference_num_3 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
82226 l_array_reference_num_4 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
82227 l_array_reference_char_1 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
82228 l_array_reference_char_2 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
82229 l_array_reference_char_3 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
82230 l_array_reference_char_4 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
82231 l_array_reference_date_1 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
82232 l_array_reference_date_2 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
82233 l_array_reference_date_3 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
82234 l_array_reference_date_4 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
82235 l_array_event_created_by XLA_AE_JOURNAL_ENTRY_PKG.t_array_V100L;
82236 l_array_budgetary_control_flag XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
82237 l_array_header_events XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num; --added
82238 l_array_duplicate_checker XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num; --added
82239
82240 l_event_id NUMBER;
82241 l_previous_event_id NUMBER;
82242 l_first_event_id NUMBER;
82243 l_last_event_id NUMBER;
82244
82245 l_rec_acct_attrs XLA_AE_HEADER_PKG.t_rec_acct_attrs;
82246 l_rec_rev_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
82247 --
82248 --
82249 l_result BOOLEAN := TRUE;
82250 l_rows NUMBER := 1000;
82251 l_event_type_name VARCHAR2(80) := 'All';
82252 l_event_class_name VARCHAR2(80) := 'Burden for Prepayment Applications';
82253 l_description VARCHAR2(4000);
82254 l_transaction_reversal NUMBER;
82255 l_ae_header_id NUMBER;
82256 l_array_extract_line_num xla_ae_journal_entry_pkg.t_array_Num;
82257 l_log_module VARCHAR2(240);
82258 --
82259 l_acct_reversal_source VARCHAR2(30);
82260 l_trx_reversal_source VARCHAR2(30);
82261
82262 l_continue_with_lines BOOLEAN := TRUE;
82263 --
82264 l_acc_rev_gl_date_source DATE; -- 4262811
82265 --
82266 type t_array_event_id is table of number index by binary_integer;
82267
82268 l_rec_array_event t_rec_array_event;
82269 l_null_rec_array_event t_rec_array_event;
82270 l_array_ae_header_id xla_number_array_type;
82271 l_actual_flag VARCHAR2(1) := NULL;
82272 l_actual_gain_loss_ref VARCHAR2(30) := '#####';
82273 l_balance_type_code VARCHAR2(1) :=NULL;
82274 l_gain_or_loss_ref VARCHAR2(30) :=NULL;
82275
82276 --
82277 TYPE t_array_lookup_meaning IS TABLE OF fnd_lookup_values.meaning%TYPE INDEX BY BINARY_INTEGER;
82278 --
82279
82280
82281 TYPE t_array_source_2 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.DOCUMENT_DISTRIBUTION_TYPE%TYPE INDEX BY BINARY_INTEGER;
82282 TYPE t_array_source_3 IS TABLE OF PA_XLA_PROJECT_REF_V.PROJECT_NAME%TYPE INDEX BY BINARY_INTEGER;
82283 TYPE t_array_source_4 IS TABLE OF PA_XLA_TASK_REF_V.TASK_NUMBER%TYPE INDEX BY BINARY_INTEGER;
82284 TYPE t_array_source_5 IS TABLE OF PA_XLA_EXP_ORG_REF_V.EXPENDITURE_ORGANIZATION_ID%TYPE INDEX BY BINARY_INTEGER;
82285 TYPE t_array_source_11 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.AID_DIST_CCID%TYPE INDEX BY BINARY_INTEGER;
82289 TYPE t_array_source_33 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.AI_INVOICE_CURRENCY_CODE%TYPE INDEX BY BINARY_INTEGER;
82286 TYPE t_array_source_14 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.BUDGET_CCID%TYPE INDEX BY BINARY_INTEGER;
82287 TYPE t_array_source_21 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.DISTRIBUTION_LINK_TYPE%TYPE INDEX BY BINARY_INTEGER;
82288 TYPE t_array_source_30 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.AID_INVOICE_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
82290 TYPE t_array_source_57 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.AID_AMOUNT%TYPE INDEX BY BINARY_INTEGER;
82291 TYPE t_array_source_83 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.DOCUMENT_TYPE%TYPE INDEX BY BINARY_INTEGER;
82292 TYPE t_array_source_84 IS TABLE OF PA_XLA_PROJECT_REF_V.PROJ_BURDEN_DISPLAY_METHOD%TYPE INDEX BY BINARY_INTEGER;
82293 TYPE t_array_source_85 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.ACCT_REVERSAL_INDICATOR%TYPE INDEX BY BINARY_INTEGER;
82294 TYPE t_array_source_86 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.ALLOC_TO_APPLN_ID%TYPE INDEX BY BINARY_INTEGER;
82295 TYPE t_array_source_87 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.ALLOC_TO_DIST_TYPE%TYPE INDEX BY BINARY_INTEGER;
82296 TYPE t_array_source_88 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.ALLOC_TO_ENTITY_CODE%TYPE INDEX BY BINARY_INTEGER;
82297 TYPE t_array_source_89 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.ALLOC_TO_FIRST_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
82298 TYPE t_array_source_90 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.ALLOC_TO_FIRST_SYS_TRANS_ID%TYPE INDEX BY BINARY_INTEGER;
82299 TYPE t_array_source_91 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.AP_APPLICATION_ID%TYPE INDEX BY BINARY_INTEGER;
82300 TYPE t_array_source_92 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.AP_DISTRIBUTION_TYPE%TYPE INDEX BY BINARY_INTEGER;
82301 TYPE t_array_source_93 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.AP_ENTITY_CODE%TYPE INDEX BY BINARY_INTEGER;
82302 TYPE t_array_source_94 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.AP_FIRST_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
82303 TYPE t_array_source_95 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.AP_FIRST_SYS_TRANS_ID%TYPE INDEX BY BINARY_INTEGER;
82304 TYPE t_array_source_96 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.AID_EXPENDITURE_TYPE%TYPE INDEX BY BINARY_INTEGER;
82305 TYPE t_array_source_97 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.ENC_UPG_CR_ACCT_CLASS%TYPE INDEX BY BINARY_INTEGER;
82306 TYPE t_array_source_98 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.ENC_UPG_CR_ACCOUNT%TYPE INDEX BY BINARY_INTEGER;
82307 TYPE t_array_source_99 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.AID_BASE_AMT_NO_ROUND%TYPE INDEX BY BINARY_INTEGER;
82308 TYPE t_array_source_100 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.ENC_UPG_DR_ACCT_CLASS%TYPE INDEX BY BINARY_INTEGER;
82309 TYPE t_array_source_101 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.ENC_UPG_DR_ACCOUNT%TYPE INDEX BY BINARY_INTEGER;
82310 TYPE t_array_source_102 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.USE_ENC_UPG_ATTRIB_FLAG%TYPE INDEX BY BINARY_INTEGER;
82311 TYPE t_array_source_103 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.ACCT_REVERSAL_FIRST_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
82312 TYPE t_array_source_104 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.AP_SECOND_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
82313 TYPE t_array_source_105 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.ACCT_REV_DISTRIBUTION_TYPE%TYPE INDEX BY BINARY_INTEGER;
82314 TYPE t_array_source_106 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.ENC_UPG_CR_ENC_TYPE_ID%TYPE INDEX BY BINARY_INTEGER;
82315 TYPE t_array_source_107 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.ENC_UPG_DR_ENC_TYPE_ID%TYPE INDEX BY BINARY_INTEGER;
82316 TYPE t_array_source_108 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.BURDEN_COST_FLAG%TYPE INDEX BY BINARY_INTEGER;
82317 TYPE t_array_source_109 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.PA_APPLICATION_ID%TYPE INDEX BY BINARY_INTEGER;
82318 TYPE t_array_source_110 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.PA_DISTRIBUTION_TYPE%TYPE INDEX BY BINARY_INTEGER;
82319 TYPE t_array_source_111 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.PA_ENTITY_CODE%TYPE INDEX BY BINARY_INTEGER;
82320 TYPE t_array_source_112 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.PA_FIRST_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
82321 TYPE t_array_source_113 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.PA_FIRST_SYS_TRANS_ID%TYPE INDEX BY BINARY_INTEGER;
82322 TYPE t_array_source_114 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.PA_SECOND_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
82323
82324
82325 l_array_source_2 t_array_source_2;
82326 l_array_source_3 t_array_source_3;
82327 l_array_source_4 t_array_source_4;
82328 l_array_source_5 t_array_source_5;
82329 l_array_source_11 t_array_source_11;
82330 l_array_source_14 t_array_source_14;
82331 l_array_source_21 t_array_source_21;
82332 l_array_source_30 t_array_source_30;
82333 l_array_source_33 t_array_source_33;
82334 l_array_source_57 t_array_source_57;
82335 l_array_source_83 t_array_source_83;
82336 l_array_source_84 t_array_source_84;
82337 l_array_source_85 t_array_source_85;
82338 l_array_source_86 t_array_source_86;
82339 l_array_source_87 t_array_source_87;
82340 l_array_source_88 t_array_source_88;
82341 l_array_source_89 t_array_source_89;
82342 l_array_source_90 t_array_source_90;
82343 l_array_source_91 t_array_source_91;
82344 l_array_source_92 t_array_source_92;
82345 l_array_source_93 t_array_source_93;
82346 l_array_source_94 t_array_source_94;
82347 l_array_source_95 t_array_source_95;
82348 l_array_source_96 t_array_source_96;
82349 l_array_source_97 t_array_source_97;
82350 l_array_source_98 t_array_source_98;
82351 l_array_source_99 t_array_source_99;
82352 l_array_source_100 t_array_source_100;
82353 l_array_source_101 t_array_source_101;
82354 l_array_source_102 t_array_source_102;
82355 l_array_source_103 t_array_source_103;
82356 l_array_source_104 t_array_source_104;
82357 l_array_source_105 t_array_source_105;
82358 l_array_source_106 t_array_source_106;
82359 l_array_source_107 t_array_source_107;
82360 l_array_source_108 t_array_source_108;
82361 l_array_source_108_meaning t_array_lookup_meaning;
82362 l_array_source_109 t_array_source_109;
82363 l_array_source_110 t_array_source_110;
82364 l_array_source_111 t_array_source_111;
82365 l_array_source_112 t_array_source_112;
82366 l_array_source_113 t_array_source_113;
82367 l_array_source_114 t_array_source_114;
82371 IS
82368
82369 --
82370 CURSOR header_cur
82372 SELECT /*+ leading(xet) cardinality(xet,1) */
82373 -- Event Class Code: PREPAY_APPLICATION_BURDEN
82374 xet.entity_id
82375 ,xet.legal_entity_id
82376 ,xet.entity_code
82377 ,xet.transaction_number
82378 ,xet.event_id
82379 ,xet.event_class_code
82380 ,xet.event_type_code
82381 ,xet.event_number
82382 ,xet.event_date
82383 ,xet.transaction_date
82384 ,xet.reference_num_1
82385 ,xet.reference_num_2
82386 ,xet.reference_num_3
82387 ,xet.reference_num_4
82388 ,xet.reference_char_1
82389 ,xet.reference_char_2
82390 ,xet.reference_char_3
82391 ,xet.reference_char_4
82392 ,xet.reference_date_1
82393 ,xet.reference_date_2
82394 ,xet.reference_date_3
82395 ,xet.reference_date_4
82396 ,xet.event_created_by
82397 ,xet.budgetary_control_flag
82398 FROM xla_events_gt xet
82399 WHERE xet.event_date between p_pad_start_date and p_pad_end_date
82400 and xet.event_class_code = C_EVENT_CLASS_CODE
82401 and xet.event_status_code <> 'N'
82402 ORDER BY event_id
82403 ;
82404
82405
82406 --
82407 CURSOR line_cur (x_first_event_id in number, x_last_event_id in number)
82408 IS
82409 SELECT /*+ leading(xet) cardinality(xet,1) */
82410 -- Event Class Code: PREPAY_APPLICATION_BURDEN
82411 xet.entity_id
82412 ,xet.legal_entity_id
82413 ,xet.entity_code
82414 ,xet.transaction_number
82415 ,xet.event_id
82416 ,xet.event_class_code
82417 ,xet.event_type_code
82418 ,xet.event_number
82419 ,xet.event_date
82420 ,xet.transaction_date
82421 ,xet.reference_num_1
82422 ,xet.reference_num_2
82423 ,xet.reference_num_3
82424 ,xet.reference_num_4
82425 ,xet.reference_char_1
82426 ,xet.reference_char_2
82427 ,xet.reference_char_3
82428 ,xet.reference_char_4
82429 ,xet.reference_date_1
82430 ,xet.reference_date_2
82431 ,xet.reference_date_3
82432 ,xet.reference_date_4
82433 ,xet.event_created_by
82434 ,xet.budgetary_control_flag
82435 , l1.LINE_NUMBER
82436 , l1.DOCUMENT_DISTRIBUTION_TYPE source_2
82437 , l3.PROJECT_NAME source_3
82438 , l4.TASK_NUMBER source_4
82439 , l2.EXPENDITURE_ORGANIZATION_ID source_5
82440 , l1.AID_DIST_CCID source_11
82441 , l1.BUDGET_CCID source_14
82442 , l1.DISTRIBUTION_LINK_TYPE source_21
82443 , l1.AID_INVOICE_DIST_ID source_30
82444 , l1.AI_INVOICE_CURRENCY_CODE source_33
82445 , l1.AID_AMOUNT source_57
82446 , l1.DOCUMENT_TYPE source_83
82447 , l3.PROJ_BURDEN_DISPLAY_METHOD source_84
82448 , l1.ACCT_REVERSAL_INDICATOR source_85
82449 , l1.ALLOC_TO_APPLN_ID source_86
82450 , l1.ALLOC_TO_DIST_TYPE source_87
82451 , l1.ALLOC_TO_ENTITY_CODE source_88
82452 , l1.ALLOC_TO_FIRST_DIST_ID source_89
82453 , l1.ALLOC_TO_FIRST_SYS_TRANS_ID source_90
82454 , l1.AP_APPLICATION_ID source_91
82455 , l1.AP_DISTRIBUTION_TYPE source_92
82456 , l1.AP_ENTITY_CODE source_93
82457 , l1.AP_FIRST_DIST_ID source_94
82458 , l1.AP_FIRST_SYS_TRANS_ID source_95
82459 , l1.AID_EXPENDITURE_TYPE source_96
82460 , l1.ENC_UPG_CR_ACCT_CLASS source_97
82461 , l1.ENC_UPG_CR_ACCOUNT source_98
82462 , l1.AID_BASE_AMT_NO_ROUND source_99
82463 , l1.ENC_UPG_DR_ACCT_CLASS source_100
82464 , l1.ENC_UPG_DR_ACCOUNT source_101
82465 , l1.USE_ENC_UPG_ATTRIB_FLAG source_102
82466 , l1.ACCT_REVERSAL_FIRST_DIST_ID source_103
82467 , l1.AP_SECOND_DIST_ID source_104
82468 , l1.ACCT_REV_DISTRIBUTION_TYPE source_105
82469 , l1.ENC_UPG_CR_ENC_TYPE_ID source_106
82470 , l1.ENC_UPG_DR_ENC_TYPE_ID source_107
82471 , l1.BURDEN_COST_FLAG source_108
82472 , fvl108.meaning source_108_meaning
82473 , l1.PA_APPLICATION_ID source_109
82474 , l1.PA_DISTRIBUTION_TYPE source_110
82475 , l1.PA_ENTITY_CODE source_111
82476 , l1.PA_FIRST_DIST_ID source_112
82477 , l1.PA_FIRST_SYS_TRANS_ID source_113
82478 , l1.PA_SECOND_DIST_ID source_114
82479 FROM xla_events_gt xet
82480 , PA_XLA_BC_PKT_AP_DETAIL_V l1
82481 , PA_XLA_EXP_ORG_REF_V l2
82482 , PA_XLA_PROJECT_REF_V l3
82483 , PA_XLA_TASK_REF_V l4
82484 , fnd_lookup_values fvl108
82485 WHERE xet.event_id between x_first_event_id and x_last_event_id
82486 and xet.event_date between p_pad_start_date and p_pad_end_date
82487 and xet.event_class_code = C_EVENT_CLASS_CODE
82488 and xet.event_status_code <> 'N' AND l1.event_id = xet.event_id
82489 AND l2.EXPENDITURE_ORGANIZATION_ID=l1.AID_EXPENDITURE_ORG_ID AND l3.PROJECT_ID=l1.AID_PROJECT_ID AND l4.TASK_ID=l1.AID_TASK_ID AND fvl108.lookup_type(+) = 'BC_PKT_BURDEN_COST_FLAG'
82490 AND fvl108.lookup_code(+) = l1.BURDEN_COST_FLAG
82491 AND fvl108.view_application_id(+) = 275
82492 AND fvl108.language(+) = USERENV('LANG')
82493 ;
82494
82495 --
82496 BEGIN
82497 IF g_log_enabled THEN
82498 l_log_module := C_DEFAULT_MODULE||'.EventClass_110';
82499 END IF;
82500 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
82501 trace
82502 (p_msg => 'BEGIN of EventClass_110'
82503 ,p_level => C_LEVEL_PROCEDURE
82504 ,p_module => l_log_module);
82505 END IF;
82506
82507 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
82508 trace
82509 (p_msg => 'p_application_id = '||p_application_id||
82510 ' - p_base_ledger_id = '||p_base_ledger_id||
82511 ' - p_target_ledger_id = '||p_target_ledger_id||
82512 ' - p_language = '||p_language||
82513 ' - p_currency_code = '||p_currency_code||
82514 ' - p_sla_ledger_id = '||p_sla_ledger_id
82518 --
82515 ,p_level => C_LEVEL_STATEMENT
82516 ,p_module => l_log_module);
82517 END IF;
82519 -- initialze arrays
82520 --
82521 g_array_event.DELETE;
82522 l_rec_array_event := l_null_rec_array_event;
82523 --
82524 --------------------------------------
82525 -- 4262811 Initialze MPA Line Number
82526 --------------------------------------
82527 XLA_AE_HEADER_PKG.g_mpa_line_num := 0;
82528
82529 --
82530
82531 --
82532 OPEN header_cur;
82533 --
82534 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
82535 trace
82536 (p_msg => 'SQL - FETCH header_cur'
82537 ,p_level => C_LEVEL_STATEMENT
82538 ,p_module => l_log_module);
82539 END IF;
82540 --
82541 LOOP
82542 FETCH header_cur BULK COLLECT INTO
82543 l_array_entity_id
82544 , l_array_legal_entity_id
82545 , l_array_entity_code
82546 , l_array_transaction_num
82547 , l_array_event_id
82548 , l_array_class_code
82549 , l_array_event_type
82550 , l_array_event_number
82551 , l_array_event_date
82552 , l_array_transaction_date
82553 , l_array_reference_num_1
82554 , l_array_reference_num_2
82555 , l_array_reference_num_3
82556 , l_array_reference_num_4
82557 , l_array_reference_char_1
82558 , l_array_reference_char_2
82559 , l_array_reference_char_3
82560 , l_array_reference_char_4
82561 , l_array_reference_date_1
82562 , l_array_reference_date_2
82563 , l_array_reference_date_3
82564 , l_array_reference_date_4
82565 , l_array_event_created_by
82566 , l_array_budgetary_control_flag
82567 LIMIT l_rows;
82568 --
82569 IF (C_LEVEL_EVENT >= g_log_level) THEN
82570 trace
82571 (p_msg => '# rows extracted from header extract objects = '||TO_CHAR(header_cur%ROWCOUNT)
82572 ,p_level => C_LEVEL_EVENT
82573 ,p_module => l_log_module);
82574 END IF;
82575 --
82576 EXIT WHEN l_array_entity_id.COUNT = 0;
82577
82578 -- initialize arrays
82579 XLA_AE_HEADER_PKG.g_rec_header_new := NULL;
82580 XLA_AE_LINES_PKG.g_rec_lines := NULL;
82581
82582 --
82583 -- Bug 4458708
82584 --
82585 XLA_AE_LINES_PKG.g_LineNumber := 0;
82586
82587
82588 -- 4262811 - when creating Accrual Reversal or MPA, use g_last_hdr_idx to increment for next header id
82589 g_last_hdr_idx := l_array_event_id.LAST;
82590 --
82591 -- loop for the headers. Each iteration is for each header extract row
82592 -- fetched in header cursor
82593 --
82594 FOR hdr_idx IN l_array_event_id.FIRST .. l_array_event_id.LAST LOOP
82595
82596 --
82597 -- set event info as cache for other routines to refer event attributes
82598 --
82599 XLA_AE_JOURNAL_ENTRY_PKG.set_event_info
82600 (p_application_id => p_application_id
82601 ,p_primary_ledger_id => p_primary_ledger_id
82602 ,p_base_ledger_id => p_base_ledger_id
82603 ,p_target_ledger_id => p_target_ledger_id
82604 ,p_entity_id => l_array_entity_id(hdr_idx)
82605 ,p_legal_entity_id => l_array_legal_entity_id(hdr_idx)
82606 ,p_entity_code => l_array_entity_code(hdr_idx)
82607 ,p_transaction_num => l_array_transaction_num(hdr_idx)
82608 ,p_event_id => l_array_event_id(hdr_idx)
82609 ,p_event_class_code => l_array_class_code(hdr_idx)
82610 ,p_event_type_code => l_array_event_type(hdr_idx)
82611 ,p_event_number => l_array_event_number(hdr_idx)
82612 ,p_event_date => l_array_event_date(hdr_idx)
82613 ,p_transaction_date => l_array_transaction_date(hdr_idx)
82614 ,p_reference_num_1 => l_array_reference_num_1(hdr_idx)
82615 ,p_reference_num_2 => l_array_reference_num_2(hdr_idx)
82616 ,p_reference_num_3 => l_array_reference_num_3(hdr_idx)
82617 ,p_reference_num_4 => l_array_reference_num_4(hdr_idx)
82618 ,p_reference_char_1 => l_array_reference_char_1(hdr_idx)
82619 ,p_reference_char_2 => l_array_reference_char_2(hdr_idx)
82620 ,p_reference_char_3 => l_array_reference_char_3(hdr_idx)
82621 ,p_reference_char_4 => l_array_reference_char_4(hdr_idx)
82622 ,p_reference_date_1 => l_array_reference_date_1(hdr_idx)
82623 ,p_reference_date_2 => l_array_reference_date_2(hdr_idx)
82624 ,p_reference_date_3 => l_array_reference_date_3(hdr_idx)
82625 ,p_reference_date_4 => l_array_reference_date_4(hdr_idx)
82626 ,p_event_created_by => l_array_event_created_by(hdr_idx)
82627 ,p_budgetary_control_flag => l_array_budgetary_control_flag(hdr_idx));
82628
82629 --
82630 -- set the status of entry to C_VALID (0)
82631 --
82632 XLA_AE_JOURNAL_ENTRY_PKG.g_global_status := XLA_AE_JOURNAL_ENTRY_PKG.C_VALID;
82633
82634 --
82635 -- initialize a row for ae header
82636 --
82637 XLA_AE_HEADER_PKG.InitHeader(hdr_idx);
82638
82639 l_event_id := l_array_event_id(hdr_idx);
82640
82641 --
82642 -- storing the hdr_idx for event. May be used by line cursor.
82643 --
82644 g_array_event(l_event_id).array_value_num('header_index') := hdr_idx;
82645
82646 --
82647 -- store sources from header extract. This can be improved to
82648 -- store only those sources from header extract that may be used in lines
82649 --
82650
82651
82652 --
82653 -- initilaize the status of ae headers for diffrent balance types
82654 -- the status is initialised to C_NOT_CREATED (2)
82655 --
82656 --g_array_event(l_event_id).array_value_num('actual_je_status') := XLA_AE_JOURNAL_ENTRY_PKG.C_NOT_CREATED;
82657 --g_array_event(l_event_id).array_value_num('budget_je_status') := XLA_AE_JOURNAL_ENTRY_PKG.C_NOT_CREATED;
82661 -- call api to validate and store accounting attributes for header
82658 --g_array_event(l_event_id).array_value_num('encumbrance_je_status') := XLA_AE_JOURNAL_ENTRY_PKG.C_NOT_CREATED;
82659
82660 --
82662 --
82663
82664 ------------------------------------------------------------
82665 -- Accrual Reversal : to get date for Standard Source (NONE)
82666 ------------------------------------------------------------
82667 l_acc_rev_gl_date_source := NULL;
82668
82669 l_rec_acct_attrs.array_acct_attr_code(1) := 'GL_DATE';
82670 l_rec_acct_attrs.array_date_value(1) :=
82671 xla_ae_sources_pkg.GetSystemSourceDate(
82672 p_source_code => 'XLA_EVENT_DATE'
82673 , p_source_type_code => 'Y'
82674 , p_source_application_id => 602
82675 );
82676
82677
82678 XLA_AE_HEADER_PKG.SetHdrAcctAttrs(l_rec_acct_attrs);
82679
82680 XLA_AE_HEADER_PKG.SetJeCategoryName;
82681
82682 XLA_AE_HEADER_PKG.g_rec_header_new.array_event_type_code(hdr_idx) := l_array_event_type(hdr_idx);
82683 XLA_AE_HEADER_PKG.g_rec_header_new.array_event_id(hdr_idx) := l_array_event_id(hdr_idx);
82684 XLA_AE_HEADER_PKG.g_rec_header_new.array_entity_id(hdr_idx) := l_array_entity_id(hdr_idx);
82685 XLA_AE_HEADER_PKG.g_rec_header_new.array_event_number(hdr_idx) := l_array_event_number(hdr_idx);
82686 XLA_AE_HEADER_PKG.g_rec_header_new.array_target_ledger_id(hdr_idx) := p_target_ledger_id;
82687
82688
82689 -- No header level analytical criteria
82690
82691 --
82692 --accounting attribute enhancement, bug 3612931
82693 --
82694 l_trx_reversal_source := SUBSTR(NULL, 1,30);
82695
82696 IF NVL(l_trx_reversal_source, 'N') NOT IN ('N','Y') THEN
82697 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
82698
82699 xla_accounting_err_pkg.build_message
82700 (p_appli_s_name => 'XLA'
82701 ,p_msg_name => 'XLA_AP_INVALID_HDR_ATTR'
82702 ,p_token_1 => 'ACCT_ATTR_NAME'
82703 ,p_value_1 => xla_ae_sources_pkg.GetAccountingSourceName('TRX_ACCT_REVERSAL_OPTION')
82704 ,p_token_2 => 'PRODUCT_NAME'
82705 ,p_value_2 => xla_ae_journal_entry_pkg.g_cache_event.application_name
82706 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
82707 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
82708 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id);
82709
82710 ELSIF NVL(l_trx_reversal_source, 'N') = 'Y' THEN
82711 --
82712 -- following sets the accounting attributes needed to reverse
82713 -- accounting for a distributeion
82714 --
82715 xla_ae_lines_pkg.SetTrxReversalAttrs
82716 (p_event_id => l_event_id
82717 ,p_gl_date => XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(hdr_idx)
82718 ,p_trx_reversal_source => l_trx_reversal_source);
82719
82720 END IF;
82721
82722
82723 ----------------------------------------------------------------
82724 -- 4262811 - update the header statuses to invalid in need be
82725 ----------------------------------------------------------------
82726 --
82727 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus (p_hdr_idx => hdr_idx);
82728
82729
82730 -----------------------------------------------
82731 -- No accrual reversal for the event class/type
82732 -----------------------------------------------
82733 ----------------------------------------------------------------
82734
82735 --
82736 -- this ends the header loop iteration for one bulk fetch
82737 --
82738 END LOOP;
82739
82740 l_first_event_id := l_array_event_id(l_array_event_id.FIRST);
82741 l_last_event_id := l_array_event_id(l_array_event_id.LAST);
82742
82743 --
82744 -- insert dummy rows into lines gt table that were created due to
82745 -- transaction reversals
82746 --
82747 IF XLA_AE_LINES_PKG.g_rec_lines.array_ae_header_id.COUNT > 0 THEN
82748 l_result := XLA_AE_LINES_PKG.InsertLines;
82749 END IF;
82750
82751 --
82752 -- reset the temp_line_num for each set of events fetched from header
82753 -- cursor rather than doing it for each new event in line cursor
82754 -- Bug 3939231
82755 --
82756 xla_ae_lines_pkg.g_temp_line_num := 0;
82757
82758
82759
82760 --
82761 OPEN line_cur(x_first_event_id => l_first_event_id, x_last_event_id => l_last_event_id);
82762 --
82763 --
82764 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
82765
82766 trace
82767 (p_msg => 'SQL - FETCH line_cur'
82768 ,p_level => C_LEVEL_STATEMENT
82769 ,p_module => l_log_module);
82770
82771 END IF;
82772 --
82773 --
82774 LOOP
82775 --
82776 FETCH line_cur BULK COLLECT INTO
82777 l_array_entity_id
82778 , l_array_legal_entity_id
82779 , l_array_entity_code
82780 , l_array_transaction_num
82781 , l_array_event_id
82782 , l_array_class_code
82783 , l_array_event_type
82784 , l_array_event_number
82785 , l_array_event_date
82786 , l_array_transaction_date
82787 , l_array_reference_num_1
82788 , l_array_reference_num_2
82789 , l_array_reference_num_3
82790 , l_array_reference_num_4
82791 , l_array_reference_char_1
82792 , l_array_reference_char_2
82793 , l_array_reference_char_3
82794 , l_array_reference_char_4
82795 , l_array_reference_date_1
82796 , l_array_reference_date_2
82797 , l_array_reference_date_3
82798 , l_array_reference_date_4
82799 , l_array_event_created_by
82800 , l_array_budgetary_control_flag
82801 , l_array_extract_line_num
82802 , l_array_source_2
82803 , l_array_source_3
82807 , l_array_source_14
82804 , l_array_source_4
82805 , l_array_source_5
82806 , l_array_source_11
82808 , l_array_source_21
82809 , l_array_source_30
82810 , l_array_source_33
82811 , l_array_source_57
82812 , l_array_source_83
82813 , l_array_source_84
82814 , l_array_source_85
82815 , l_array_source_86
82816 , l_array_source_87
82817 , l_array_source_88
82818 , l_array_source_89
82819 , l_array_source_90
82820 , l_array_source_91
82821 , l_array_source_92
82822 , l_array_source_93
82823 , l_array_source_94
82824 , l_array_source_95
82825 , l_array_source_96
82826 , l_array_source_97
82827 , l_array_source_98
82828 , l_array_source_99
82829 , l_array_source_100
82830 , l_array_source_101
82831 , l_array_source_102
82832 , l_array_source_103
82833 , l_array_source_104
82834 , l_array_source_105
82835 , l_array_source_106
82836 , l_array_source_107
82837 , l_array_source_108
82838 , l_array_source_108_meaning
82839 , l_array_source_109
82840 , l_array_source_110
82841 , l_array_source_111
82842 , l_array_source_112
82843 , l_array_source_113
82844 , l_array_source_114
82845 LIMIT l_rows;
82846
82847 --
82848 IF (C_LEVEL_EVENT >= g_log_level) THEN
82849 trace
82850 (p_msg => '# rows extracted from line extract objects = '||TO_CHAR(line_cur%ROWCOUNT)
82851 ,p_level => C_LEVEL_EVENT
82852 ,p_module => l_log_module);
82853 END IF;
82854 --
82855 EXIT WHEN l_array_entity_id.count = 0;
82856
82857 XLA_AE_LINES_PKG.g_rec_lines := null;
82858
82859 --
82860 -- Bug 4458708
82861 --
82862 XLA_AE_LINES_PKG.g_LineNumber := 0;
82863 --
82864 --
82865
82866 FOR Idx IN 1..l_array_event_id.count LOOP
82867 --
82868 -- 5648433 (move l_event_id out of IF statement) set l_event_id to be used inside IF condition
82869 --
82870 l_event_id := l_array_event_id(idx); -- 5648433
82871
82872 --
82873 -- Bug 4872078 - Do nothing if the event is meant for transaction reversal
82874 --
82875
82876 IF NVL(xla_ae_header_pkg.g_rec_header_new.array_trx_acct_reversal_option
82877 (g_array_event(l_event_id).array_value_num('header_index'))
82878 ,'N'
82879 ) <> 'Y'
82880 THEN
82881 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
82882 trace
82883 (p_msg => 'Trancaction revesal option is not Y '
82884 ,p_level => C_LEVEL_STATEMENT
82885 ,p_module => l_log_module);
82886 END IF;
82887
82888 --
82889 -- set the XLA_AE_JOURNAL_ENTRY_PKG.g_global_status to C_VALID (0)
82890 --
82891 XLA_AE_JOURNAL_ENTRY_PKG.g_global_status := XLA_AE_JOURNAL_ENTRY_PKG.C_VALID;
82892 --
82893 -- set event info as cache for other routines to refer event attributes
82894 --
82895
82896 IF l_event_id <> NVL(l_previous_event_id, -1) THEN
82897 l_previous_event_id := l_event_id;
82898
82899 XLA_AE_JOURNAL_ENTRY_PKG.set_event_info
82900 (p_application_id => p_application_id
82901 ,p_primary_ledger_id => p_primary_ledger_id
82902 ,p_base_ledger_id => p_base_ledger_id
82903 ,p_target_ledger_id => p_target_ledger_id
82904 ,p_entity_id => l_array_entity_id(Idx)
82905 ,p_legal_entity_id => l_array_legal_entity_id(Idx)
82906 ,p_entity_code => l_array_entity_code(Idx)
82907 ,p_transaction_num => l_array_transaction_num(Idx)
82908 ,p_event_id => l_array_event_id(Idx)
82909 ,p_event_class_code => l_array_class_code(Idx)
82910 ,p_event_type_code => l_array_event_type(Idx)
82911 ,p_event_number => l_array_event_number(Idx)
82912 ,p_event_date => l_array_event_date(Idx)
82913 ,p_transaction_date => l_array_transaction_date(Idx)
82914 ,p_reference_num_1 => l_array_reference_num_1(Idx)
82915 ,p_reference_num_2 => l_array_reference_num_2(Idx)
82916 ,p_reference_num_3 => l_array_reference_num_3(Idx)
82917 ,p_reference_num_4 => l_array_reference_num_4(Idx)
82918 ,p_reference_char_1 => l_array_reference_char_1(Idx)
82919 ,p_reference_char_2 => l_array_reference_char_2(Idx)
82920 ,p_reference_char_3 => l_array_reference_char_3(Idx)
82921 ,p_reference_char_4 => l_array_reference_char_4(Idx)
82922 ,p_reference_date_1 => l_array_reference_date_1(Idx)
82923 ,p_reference_date_2 => l_array_reference_date_2(Idx)
82924 ,p_reference_date_3 => l_array_reference_date_3(Idx)
82925 ,p_reference_date_4 => l_array_reference_date_4(Idx)
82926 ,p_event_created_by => l_array_event_created_by(Idx)
82927 ,p_budgetary_control_flag => l_array_budgetary_control_flag(Idx));
82928 --
82929 END IF;
82930
82931
82932
82933 --
82934 xla_ae_lines_pkg.SetExtractLine(p_extract_line => l_array_extract_line_num(Idx));
82935
82936 l_acct_reversal_source := SUBSTR(l_array_source_85(Idx), 1,30);
82937
82938 IF l_continue_with_lines THEN
82939 IF NVL(l_acct_reversal_source, 'N') NOT IN ('N','Y','B') THEN
82940 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
82941
82942 xla_accounting_err_pkg.build_message
82943 (p_appli_s_name => 'XLA'
82944 ,p_msg_name => 'XLA_AP_INVALID_REVERSAL_OPTION'
82945 ,p_token_1 => 'LINE_NUMBER'
82949 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
82946 ,p_value_1 => l_array_extract_line_num(Idx)
82947 ,p_token_2 => 'PRODUCT_NAME'
82948 ,p_value_2 => xla_ae_journal_entry_pkg.g_cache_event.application_name
82950 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
82951 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id);
82952
82953 ELSIF NVL(l_acct_reversal_source, 'N') IN ('Y','B') THEN
82954 --
82955 -- following sets the accounting attributes needed to reverse
82956 -- accounting for a distributeion
82957 --
82958
82959 --
82960 -- 5217187
82961 --
82962 l_rec_rev_acct_attrs.array_acct_attr_code(1):= 'GL_DATE';
82963 l_rec_rev_acct_attrs.array_date_value(1) := XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(
82964 g_array_event(l_event_id).array_value_num('header_index'));
82965 --
82966 --
82967
82968 l_rec_rev_acct_attrs.array_acct_attr_code(2) := 'ACCOUNTING_REVERSAL_OPTION';
82969 l_rec_rev_acct_attrs.array_char_value(2) := l_array_source_85(Idx);
82970 l_rec_rev_acct_attrs.array_acct_attr_code(3) := 'DISTRIBUTION_IDENTIFIER_1';
82971 l_rec_rev_acct_attrs.array_num_value(3) := l_array_source_30(Idx);
82972 l_rec_rev_acct_attrs.array_acct_attr_code(4) := 'DISTRIBUTION_IDENTIFIER_2';
82973 l_rec_rev_acct_attrs.array_char_value(4) := l_array_source_96(Idx);
82974 l_rec_rev_acct_attrs.array_acct_attr_code(5) := 'DISTRIBUTION_TYPE';
82975 l_rec_rev_acct_attrs.array_char_value(5) := l_array_source_21(Idx);
82976 l_rec_rev_acct_attrs.array_acct_attr_code(6) := 'ENC_UPG_CR_ACCT_CLASS';
82977 l_rec_rev_acct_attrs.array_char_value(6) := l_array_source_97(Idx);
82978 l_rec_rev_acct_attrs.array_acct_attr_code(7) := 'ENC_UPG_CR_CCID';
82979 l_rec_rev_acct_attrs.array_num_value(7) := l_array_source_98(Idx);
82980 l_rec_rev_acct_attrs.array_acct_attr_code(8) := 'ENC_UPG_CR_ENTERED_AMT';
82981 l_rec_rev_acct_attrs.array_num_value(8) := l_array_source_57(Idx);
82982 l_rec_rev_acct_attrs.array_acct_attr_code(9) := 'ENC_UPG_CR_ENTERED_CURR';
82983 l_rec_rev_acct_attrs.array_char_value(9) := l_array_source_33(Idx);
82984 l_rec_rev_acct_attrs.array_acct_attr_code(10) := 'ENC_UPG_CR_LEDGER_AMT';
82985 l_rec_rev_acct_attrs.array_num_value(10) := l_array_source_99(Idx);
82986 l_rec_rev_acct_attrs.array_acct_attr_code(11) := 'ENC_UPG_DR_ACCT_CLASS';
82987 l_rec_rev_acct_attrs.array_char_value(11) := l_array_source_100(Idx);
82988 l_rec_rev_acct_attrs.array_acct_attr_code(12) := 'ENC_UPG_DR_CCID';
82989 l_rec_rev_acct_attrs.array_num_value(12) := l_array_source_101(Idx);
82990 l_rec_rev_acct_attrs.array_acct_attr_code(13) := 'ENC_UPG_DR_ENTERED_AMT';
82991 l_rec_rev_acct_attrs.array_num_value(13) := l_array_source_57(Idx);
82992 l_rec_rev_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_DR_ENTERED_CURR';
82993 l_rec_rev_acct_attrs.array_char_value(14) := l_array_source_33(Idx);
82994 l_rec_rev_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_DR_LEDGER_AMT';
82995 l_rec_rev_acct_attrs.array_num_value(15) := l_array_source_99(Idx);
82996 l_rec_rev_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_OPTION';
82997 l_rec_rev_acct_attrs.array_char_value(16) := l_array_source_102(Idx);
82998 l_rec_rev_acct_attrs.array_acct_attr_code(17) := 'REVERSED_DISTRIBUTION_ID1';
82999 l_rec_rev_acct_attrs.array_num_value(17) := l_array_source_103(Idx);
83000 l_rec_rev_acct_attrs.array_acct_attr_code(18) := 'REVERSED_DISTRIBUTION_ID2';
83001 l_rec_rev_acct_attrs.array_char_value(18) := l_array_source_104(Idx);
83002 l_rec_rev_acct_attrs.array_acct_attr_code(19) := 'REVERSED_DISTRIBUTION_TYPE';
83003 l_rec_rev_acct_attrs.array_char_value(19) := l_array_source_105(Idx);
83004 l_rec_rev_acct_attrs.array_acct_attr_code(20) := 'UPG_CR_ENC_TYPE_ID';
83005 l_rec_rev_acct_attrs.array_num_value(20) := l_array_source_106(Idx);
83006 l_rec_rev_acct_attrs.array_acct_attr_code(21) := 'UPG_DR_ENC_TYPE_ID';
83007 l_rec_rev_acct_attrs.array_num_value(21) := l_array_source_107(Idx);
83008
83009
83010 xla_ae_lines_pkg.SetAcctReversalAttrs
83011 (p_event_id => l_event_id
83012 ,p_rec_acct_attrs => l_rec_rev_acct_attrs
83013 ,p_calculate_acctd_flag => l_calculate_acctd_flag
83014 ,p_calculate_g_l_flag => l_calculate_g_l_flag);
83015 END IF;
83016
83017 IF NVL(l_acct_reversal_source, 'N') IN ('N','B') THEN
83018 l_actual_flag := NULL; l_actual_gain_loss_ref := '#####';
83019
83020 --
83021 AcctLineType_87 (
83022 p_application_id => p_application_id
83023 ,p_event_id => l_event_id
83024 ,p_calculate_acctd_flag => l_calculate_acctd_flag
83025 ,p_calculate_g_l_flag => l_calculate_g_l_flag
83026 ,p_actual_flag => l_actual_flag
83027 ,p_balance_type_code => l_balance_type_code
83028 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
83029
83030 , p_source_2 => l_array_source_2(Idx)
83031 , p_source_3 => l_array_source_3(Idx)
83032 , p_source_4 => l_array_source_4(Idx)
83033 , p_source_5 => l_array_source_5(Idx)
83034 , p_source_21 => l_array_source_21(Idx)
83035 , p_source_30 => l_array_source_30(Idx)
83036 , p_source_33 => l_array_source_33(Idx)
83037 , p_source_57 => l_array_source_57(Idx)
83038 , p_source_83 => l_array_source_83(Idx)
83039 , p_source_84 => l_array_source_84(Idx)
83040 , p_source_85 => l_array_source_85(Idx)
83041 , p_source_86 => l_array_source_86(Idx)
83042 , p_source_87 => l_array_source_87(Idx)
83043 , p_source_88 => l_array_source_88(Idx)
83044 , p_source_89 => l_array_source_89(Idx)
83045 , p_source_90 => l_array_source_90(Idx)
83046 , p_source_91 => l_array_source_91(Idx)
83047 , p_source_92 => l_array_source_92(Idx)
83048 , p_source_93 => l_array_source_93(Idx)
83049 , p_source_94 => l_array_source_94(Idx)
83053 , p_source_98 => l_array_source_98(Idx)
83050 , p_source_95 => l_array_source_95(Idx)
83051 , p_source_96 => l_array_source_96(Idx)
83052 , p_source_97 => l_array_source_97(Idx)
83054 , p_source_99 => l_array_source_99(Idx)
83055 , p_source_100 => l_array_source_100(Idx)
83056 , p_source_101 => l_array_source_101(Idx)
83057 , p_source_102 => l_array_source_102(Idx)
83058 , p_source_103 => l_array_source_103(Idx)
83059 , p_source_104 => l_array_source_104(Idx)
83060 , p_source_105 => l_array_source_105(Idx)
83061 , p_source_106 => l_array_source_106(Idx)
83062 , p_source_107 => l_array_source_107(Idx)
83063 );
83064 If(l_balance_type_code = 'A') THEN
83065 l_actual_gain_loss_ref := l_gain_or_loss_ref;
83066 END IF;
83067
83068 --
83069
83070
83071 --
83072 AcctLineType_88 (
83073 p_application_id => p_application_id
83074 ,p_event_id => l_event_id
83075 ,p_calculate_acctd_flag => l_calculate_acctd_flag
83076 ,p_calculate_g_l_flag => l_calculate_g_l_flag
83077 ,p_actual_flag => l_actual_flag
83078 ,p_balance_type_code => l_balance_type_code
83079 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
83080
83081 , p_source_2 => l_array_source_2(Idx)
83082 , p_source_3 => l_array_source_3(Idx)
83083 , p_source_4 => l_array_source_4(Idx)
83084 , p_source_5 => l_array_source_5(Idx)
83085 , p_source_21 => l_array_source_21(Idx)
83086 , p_source_30 => l_array_source_30(Idx)
83087 , p_source_33 => l_array_source_33(Idx)
83088 , p_source_57 => l_array_source_57(Idx)
83089 , p_source_83 => l_array_source_83(Idx)
83090 , p_source_84 => l_array_source_84(Idx)
83091 , p_source_85 => l_array_source_85(Idx)
83092 , p_source_86 => l_array_source_86(Idx)
83093 , p_source_87 => l_array_source_87(Idx)
83094 , p_source_88 => l_array_source_88(Idx)
83095 , p_source_89 => l_array_source_89(Idx)
83096 , p_source_90 => l_array_source_90(Idx)
83097 , p_source_91 => l_array_source_91(Idx)
83098 , p_source_92 => l_array_source_92(Idx)
83099 , p_source_93 => l_array_source_93(Idx)
83100 , p_source_94 => l_array_source_94(Idx)
83101 , p_source_95 => l_array_source_95(Idx)
83102 , p_source_96 => l_array_source_96(Idx)
83103 , p_source_97 => l_array_source_97(Idx)
83104 , p_source_98 => l_array_source_98(Idx)
83105 , p_source_99 => l_array_source_99(Idx)
83106 , p_source_100 => l_array_source_100(Idx)
83107 , p_source_101 => l_array_source_101(Idx)
83108 , p_source_102 => l_array_source_102(Idx)
83109 , p_source_103 => l_array_source_103(Idx)
83110 , p_source_104 => l_array_source_104(Idx)
83111 , p_source_105 => l_array_source_105(Idx)
83112 , p_source_106 => l_array_source_106(Idx)
83113 , p_source_107 => l_array_source_107(Idx)
83114 , p_source_108 => l_array_source_108(Idx)
83115 , p_source_108_meaning => l_array_source_108_meaning(Idx)
83116 );
83117 If(l_balance_type_code = 'A') THEN
83118 l_actual_gain_loss_ref := l_gain_or_loss_ref;
83119 END IF;
83120
83121 --
83122
83123
83124 --
83125 AcctLineType_89 (
83126 p_application_id => p_application_id
83127 ,p_event_id => l_event_id
83128 ,p_calculate_acctd_flag => l_calculate_acctd_flag
83129 ,p_calculate_g_l_flag => l_calculate_g_l_flag
83130 ,p_actual_flag => l_actual_flag
83131 ,p_balance_type_code => l_balance_type_code
83132 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
83133
83134 , p_source_2 => l_array_source_2(Idx)
83135 , p_source_3 => l_array_source_3(Idx)
83136 , p_source_4 => l_array_source_4(Idx)
83137 , p_source_5 => l_array_source_5(Idx)
83138 , p_source_11 => l_array_source_11(Idx)
83139 , p_source_14 => l_array_source_14(Idx)
83140 , p_source_21 => l_array_source_21(Idx)
83141 , p_source_30 => l_array_source_30(Idx)
83142 , p_source_33 => l_array_source_33(Idx)
83143 , p_source_57 => l_array_source_57(Idx)
83144 , p_source_83 => l_array_source_83(Idx)
83145 , p_source_84 => l_array_source_84(Idx)
83146 , p_source_85 => l_array_source_85(Idx)
83147 , p_source_86 => l_array_source_86(Idx)
83148 , p_source_87 => l_array_source_87(Idx)
83149 , p_source_88 => l_array_source_88(Idx)
83150 , p_source_89 => l_array_source_89(Idx)
83151 , p_source_90 => l_array_source_90(Idx)
83152 , p_source_91 => l_array_source_91(Idx)
83153 , p_source_92 => l_array_source_92(Idx)
83154 , p_source_93 => l_array_source_93(Idx)
83155 , p_source_94 => l_array_source_94(Idx)
83156 , p_source_95 => l_array_source_95(Idx)
83157 , p_source_96 => l_array_source_96(Idx)
83158 , p_source_97 => l_array_source_97(Idx)
83159 , p_source_98 => l_array_source_98(Idx)
83160 , p_source_99 => l_array_source_99(Idx)
83161 , p_source_100 => l_array_source_100(Idx)
83162 , p_source_101 => l_array_source_101(Idx)
83163 , p_source_102 => l_array_source_102(Idx)
83164 , p_source_103 => l_array_source_103(Idx)
83165 , p_source_104 => l_array_source_104(Idx)
83166 , p_source_105 => l_array_source_105(Idx)
83167 , p_source_106 => l_array_source_106(Idx)
83168 , p_source_107 => l_array_source_107(Idx)
83169 , p_source_108 => l_array_source_108(Idx)
83170 , p_source_108_meaning => l_array_source_108_meaning(Idx)
83171 );
83172 If(l_balance_type_code = 'A') THEN
83173 l_actual_gain_loss_ref := l_gain_or_loss_ref;
83174 END IF;
83175
83176 --
83177
83178
83179 --
83180 AcctLineType_95 (
83181 p_application_id => p_application_id
83182 ,p_event_id => l_event_id
83183 ,p_calculate_acctd_flag => l_calculate_acctd_flag
83184 ,p_calculate_g_l_flag => l_calculate_g_l_flag
83185 ,p_actual_flag => l_actual_flag
83186 ,p_balance_type_code => l_balance_type_code
83187 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
83188
83189 , p_source_2 => l_array_source_2(Idx)
83190 , p_source_3 => l_array_source_3(Idx)
83191 , p_source_4 => l_array_source_4(Idx)
83192 , p_source_5 => l_array_source_5(Idx)
83196 , p_source_57 => l_array_source_57(Idx)
83193 , p_source_21 => l_array_source_21(Idx)
83194 , p_source_30 => l_array_source_30(Idx)
83195 , p_source_33 => l_array_source_33(Idx)
83197 , p_source_83 => l_array_source_83(Idx)
83198 , p_source_85 => l_array_source_85(Idx)
83199 , p_source_86 => l_array_source_86(Idx)
83200 , p_source_87 => l_array_source_87(Idx)
83201 , p_source_88 => l_array_source_88(Idx)
83202 , p_source_89 => l_array_source_89(Idx)
83203 , p_source_90 => l_array_source_90(Idx)
83204 , p_source_96 => l_array_source_96(Idx)
83205 , p_source_97 => l_array_source_97(Idx)
83206 , p_source_98 => l_array_source_98(Idx)
83207 , p_source_99 => l_array_source_99(Idx)
83208 , p_source_100 => l_array_source_100(Idx)
83209 , p_source_101 => l_array_source_101(Idx)
83210 , p_source_102 => l_array_source_102(Idx)
83211 , p_source_103 => l_array_source_103(Idx)
83212 , p_source_104 => l_array_source_104(Idx)
83213 , p_source_105 => l_array_source_105(Idx)
83214 , p_source_106 => l_array_source_106(Idx)
83215 , p_source_107 => l_array_source_107(Idx)
83216 , p_source_109 => l_array_source_109(Idx)
83217 , p_source_110 => l_array_source_110(Idx)
83218 , p_source_111 => l_array_source_111(Idx)
83219 , p_source_112 => l_array_source_112(Idx)
83220 , p_source_113 => l_array_source_113(Idx)
83221 , p_source_114 => l_array_source_114(Idx)
83222 );
83223 If(l_balance_type_code = 'A') THEN
83224 l_actual_gain_loss_ref := l_gain_or_loss_ref;
83225 END IF;
83226
83227 --
83228
83229
83230 --
83231 AcctLineType_97 (
83232 p_application_id => p_application_id
83233 ,p_event_id => l_event_id
83234 ,p_calculate_acctd_flag => l_calculate_acctd_flag
83235 ,p_calculate_g_l_flag => l_calculate_g_l_flag
83236 ,p_actual_flag => l_actual_flag
83237 ,p_balance_type_code => l_balance_type_code
83238 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
83239
83240 , p_source_2 => l_array_source_2(Idx)
83241 , p_source_3 => l_array_source_3(Idx)
83242 , p_source_4 => l_array_source_4(Idx)
83243 , p_source_5 => l_array_source_5(Idx)
83244 , p_source_21 => l_array_source_21(Idx)
83245 , p_source_30 => l_array_source_30(Idx)
83246 , p_source_33 => l_array_source_33(Idx)
83247 , p_source_57 => l_array_source_57(Idx)
83248 , p_source_83 => l_array_source_83(Idx)
83249 , p_source_85 => l_array_source_85(Idx)
83250 , p_source_86 => l_array_source_86(Idx)
83251 , p_source_87 => l_array_source_87(Idx)
83252 , p_source_88 => l_array_source_88(Idx)
83253 , p_source_89 => l_array_source_89(Idx)
83254 , p_source_90 => l_array_source_90(Idx)
83255 , p_source_96 => l_array_source_96(Idx)
83256 , p_source_97 => l_array_source_97(Idx)
83257 , p_source_98 => l_array_source_98(Idx)
83258 , p_source_99 => l_array_source_99(Idx)
83259 , p_source_100 => l_array_source_100(Idx)
83260 , p_source_101 => l_array_source_101(Idx)
83261 , p_source_102 => l_array_source_102(Idx)
83262 , p_source_103 => l_array_source_103(Idx)
83263 , p_source_104 => l_array_source_104(Idx)
83264 , p_source_105 => l_array_source_105(Idx)
83265 , p_source_106 => l_array_source_106(Idx)
83266 , p_source_107 => l_array_source_107(Idx)
83267 , p_source_109 => l_array_source_109(Idx)
83268 , p_source_110 => l_array_source_110(Idx)
83269 , p_source_111 => l_array_source_111(Idx)
83270 , p_source_112 => l_array_source_112(Idx)
83271 , p_source_113 => l_array_source_113(Idx)
83272 , p_source_114 => l_array_source_114(Idx)
83273 );
83274 If(l_balance_type_code = 'A') THEN
83275 l_actual_gain_loss_ref := l_gain_or_loss_ref;
83276 END IF;
83277
83278 --
83279
83280 -- only execute it if calculate g/l flag is yes, and primary or secondary ledger
83281 -- or secondary ledger that has different currency with primary
83282 -- or alc that is calculated by sla
83283 IF (((l_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
83284 (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'))
83285
83286 -- IF((l_calculate_g_l_flag='Y' or XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id <>
83287 -- XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id)
83288 AND (l_actual_flag = 'A')) THEN
83289 XLA_AE_LINES_PKG.CreateGainOrLossLines(
83290 p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
83291 ,p_application_id => p_application_id
83292 ,p_amb_context_code => 'DEFAULT'
83293 ,p_entity_code => xla_ae_journal_entry_pkg.g_cache_event.entity_code
83294 ,p_event_class_code => C_EVENT_CLASS_CODE
83295 ,p_event_type_code => C_EVENT_TYPE_CODE
83296
83297 ,p_gain_ccid => -1
83298 ,p_loss_ccid => -1
83299
83300 ,p_actual_flag => l_actual_flag
83301 ,p_enc_flag => null
83302 ,p_actual_g_l_ref => l_actual_gain_loss_ref
83303 ,p_enc_g_l_ref => null
83304 );
83305 END IF;
83306 END IF;
83307 END IF;
83308
83309 ELSE
83310 --
83311 -- Bug 4872078 - Do nothing if the event is meant for transaction reversal
83312 --
83313 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
83314 trace
83315 (p_msg => 'Trancaction revesal option is Y'
83316 ,p_level => C_LEVEL_STATEMENT
83317 ,p_module => l_log_module);
83318 END IF;
83319 END IF;
83320
83321 END LOOP;
83322 l_result := XLA_AE_LINES_PKG.InsertLines ;
83323 end loop;
83324 close line_cur;
83325
83326
83327 --
83328 -- insert headers into xla_ae_headers_gt table
83329 --
83330 l_result := XLA_AE_HEADER_PKG.InsertHeaders ;
83331
83335
83332 -- insert into errors table here.
83333
83334 END LOOP;
83336 --
83337 -- 4865292
83338 --
83339 -- Compare g_hdr_extract_count with event count in
83340 -- CreateHeadersAndLines.
83341 --
83342 g_hdr_extract_count := g_hdr_extract_count + header_cur%ROWCOUNT;
83343
83344 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
83345 trace (p_msg => '# rows extracted from header extract objects '
83346 || ' (running total): '
83347 || g_hdr_extract_count
83348 ,p_level => C_LEVEL_STATEMENT
83349 ,p_module => l_log_module);
83350 END IF;
83351
83352 CLOSE header_cur;
83353 --
83354
83355 --
83356 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
83357 trace
83358 (p_msg => 'END of EventClass_110'
83359 ,p_level => C_LEVEL_PROCEDURE
83360 ,p_module => l_log_module);
83361 END IF;
83362 --
83363 RETURN l_result;
83364 EXCEPTION
83365 WHEN xla_exceptions_pkg.application_exception THEN
83366
83367 IF header_cur%ISOPEN THEN CLOSE header_cur; END IF;
83368
83369
83370 IF line_cur%ISOPEN THEN CLOSE line_cur; END IF;
83371
83372 RAISE;
83373
83374 WHEN NO_DATA_FOUND THEN
83375
83376 IF header_cur%ISOPEN THEN CLOSE header_cur; END IF;
83377 IF line_cur%ISOPEN THEN CLOSE line_cur; END IF;
83378
83379 FOR header_record IN header_cur
83380 LOOP
83381 l_array_header_events(header_record.event_id) := header_record.event_id;
83382 END LOOP;
83383
83384 l_first_event_id := l_array_header_events(l_array_header_events.FIRST);
83385 l_last_event_id := l_array_header_events(l_array_header_events.LAST);
83386
83387 fnd_file.put_line(fnd_file.LOG, ' ');
83388 fnd_file.put_line(fnd_file.LOG, '***************************************************************************');
83389 fnd_file.put_line(fnd_file.LOG, 'EVENT CLASS CODE = ' || C_EVENT_CLASS_CODE );
83390 fnd_file.put_line(fnd_file.LOG, 'The following events are present in the line extract but MISSING in the header extract: ');
83391
83392 FOR line_record IN line_cur(l_first_event_id, l_last_event_id)
83393 LOOP
83394 IF (NOT l_array_header_events.EXISTS(line_record.event_id)) AND (NOT l_array_duplicate_checker.EXISTS(line_record.event_id)) THEN
83395 fnd_file.put_line(fnd_file.log, 'Event_id = ' || line_record.event_id);
83396 l_array_duplicate_checker(line_record.event_id) := line_record.event_id;
83397 END IF;
83398 END LOOP;
83399
83400 fnd_file.put_line(fnd_file.LOG, '***************************************************************************');
83401 fnd_file.put_line(fnd_file.LOG, ' ');
83402
83403
83404 xla_exceptions_pkg.raise_message
83405 (p_location => 'XLA_00200_AAD_S_000006_BC_PKG.EventClass_110');
83406
83407
83408 WHEN OTHERS THEN
83409 xla_exceptions_pkg.raise_message
83410 (p_location => 'XLA_00200_AAD_S_000006_BC_PKG.EventClass_110');
83411 END EventClass_110;
83412 --
83413
83414 --
83415 --+============================================+
83416 --| |
83417 --| PRIVATE FUNCTION |
83418 --| |
83419 --+============================================+
83420 --
83421 FUNCTION CreateHeadersAndLines
83422 (p_application_id IN NUMBER
83423 ,p_base_ledger_id IN NUMBER
83424 ,p_target_ledger_id IN NUMBER
83425 ,p_pad_start_date IN DATE
83426 ,p_pad_end_date IN DATE
83427 ,p_primary_ledger_id IN NUMBER)
83428 RETURN BOOLEAN IS
83429 l_created BOOLEAN:=FALSE;
83430 l_event_id NUMBER;
83431 l_event_date DATE;
83432 l_language VARCHAR2(30);
83433 l_currency_code VARCHAR2(30);
83434 l_sla_ledger_id NUMBER;
83435 l_log_module VARCHAR2(240);
83436
83437 BEGIN
83438 --
83439 IF g_log_enabled THEN
83440 l_log_module := C_DEFAULT_MODULE||'.CreateHeadersAndLines';
83441 END IF;
83442 --
83443 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
83444 trace
83445 (p_msg => 'BEGIN of CreateHeadersAndLines'
83446 ,p_level => C_LEVEL_PROCEDURE
83447 ,p_module => l_log_module);
83448 END IF;
83449
83450 l_language := xla_ae_journal_entry_pkg.g_cache_ledgers_info.description_language;
83451 l_currency_code := xla_ae_journal_entry_pkg.g_cache_ledgers_info.currency_code;
83452 l_sla_ledger_id := xla_ae_journal_entry_pkg.g_cache_ledgers_info.sla_ledger_id;
83453
83454 --
83455 -- initialize array of lines with NULL
83456 --
83457 xla_ae_lines_pkg.SetNullLine;
83458
83459 --
83460 -- initialize header extract count -- Bug 4865292
83461 --
83462 g_hdr_extract_count:= 0;
83463
83464
83465 l_created := EventClass_103(
83466 p_application_id => p_application_id
83467 , p_base_ledger_id => p_base_ledger_id
83468 , p_target_ledger_id => p_target_ledger_id
83469 , p_language => l_language
83470 , p_currency_code => l_currency_code
83471 , p_sla_ledger_id => l_sla_ledger_id
83472 , p_pad_start_date => p_pad_start_date
83473 , p_pad_end_date => p_pad_end_date
83474 , p_primary_ledger_id => p_primary_ledger_id
83475 );
83476
83477
83478
83479 IF ( g_diagnostics_mode ='Y' ) THEN
83480
83481 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
83482 trace
83483 (p_msg => 'CALL Transaction Objects Diagnostics'
83484 ,p_level => C_LEVEL_STATEMENT
83485 ,p_module => l_log_module);
83486
83487 END IF;
83488
83492 , p_sla_ledger_id => l_sla_ledger_id
83489 insert_sources_103(
83490 p_target_ledger_id => p_target_ledger_id
83491 , p_language => l_language
83493 , p_pad_start_date => p_pad_start_date
83494 , p_pad_end_date => p_pad_end_date
83495 );
83496
83497 END IF;
83498
83499 l_created := EventClass_104(
83500 p_application_id => p_application_id
83501 , p_base_ledger_id => p_base_ledger_id
83502 , p_target_ledger_id => p_target_ledger_id
83503 , p_language => l_language
83504 , p_currency_code => l_currency_code
83505 , p_sla_ledger_id => l_sla_ledger_id
83506 , p_pad_start_date => p_pad_start_date
83507 , p_pad_end_date => p_pad_end_date
83508 , p_primary_ledger_id => p_primary_ledger_id
83509 );
83510
83511
83512
83513 IF ( g_diagnostics_mode ='Y' ) THEN
83514
83515 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
83516 trace
83517 (p_msg => 'CALL Transaction Objects Diagnostics'
83518 ,p_level => C_LEVEL_STATEMENT
83519 ,p_module => l_log_module);
83520
83521 END IF;
83522
83523 insert_sources_104(
83524 p_target_ledger_id => p_target_ledger_id
83525 , p_language => l_language
83526 , p_sla_ledger_id => l_sla_ledger_id
83527 , p_pad_start_date => p_pad_start_date
83528 , p_pad_end_date => p_pad_end_date
83529 );
83530
83531 END IF;
83532
83533 l_created := EventClass_105(
83534 p_application_id => p_application_id
83535 , p_base_ledger_id => p_base_ledger_id
83536 , p_target_ledger_id => p_target_ledger_id
83537 , p_language => l_language
83538 , p_currency_code => l_currency_code
83539 , p_sla_ledger_id => l_sla_ledger_id
83540 , p_pad_start_date => p_pad_start_date
83541 , p_pad_end_date => p_pad_end_date
83542 , p_primary_ledger_id => p_primary_ledger_id
83543 );
83544
83545
83546
83547 IF ( g_diagnostics_mode ='Y' ) THEN
83548
83549 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
83550 trace
83551 (p_msg => 'CALL Transaction Objects Diagnostics'
83552 ,p_level => C_LEVEL_STATEMENT
83553 ,p_module => l_log_module);
83554
83555 END IF;
83556
83557 insert_sources_105(
83558 p_target_ledger_id => p_target_ledger_id
83559 , p_language => l_language
83560 , p_sla_ledger_id => l_sla_ledger_id
83561 , p_pad_start_date => p_pad_start_date
83562 , p_pad_end_date => p_pad_end_date
83563 );
83564
83565 END IF;
83566
83567 l_created := EventClass_106(
83568 p_application_id => p_application_id
83569 , p_base_ledger_id => p_base_ledger_id
83570 , p_target_ledger_id => p_target_ledger_id
83571 , p_language => l_language
83572 , p_currency_code => l_currency_code
83573 , p_sla_ledger_id => l_sla_ledger_id
83574 , p_pad_start_date => p_pad_start_date
83575 , p_pad_end_date => p_pad_end_date
83576 , p_primary_ledger_id => p_primary_ledger_id
83577 );
83578
83579
83580
83581 IF ( g_diagnostics_mode ='Y' ) THEN
83582
83583 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
83584 trace
83585 (p_msg => 'CALL Transaction Objects Diagnostics'
83586 ,p_level => C_LEVEL_STATEMENT
83587 ,p_module => l_log_module);
83588
83589 END IF;
83590
83591 insert_sources_106(
83592 p_target_ledger_id => p_target_ledger_id
83593 , p_language => l_language
83594 , p_sla_ledger_id => l_sla_ledger_id
83595 , p_pad_start_date => p_pad_start_date
83596 , p_pad_end_date => p_pad_end_date
83597 );
83598
83599 END IF;
83600
83601 l_created := EventClass_107(
83602 p_application_id => p_application_id
83603 , p_base_ledger_id => p_base_ledger_id
83604 , p_target_ledger_id => p_target_ledger_id
83605 , p_language => l_language
83606 , p_currency_code => l_currency_code
83607 , p_sla_ledger_id => l_sla_ledger_id
83608 , p_pad_start_date => p_pad_start_date
83609 , p_pad_end_date => p_pad_end_date
83610 , p_primary_ledger_id => p_primary_ledger_id
83611 );
83612
83613
83614
83615 IF ( g_diagnostics_mode ='Y' ) THEN
83616
83617 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
83618 trace
83619 (p_msg => 'CALL Transaction Objects Diagnostics'
83620 ,p_level => C_LEVEL_STATEMENT
83621 ,p_module => l_log_module);
83622
83623 END IF;
83624
83625 insert_sources_107(
83626 p_target_ledger_id => p_target_ledger_id
83627 , p_language => l_language
83628 , p_sla_ledger_id => l_sla_ledger_id
83629 , p_pad_start_date => p_pad_start_date
83630 , p_pad_end_date => p_pad_end_date
83631 );
83632
83633 END IF;
83634
83638 , p_target_ledger_id => p_target_ledger_id
83635 l_created := EventClass_108(
83636 p_application_id => p_application_id
83637 , p_base_ledger_id => p_base_ledger_id
83639 , p_language => l_language
83640 , p_currency_code => l_currency_code
83641 , p_sla_ledger_id => l_sla_ledger_id
83642 , p_pad_start_date => p_pad_start_date
83643 , p_pad_end_date => p_pad_end_date
83644 , p_primary_ledger_id => p_primary_ledger_id
83645 );
83646
83647
83648
83649 IF ( g_diagnostics_mode ='Y' ) THEN
83650
83651 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
83652 trace
83653 (p_msg => 'CALL Transaction Objects Diagnostics'
83654 ,p_level => C_LEVEL_STATEMENT
83655 ,p_module => l_log_module);
83656
83657 END IF;
83658
83659 insert_sources_108(
83660 p_target_ledger_id => p_target_ledger_id
83661 , p_language => l_language
83662 , p_sla_ledger_id => l_sla_ledger_id
83663 , p_pad_start_date => p_pad_start_date
83664 , p_pad_end_date => p_pad_end_date
83665 );
83666
83667 END IF;
83668
83669 l_created := EventClass_109(
83670 p_application_id => p_application_id
83671 , p_base_ledger_id => p_base_ledger_id
83672 , p_target_ledger_id => p_target_ledger_id
83673 , p_language => l_language
83674 , p_currency_code => l_currency_code
83675 , p_sla_ledger_id => l_sla_ledger_id
83676 , p_pad_start_date => p_pad_start_date
83677 , p_pad_end_date => p_pad_end_date
83678 , p_primary_ledger_id => p_primary_ledger_id
83679 );
83680
83681
83682
83683 IF ( g_diagnostics_mode ='Y' ) THEN
83684
83685 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
83686 trace
83687 (p_msg => 'CALL Transaction Objects Diagnostics'
83688 ,p_level => C_LEVEL_STATEMENT
83689 ,p_module => l_log_module);
83690
83691 END IF;
83692
83693 insert_sources_109(
83694 p_target_ledger_id => p_target_ledger_id
83695 , p_language => l_language
83696 , p_sla_ledger_id => l_sla_ledger_id
83697 , p_pad_start_date => p_pad_start_date
83698 , p_pad_end_date => p_pad_end_date
83699 );
83700
83701 END IF;
83702
83703 l_created := EventClass_110(
83704 p_application_id => p_application_id
83705 , p_base_ledger_id => p_base_ledger_id
83706 , p_target_ledger_id => p_target_ledger_id
83707 , p_language => l_language
83708 , p_currency_code => l_currency_code
83709 , p_sla_ledger_id => l_sla_ledger_id
83710 , p_pad_start_date => p_pad_start_date
83711 , p_pad_end_date => p_pad_end_date
83712 , p_primary_ledger_id => p_primary_ledger_id
83713 );
83714
83715
83716
83717 IF ( g_diagnostics_mode ='Y' ) THEN
83718
83719 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
83720 trace
83721 (p_msg => 'CALL Transaction Objects Diagnostics'
83722 ,p_level => C_LEVEL_STATEMENT
83723 ,p_module => l_log_module);
83724
83725 END IF;
83726
83727 insert_sources_110(
83728 p_target_ledger_id => p_target_ledger_id
83729 , p_language => l_language
83730 , p_sla_ledger_id => l_sla_ledger_id
83731 , p_pad_start_date => p_pad_start_date
83732 , p_pad_end_date => p_pad_end_date
83733 );
83734
83735 END IF;
83736
83737
83738 --
83739 -- Bug 4865292
83740 -- When the number of events and that of header extract do not match,
83741 -- set the no header extract flag to indicate there are some issues
83742 -- in header extract.
83743 --
83744 -- Event count context is set in xla_accounting_pkg.unit_processor.
83745 -- Build_Message for this error is called in xla_accounting_pkg.post_accounting
83746 -- to report it as a general error.
83747 --
83748 IF xla_context_pkg.get_event_count_context <> g_hdr_extract_count
83749 AND xla_context_pkg.get_event_nohdr_context <> 'Y' THEN
83750
83751 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
83752 trace
83753 (p_msg => '# of extracted headers and events does not match'
83754 ,p_level => C_LEVEL_STATEMENT
83755 ,p_module => l_log_module);
83756
83757 trace
83758 (p_msg => '# of extracted headers: '
83759 ||g_hdr_extract_count
83760 ,p_level => C_LEVEL_STATEMENT
83761 ,p_module => l_log_module);
83762
83763 trace
83764 (p_msg => '# of events in xla_events_gt: '
83765 ||xla_context_pkg.get_event_count_context
83766 ,p_level => C_LEVEL_STATEMENT
83767 ,p_module => l_log_module);
83768
83769 trace
83770 (p_msg => 'Event No Header Extract Context: '
83771 ||xla_context_pkg.get_event_nohdr_context
83772 ,p_level => C_LEVEL_STATEMENT
83773 ,p_module => l_log_module);
83774
83775 END IF;
83776
83777
83778 xla_context_pkg.set_event_nohdr_context
83779 (p_nohdr_extract_flag => 'Y'
83783 trace
83780 ,p_client_id => sys_context('USERENV','CLIENT_IDENTIFIER'));
83781
83782 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
83784 (p_msg => 'No Header Extract Flag is set to Y'
83785 ,p_level => C_LEVEL_STATEMENT
83786 ,p_module => l_log_module);
83787 END IF;
83788
83789 END IF;
83790
83791 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
83792 trace
83793 (p_msg => 'END of CreateHeadersAndLines'
83794 ,p_level => C_LEVEL_PROCEDURE
83795 ,p_module => l_log_module);
83796 END IF;
83797
83798 RETURN l_created;
83799 EXCEPTION
83800 WHEN xla_exceptions_pkg.application_exception THEN
83801 RAISE;
83802 WHEN OTHERS THEN
83803 xla_exceptions_pkg.raise_message
83804 (p_location => 'XLA_00200_AAD_S_000006_BC_PKG.CreateHeadersAndLines');
83805 END CreateHeadersAndLines;
83806 --
83807 --
83808
83809 --
83810 --+============================================+
83811 --| |
83812 --| PUBLIC FUNCTION |
83813 --| |
83814 --+============================================+
83815 --
83816 FUNCTION CreateJournalEntries
83817 (p_application_id IN NUMBER
83818 ,p_base_ledger_id IN NUMBER
83819 ,p_pad_start_date IN DATE
83820 ,p_pad_end_date IN DATE
83821 ,p_primary_ledger_id IN NUMBER)
83822 RETURN NUMBER IS
83823 l_log_module VARCHAR2(240);
83824 l_array_ledgers xla_accounting_cache_pkg.t_array_ledger_id;
83825 l_temp_result BOOLEAN;
83826 l_result NUMBER;
83827 BEGIN
83828 --
83829 IF g_log_enabled THEN
83830 l_log_module := C_DEFAULT_MODULE||'.CreateJournalEntries';
83831 END IF;
83832 --
83833 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
83834 trace
83835 (p_msg => 'BEGIN of CreateJournalEntries'||
83836 ' - p_base_ledger_id = '||TO_CHAR(p_base_ledger_id)
83837 ,p_level => C_LEVEL_PROCEDURE
83838 ,p_module => l_log_module);
83839
83840 END IF;
83841
83842 --
83843 g_diagnostics_mode:= xla_accounting_engine_pkg.g_diagnostics_mode;
83844
83845 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
83846 trace
83847 (p_msg => 'g_diagnostics_mode = '||g_diagnostics_mode
83848 ,p_level => C_LEVEL_STATEMENT
83849 ,p_module => l_log_module);
83850 END IF;
83851 --
83852 xla_ae_journal_entry_pkg.SetProductAcctDefinition
83853 (p_product_rule_code => 'AP_ENC_ACCRUAL'
83854 ,p_product_rule_type_code => 'S'
83855 ,p_product_rule_version => ''
83856 ,p_product_rule_name => 'Encumbrance Accrual'
83857 ,p_amb_context_code => 'DEFAULT'
83858 );
83859
83860 l_array_ledgers :=
83861 xla_ae_journal_entry_pkg.GetAlternateCurrencyLedger
83862 (p_base_ledger_id => p_base_ledger_id);
83863
83864 FOR Idx IN 1 .. l_array_ledgers.COUNT LOOP
83865 l_temp_result :=
83866 XLA_AE_JOURNAL_ENTRY_PKG.GetLedgersInfo
83867 (p_application_id => p_application_id
83868 ,p_base_ledger_id => p_base_ledger_id
83869 ,p_target_ledger_id => l_array_ledgers(Idx)
83870 ,p_primary_ledger_id => p_primary_ledger_id
83871 ,p_pad_start_date => p_pad_start_date
83872 ,p_pad_end_date => p_pad_end_date);
83873
83874 l_temp_result :=
83875 l_temp_result AND
83876 CreateHeadersAndLines
83877 (p_application_id => p_application_id
83878 ,p_base_ledger_id => p_base_ledger_id
83879 ,p_target_ledger_id => l_array_ledgers(Idx)
83880 ,p_pad_start_date => p_pad_start_date
83881 ,p_pad_end_date => p_pad_end_date
83882 ,p_primary_ledger_id => p_primary_ledger_id
83883 );
83884 END LOOP;
83885
83886
83887 IF (g_diagnostics_mode = 'Y' AND
83888 C_LEVEL_UNEXPECTED >= g_log_level AND
83889 xla_environment_pkg.g_Req_Id IS NOT NULL ) THEN
83890
83891 xla_accounting_dump_pkg.acctg_event_extract_log(
83892 p_application_id => p_application_id
83893 ,p_request_id => xla_environment_pkg.g_Req_Id
83894 );
83895
83896 END IF;
83897
83898 CASE l_temp_result
83899 WHEN TRUE THEN l_result := 0;
83900 ELSE l_result := 2;
83901 END CASE;
83902
83903 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
83904 trace
83905 (p_msg => 'return value. = '||TO_CHAR(l_result)
83906 ,p_level => C_LEVEL_PROCEDURE
83907 ,p_module => l_log_module);
83908 trace
83909 (p_msg => 'END of CreateJournalEntries '
83910 ,p_level => C_LEVEL_PROCEDURE
83911 ,p_module => l_log_module);
83912 END IF;
83913
83914 RETURN l_result;
83915 EXCEPTION
83916 WHEN xla_exceptions_pkg.application_exception THEN
83917 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
83918 trace
83919 (p_msg => 'ERROR. = '||sqlerrm
83920 ,p_level => C_LEVEL_PROCEDURE
83921 ,p_module => l_log_module);
83922 END IF;
83923 RAISE;
83924 WHEN OTHERS THEN
83925 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
83926 trace
83927 (p_msg => 'ERROR. = '||sqlerrm
83928 ,p_level => C_LEVEL_PROCEDURE
83929 ,p_module => l_log_module);
83930 END IF;
83931 xla_exceptions_pkg.raise_message
83932 (p_location => 'XLA_00200_AAD_S_000006_BC_PKG.CreateJournalEntries');
83933 END CreateJournalEntries;
83934 --
83938 --
83935 --=============================================================================
83936 --
83937 --
83939 --
83940 --
83941 --
83942 --
83943 --
83944 --
83945 --
83946 --
83947 --
83948 --
83949 --
83950 --
83951 --
83952 --
83953 --
83954 --
83955 --
83956 --
83957 --
83958 --=============================================================================
83959 --=============================================================================
83960 -- *********** Initialization routine **********
83961 --=============================================================================
83962
83963 BEGIN
83964 g_log_level := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
83965 g_log_enabled := fnd_log.test
83966 (log_level => g_log_level
83967 ,module => C_DEFAULT_MODULE);
83968
83969 IF NOT g_log_enabled THEN
83970 g_log_level := C_LEVEL_LOG_DISABLED;
83971 END IF;
83972 --
83973 END XLA_00200_AAD_S_000006_BC_PKG;
83974 --